
2022 年 wsl2 支持用桥接了,我想利用桥接和路由器来设置静态 ip
[wsl2] networkingMode=bridged vmSwitch=switch 名 这样配置网络正常,然后我在 linux 里用 ip a 查询 ip 和 mac 地址
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 5c:bb:f6:9e:ee:fa brd ff:ff:ff:ff:ff:ff inet 192.168.0.111/24 brd 192.168.0.255 scope global eth0 valid_lft forever preferred_lft forever 192.168.0.111 和 5c:bb:f6:9e:ee:fa ,我在路由器面板里绑定 ip,就连不上外网了,还有个问题在路由器上为什么 wsl2 的 mac 和主机的 mac 是一个 
1 Joker6666677777 2023 年 2 月 10 日 via Android 和你一模一样的问题 |
2 Joker6666677777 2023 年 2 月 10 日 经过测试发现,路由器上不能直接设置绑定静态 IP 到 MAC ,一旦绑定 WSL 就不能正常连接网络了。但是有一个办法可以解决。就是设置路由器的 DHCP 限制只分发一个 IP ,这样 WSL 每次拿到的 IP 都是固定的了。缺点就是,如果家里有新手机联网,也要给在路由器上给新手机设置绑定固定 IP ,不然 DHCP 不会下发新 IP 。 |
3 guzzhao OP @Joker6666677777 我已经解决了 1. Hyper-V 虚拟机创建外部虚拟交换机 2. 修改.wslconfig ``` [wsl2] networkingMode=bridged vmSwitch=替换成你创建的虚拟交换机名称 dhcp=false ``` > 当 dhcp=false 时会读取 `/lib/systemd/network/wsl_external.network` 的网络配置 `vim /lib/systemd/network/wsl_external.network` ```ini [Match] Name=eth0 [Network] Description=bridge DHCP=false Address=192.168.1.10/24 # 自行修改 Gateway=192.168.0.1 # 自行修改 ``` **修改 DNS 禁止自动生成** 添加`/etc/wsl.conf`加入以下内容 ```ini [boot] systemd=true [network] generateResolvCOnf= false ``` ```bash rm -f /etc/resolv.conf echo "nameserver 223.5.5.5" > /etc/resolv.conf ``` 3. 重新启动 WSL 子系统 |
4 mrzhang76 2023 年 2 月 10 日 只能在 w11 下使用,我看咖喱味的微软是吃惯了咖喱味的屎,逼着人吃屎味的 w11 |