wsl2桥接网络固定ip毗连开发板(能上网)

打印 上一主题 下一主题

主题 1058|帖子 1058|积分 3174

wsl2桥接固定ip毗连开发板(能上网)

​ 最近跟着韦东山老师的视频学习嵌入式linux开发,因为平常在用wsl就没有再下载vm,在网上找了许多办法最终用于办理了,以是有了这篇文章记录下
1.创建Hyper-v虚拟互换机

​ 家庭版没有hyper-v,必要运行以下脚本安装,创建.bat文件,粘贴以下内容,以管理员方式运行
  1. pushd "%~dp0"
  2. dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt
  3. for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
  4. del hv.txt
  5. Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
  6. Pause
复制代码



2. 修改./.wslconfig文件

​ 位置在C:\Users\<用户名>\.wslconfig(没有就创建),粘贴以下内容
  1. [wsl2]
  2. vmIdleTimeout=-1
  3. networkingMode=bridged        # 联网方式选择桥接
  4. vmSwitch=WSLBridge # 刚才创建的虚拟交换机名
  5. ipv6=true
  6. dhcp=false        #关闭dhcp用来固定ip
复制代码
写入文件后进入wsl
                                              以下所有修改                            w                            s                            l                            文件的下令都必要利用                            s                            u                            d                            o                            权限                                       \textcolor{red}{以下所有修改wsl文件的下令都必要利用sudo权限}                  以下所有修改wsl文件的下令都必要利用sudo权限
3. 修改wsl.conf文件

​ 位置在/etc/wsl.conf(没有就创建)
  1. sudo vim /etc/wsl.conf
复制代码
粘贴以下内容
  1. [boot]
  2. systemd = true
  3. [network]
  4. generateHosts = false # 阻止自动生成host
  5. generateResolvConf = false        #阻止自动生成dns
复制代码
4. 修改my-network.conf文件

​ 位置在/etc/systemd/network/my-network.conf(没有就创建)
  1. sudo vim /etc/systemd/network/my-network.conf
复制代码
粘贴以下内容
  1. [Match]
  2. Name=en*
  3. [Network]
  4. DHCP=ipv4
复制代码
重启networkd
  1. sudo systemctl restart systemd-networkd.service
复制代码
5. 修改00-wsl2.yaml文件

​ 位置在/etc/netplan/00-wsl2.yaml(没有就创建)
  1. sudo vim /etc/netplan/00-wsl2.yaml
复制代码
按照以下内容自行修改
                                              注意将                            i                            p                            信息修改为想要固定的                                       \textcolor{red}{注意将ip信息修改为想要固定的}                  注意将ip信息修改为想要固定的
  1. network:
  2.   version: 2
  3.   ethernets:
  4.     eth0:
  5.       dhcp4: no
  6.       addresses: [静态IP地址/子网掩码]
  7.       gateway4: 网关IP地址
  8.       nameservers:
  9.         addresses: [DNS服务器IP地址1, DNS服务器IP地址2]
复制代码
比方:
  1. network:
  2.   version: 2
  3.   ethernets:
  4.     eth0:
  5.       dhcp4: no
  6.       addresses: [192.168.5.11/24]
  7.       gateway4: 192.168.5.1
  8.       nameservers:
  9.         addresses: [8.8.8.8, 114.114.114.114]
复制代码
然后利用sudo netplan apply应用新的网络设置,重启WSL2子系统即可。(出现雷同以下报错可忽略)

6. 共享网络

​ 此时,我们已经可以让wsl和开发板互相ping通了,但是电脑是通过wifi毗连外网,所有我们此时的wsl和开发板还不可以或许上网,以是我们还必要把wifi网络共享已往
打开控制面板->网络和internet->网络和共享中央->更改适配器设置

​ 因为我是条记本,以是只有一个无线网卡(毗连网络)和一个有线网卡(毗连开发板),如果是没有无线网卡的台式也可以把毗连网线的网口作为分享网络的装备

此时,虚拟网卡的IP会被设置为192.168.137.1,wsl也在这个网段内,以是开发板如果想毗连,IP地址必须也在这个网段以内,以是我们要修改他的ip(如果你就想在这个网段内利用实在也可以)
7. 修改共享网段的IP

韦东山老师的视频的设置的ip为
   windwos: 192.168.5.10
  linux:192.168.5.11
  开发板:192.168.5.9
  因为都在192.168.5.x网段内,以是必要修改下windows的注册表
打开注册表编辑器,查找
   计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
  将下面的两项的值改为想要设置的IP网段,好比我的设置为了192.168.5.1

                                              修改完之后必要再进行一次第                            6                            步,重新共享下网络                                       \textcolor{red}{修改完之后必要再进行一次第6步,重新共享下网络}                  修改完之后必要再进行一次第6步,重新共享下网络
然后重启一下电脑,再次打开wsl进行查看,发现修改已经生效

末了毗连开发板实行,是否可以毗连网络
                                              开发板必要在                            /                            e                            t                            c                            /                            r                            e                            s                            o                            l                            v                            .                            c                            o                            n                            f                            内写                            d                            n                            s                                       \textcolor{red}{开发板必要在/etc/resolv.conf内写dns}                  开发板必要在/etc/resolv.conf内写dns

参考
[1] Linux开发板ping通WSL2而且可以或许通过无线网毗连外网(虚拟机同样实用)
[2] WSL实现桥接网络并固定IP地址

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表