WSL默认是NAT连接,因此为了能够ping通开发板,我们需要转换成桥接模式(在这里不展开NAT和桥接模式的特点,读者可以查阅相关资料学习)
如果是windows专业版和企业版就有Hyper-V管理器(可跳过)
这里针对windows家庭版的读者
创建名为'Hyper-V.txt'的文档文件,然后输入
pushd “%~dp0”
dir /b %SystemRoot%\servicing\Packages*Hyper-V*.mum >hyper-v.txt
for /f %%i in (‘findstr /i . hyper-v.txt 2^>nul’) do dism /online /norestart /add-package:“%SystemRoot%\servicing\Packages%%i”
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
将'.txt'后缀更换为'.cmd',然后以管理员身份运行即可,最后会弹出是否重启,输入y回车重启电脑
搜索关键字,就会出现
以管理员身份运行powershell
输入 Get-NetAdapter
获取电脑网卡信息
这里以以太网
为例,因为开发板是通过网口连接到电脑上的
选择桥接的网卡
输入以下代码
Set-VMSwitch WSL -NetAdapterName 以太网
# ‘如果想桥接wlan,可以写成 Set-VMSwitch WSL -NetAdapterName WLAN’
在安装的Hyper-V管理器
直接修改,作者没有成功,会报错,所以没有实际成功过,读者可以试试,不行再换第一种方法
控制面板-->网络和Internet-->网络连接
在WSL网口修改绑定IP地址为'192.168.1.128'
,这时电脑关闭防火墙,开发板能够ping通windows电脑
将ubuntu的IP定为'192.168.1.130'
# 清除网卡信息
sudo ip addr del $(ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | head -n 1) dev eth0
# 设定IP地址
sudo ip addr add 192.168.1.130/24 broadcast 192.168.1.255 dev eth0
# 设定路由和网关信息
sudo ip route add 0.0.0.0/24 via 192.168.1.1 dev eth0
# ‘IP后面的/24 表示掩码是24位’
然后在bash执行sudo vim /etc/resolv.conf
修改 nameserver
的值为刚才设置的网关192.168.1.1
如果想退回ubuntu继续使用网络,那么重新选择NAT模式(用上面的方法二会成功的)重启电脑即可
如果遇到网络配置后,仍然失败,重启电脑试一试
以上方法,只适合一次性地使用,如果使用频繁,还是建议ubuntu设置静态ip(本文目的不在此,略)