wsl2 联网设置静态 IP (不能联网问题)
首先查看是否开启了桥接模式
用管理员打开 powerShell 执行命令
Get-VMSwitch
这种开启了,得关闭
Set-VMSwitch "WSL (Hyper-V firewall)" -SwitchType Internal
设置镜像模式网络
Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件
[experimental]
networkingMode=mirrored
或是
[wsl2]
networkingMode=mirrored
可以选择性加一些设置就用下面配置
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
wsl 执行
sudo nano /etc/sudoers
找到 %sudo ALL=(ALL:ALL) ALL, 在它下面添加一行,添上面不管用,hyn 换成你的用户名
hyn ALL=(ALL) NOPASSWD: ALL
配置开机便设置 dns 服务器
sudo nano ~/.bashrc
在文件最后加入下面内容
sudo sh -c 'echo "nameserver 8.8.8.8nameserver 8.8.4.4" > /etc/resolv.conf'
保存并关闭 wsl,在 cmd 下执行
wsl --shutdown
打开 wsl2 查看 ip
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 169.254.151.34 netmask 255.255.0.0 broadcast 169.254.255.255inet6 fe80::eb90:d3f3:4d3a:a224 prefixlen 64 scopeid 0x20<link>ether 00:15:5d:8b:01:03 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 14 bytes 1116 (1.1 KB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip 地址是 169.254.151.34,虽然不是局域网地址,但 ping 局域网还有 baidu 都能 ping 通,而且这个 ip 地址重新启动 wsl2 也是不会变的。