wsl2中解决桥接问题
-
问题:使用wsl2,要如何桥接,否则wsl中的ip与小车ip的子域不同。
首先我的windows wifi ipv4 192.168.50.139 wls2中eth0是172.20.36.33然后小车IP是192.168.50.108,sip是172.20.36.33:8888
很明显小车ip 192.xxxxxx与wsl2中172.xxxxx是不匹配的,需要将wsl2中的也改为192.xxxxxx。解决方案:
1.首先你要确保电脑是win11专业版,如果是家庭版淘宝搜win11专业版去激活。参考https://zhuanlan.zhihu.com/p/617357186到1.3为止,如果网络无法连接了把(4)搜索查看网络连接并配置网桥连接的网络适配器的那个bridge√去掉然后确定。2.然后用管理员打开powershell记住一定要是管理员模式!!!!!!
输入 Get-VMSwitch -SwitchType External看看有没有VM,可以去问问ai。3.依然是在这个管理员:powershell中
cd $env:USERPROFILE使用记事本创建/编辑文件
notepad .wslconfig
提示没有则点击是4.在这个记事本中粘贴下面代码
[wsl2]
networkingMode=bridged
vmSwitch=WSL2Bridge
ipv6=true
dhcp=true
memory=4GB
processors=45.回到管理员powershell
关闭 WSL2
wsl --shutdown
等待几秒
Start-Sleep -Seconds 5
重新启动 WSL2(你新开一个powershell不用管理员)
wsl2
6.检验
输入ip addr show eth0
显示192.xxxxxx成功!!!!!!7.确认
输入小鱼的sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host registry.cn-hangzhou.aliyuncs.com/fishros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6
奇迹出现了!另一个解决方案也是更本:去搞个双系统直接运行ros2吧,会省去其他奇奇怪怪的问题,我感觉wsl2的用户比较少。什么东西都是稳定比较好。
-
@sxjj 傻了,忘记说了小车sip要改啊,改成192那个
-
@sxjj [wsl2]
删掉
ipv6=true
dhcp=true此外如果node list没有,不是很稳定检查网络,不要用热点,去用路由器