折腾了半天呢..
# 1. 桥接网络
在 powershell 里执行如下命令,将 WSL 的网卡替换为以太网
Set-VMSwitch WSL -NetAdapterName 以太网 |
# 2. WSL 侧创建 IP 设置脚本
在 WSL 中新建脚本 set-ip.sh
,输入如下内容
# 清除原有 IP | |
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.137.2/24 broadcast 192.168.137.255 dev eth0 label eth0:1 | |
# 添加默认路由 | |
sudo ip route add default via 192.168.137.1 dev eth0 | |
# 添加默认 DNS | |
sudo echo >/etc/resolv.conf nameserver 192.168.137.1 |
# 3. Windows 侧创建 IP 设置脚本
在 Windows 中新建脚本 ConfigWSLNetwork.bat
,输入如下内容
记得更改 set-ip.sh 的路径
setlocal enabledelayedexpansion | |
:: set wsl2 ip | |
wsl -u root /path/to/set-ip.sh | |
echo set wsl ip success: 192.168.137.2 | |
:: set windows ip | |
ipconfig | findstr "192.168.137.1" > nul | |
if !errorlevel! equ 0 ( | |
echo windows ip has set | |
) else ( | |
netsh interface ip add address "以太网" 192.168.137.1 255.255.255.0 | |
echo set windows ip success: 192.168.137.1 | |
) | |
pause |
# 4. 执行 Windows 侧脚本
运行后 IP 即修改成功。
# 5. (可选) Windows 侧添加自启
将 Windows 侧的脚本添加到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
目录即可。