WSL实现桥接网络并固定IP地址

这篇具有很好参考价值的文章主要介绍了WSL实现桥接网络并固定IP地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        WSL在Linux开发过程中给开发人员提供了极大的便利,但同时存在一定的问题,就是IP地址不固定。对嵌入式开发人员来说,要求在固定的网络环境下对开发板进行调试,不太友好。因此笔者尝试对WSL实现桥接网络直连外部交换机,并关闭DHCP固定它的IP地址。

        要实现上述功能有两种方式,一种是临时对WSL的虚拟交换机进行修改,每次重启计算机后会重置;另一种是新建一个虚拟网络交换机,用来实现桥接网络,做好配置则可以保证其永久生效。

临时生效方案

        使用管理员权限运行powershell,运行“Get-NetAdapter | fl”获得网卡列表,从中选择需要桥接到的网卡(必须是物理网卡),笔者电脑上的物理网卡名叫WLAN。

Get-NetAdapter | fl

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

        在Windows系统下创建文本文档WSL2.bat,并填入以下内容(注意网卡名要填自己电脑上的,Ubuntu要改为自己主机上的子系统名称,且IP地址要和桥接的外部网卡在同一网段,路由地址应为外部网卡的网关地址)

powershell -c "Set-VMSwitch WSL -NetAdapterName WLAN"
wsl -d Ubuntu -u root ip addr del $(ip addr show eth0 ^| grep 'inet\b' ^| awk '{print $2}' ^| head -n 1) dev eth0
wsl -d Ubuntu -u root ip addr add 192.168.0.205/24 broadcast 192.168.0.255 dev eth0
wsl -d Ubuntu -u root ip route add 0.0.0.0/0 via 192.168.0.1 dev eth0
wsl -d Ubuntu -u root echo nameserver 192.168.0.1 ^> /etc/resolv.conf
wsl -d Ubuntu -u root service ssh start

保存后,使用管理员身份运行WSL2.bat,运行结束后,进入WSL子系统,运行ifconfig查看是否修改成功。

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

        如果修改成功则显示如上图,但这种修改是临时的,意味着下次重启计算机后,设置又会被复位,因此每次重启都需要以管理员身份运行上述脚本。如果嫌麻烦,可以将脚本配置进开机启动项,这样就不需要人为操作了。

永久生效方案

        上述临时生效方案虽然可以将脚本配置成开机启动解决,但终归有些不太方便。出于追求完美的考虑,笔者还是尝试桥接网络的永久生效方案。(注意,永久生效方案需要Hyper-V管理器的支持,配置不高的电脑慎用,会卡到怀疑人生,如果实在想尝试,建议在装好虚拟交换机后卸载Hyper-V管理器)

安装Hyper-V管理器

        如果是专业版Windows操作系统,可以直接在“控制面板->程序和功能->启用或关闭Windows功能”界面选中Hyper-V后,确定退出并重启计算机。

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

        如果是家庭版Windows系统,则需要通过脚本进行安装,创建如下脚本"Hyper-V.bat"

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt
for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hv.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
Pause

        保存后以管理员身份运行Hyper-V.bat,安装Hyper-V管理器,安装完成后重启计算机。

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

        安装完成后,可在Windows搜索栏内搜索Hyper-V管理器,打开后界面如上图所示。

创建桥接网络虚拟交换机

        按照下图标示的步骤创建虚拟交换机,将其命名为WSLBridge。

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

修改配置文件

        使用快捷键Win+R唤出运行窗口,在打开栏内填入%USERPROFILE%并在打开的文件夹内创建配置文件".wslconfig",并在该配置文件内输入以下内容。

[wsl2]
vmIdleTimeout=-1
networkingMode=bridged
vmSwitch=WSLBridge
ipv6=true
dhcp=false

        进入wsl的Ubuntu子系统,打开/etc/wsl.conf,若文件不存在则创建

sudo vim /etc/wsl.conf

        在wsl.conf配置文件内填入以下内容

[boot]
systemd = true
[network]
generateHosts = false
generateResolvConf = false

        检查/etc/systemd/network/,若文件夹下没有文件则创建一个配置文件my-network.conf,若文件夹下有文件则忽略此步骤。

sudo vim /etc/systemd/network/my-network.conf

        在my-network.conf文件内填入以下内容

[Match]
Name=en*

[Network]
DHCP=ipv4

        重启networkd

sudo systemctl restart systemd-networkd.service

        打开配置文件/etc/netplan/00-wsl2.yaml,如果不存在就创建。

sudo vim /etc/netplan/00-wsl2.yaml

        在00-wsl2.yaml文件内填入以下格式的内容

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [静态IP地址/子网掩码]
      gateway4: 网关IP地址
      nameservers:
        addresses: [DNS服务器IP地址1, DNS服务器IP地址2]

举例如下:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.0.205/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

        然后使用sudo netplan apply应用新的网络设置,重启WSL2子系统即可。(出现类似以下报错可忽略)

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

        重启后,wsl子系统的IP地址将不再随机变化,且直接桥接到外部局域网,可更方便地用于进行网络调试以及嵌入式开发。(用这个方案可永久生效,只需配置一次)

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维

卸载Hyper-V管理器

        由于Hyper-V管理器给笔者的笔记本电脑造成了较大的负荷,所以笔者决定将其卸载,以释放一定的计算资源。卸载Hyper-V后,之前创建的虚拟交换机仍然会正常工作,不受影响。

        在“控制面板->程序和功能->启用或关闭Windows功能”界面取消选中Hyper-V后,确定退出并重启计算机即可。

wsl 固定ip,嵌入式Linux开发,QEMU搭建ARM虚拟开发板,网络,linux,运维文章来源地址https://www.toymoban.com/news/detail-744383.html

到了这里,关于WSL实现桥接网络并固定IP地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux ubuntu20.04固定ip设置方法(静态ip)(没有以太网网络设置界面)(虚拟机的话需要设置为桥接模式)(ubuntu虚拟机固定ip地址)(VMware虚拟机)

    新买的浪潮服务器,想设置固定ip,不知咋滴,界面上没有以太网网络设置的地方,试了很多方法都不行 后来发现直接修改 /etc/netplan/ 下的配置文件,能修改成功,现把方法记录下来 首先查看服务器上以太网口,一般插上网线后,总有一个不一样的 我用 ifconfig 查看,这个网

    2024年02月03日
    浏览(76)
  • linux ubuntu20.04固定ip设置方法(静态ip)(没有以太网网络设置界面)(虚拟机需要设置为桥接模式)(ubuntu虚拟机设置固定ip地址)(VMware虚拟机)netplan修改ip

    新买的浪潮服务器,想设置固定ip,不知咋滴,界面上没有以太网网络设置的地方,试了很多方法都不行 后来发现直接修改 /etc/netplan/ 下的配置文件,能修改成功,现把方法记录下来 首先查看服务器上以太网口,一般插上网线后,总有一个不一样的 我用 ifconfig 查看,这个网

    2024年02月12日
    浏览(49)
  • WSL中为Ubuntu和Debian设置固定IP的终极指南

    WSL中为Ubuntu和Debian设置固定IP的终极指南 引言/背景 随着WSL(Windows Subsystem for Linux)的普及,越来越多的开发者开始在Windows上运行Linux子系统。但是,WSL的动态IP分配机制可能会给开发者带来一些麻烦。本文将提供在WSL中为Ubuntu和Debian设置固定IP的方法。

    2024年02月09日
    浏览(47)
  • Vmware 设置固定ip地址--桥接模式

    前言: 若虚拟机没有设置固定ip地址,每次关机重启后都会更新ip地址。导致连接工具得跟着一起修改,每次修改很烦。 之前使用NAT模式,因为使用此模式后,每次打开网页都会转几秒钟后才会显示网页。所以才使用桥接模式,记录分享。 1 首先打开Vmware,打开虚拟网络编辑器

    2024年02月09日
    浏览(47)
  • Windows中wsl2为虚拟Linux子系统设置固定IP的方法

    ​ 在使用Windows的wsl时,经常需要Linux子系统和Windows宿主机之间通信。但wsl默认情况下,Linux子系统和Windows vEthernet虚拟适配器的IP每次启动后都不一样。给很多应用带来不便。在百度上很多解决方法,经过之次尝试,认为下面的方法简单有效。 我解决此问题时的系统环境:

    2023年04月09日
    浏览(43)
  • Centos和redhat桥接模式下固定第二个ip地址为可查

    这里我们以centos为例子,redhat与其同理 第一步:进入到镜像network-scripts/目录下 第二步: 输入ls查看自己启用的网卡名字并进行编辑,一般centos默认使用的网卡是idcfg-ens33 第三步:纯净版的镜像因为没有下载vim编辑器因此我们在配置的时候先使用vi 第四步:需要我们更新的内

    2024年02月15日
    浏览(46)
  • 【WSL2】在Windows和wsl2中互相网络访问的优雅做法,不用再手动写死IP了

    目前在windows与windows的wsl系统之间,还无法通过相对较固定的方式来互相网络访问,通常需要使用各自的ip来互相访问,而ip可能不是很直观并且可能会有变更,当前教程解决了这个问题,通过hosts映射的方式打通wsl与windows宿主机之间的访问。 脚本的原理:在linux启动时或she

    2024年04月17日
    浏览(34)
  • 网络-IP地址(嵌入式学习)

    IP地址是Internet中主机的标识 IP地址(Internet Protocol Address 互联网国际地址)是一种在Internet上的给主机编址的方式,它主要是为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 IP地址为32位(IPv4)或者128位(IPv6) IPV4地址由网络号与主机

    2023年04月19日
    浏览(39)
  • Windows 11 设置 wsl-ubuntu 使用桥接网络

    在 Windows 11 下的 wsl-ubuntu 系统下学习 AI,内网的其他机器访问 wsl-ubuntu 中启动的服务非常麻烦,所以设置wsl-ubuntu 使用桥接网络,方便内网中其他机器进行访问。 如下图所示,启用 Hyper-V。 如下图所示。 使用快捷键Win+R唤出运行窗口,在打开栏内填入%USERPROFILE%并在打开的文件

    2024年02月02日
    浏览(43)
  • 设置 HP Laser 108w网络打印机固定IP地址

    打印机通电状态下,按住进纸键不松手,大概10几秒,灯闪烁时,松手,打印机会打印出两张纸,上面内容有这台机器的序列号,无线信号,密码等相关信息 打开电脑的 wifi ,找到 DIRECT -9E- HP Laser 108w连接,提示输入密码时,输入刚才打印的密码,浏览器输入打印的地址

    2024年02月09日
    浏览(146)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包