折腾了半天呢..


# 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 目录即可。