WSL2网络模式nat更改为桥接
WSL2网络模式nat更改为桥接
方案一:推荐 —— 使用 Mirrored 模式(镜像网络,最简单)
这个模式会把 Windows 的网络接口“镜像”到 WSL 中,WSL 会获得与主机相似的网络行为。
在 Windows 中创建或编辑配置文件(以普通用户身份):
按 Win + R,输入 %USERPROFILE%,回车。
在用户文件夹下新建文本文件,命名为 .wslconfig(注意前面有点号)。
用记事本打开,加入以下内容并保存:
1
2
3
4[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
重启 WSL(在 PowerShell 或 CMD 中以管理员身份运行):
1
2wsl --shutdown
wsl -d (machine-name)重新打开 Rocky Linux 终端,检查网络:
1
2
3ip addr show eth0(网卡名称) # 或 ip addr
ping 8.8.8.8
curl ifconfig.me # 查看公网 IP 是否正常
优点:配置简单,无需 Hyper-V 手动创建交换机;支持从局域网直接访问 WSL 服务。
方案二:传统 Bridged 模式(如果 mirrored 不满足需求)
这个模式需要手动创建 Hyper-V 虚拟交换机。
启用 Hyper-V(如果未启用):
- 控制面板 → 程序和功能 → 启用或关闭 Windows 功能 → 勾选 “Hyper-V” → 重启电脑。
创建外部虚拟交换机(以管理员身份打开 Hyper-V 管理器):
- 右侧点击 “虚拟交换机管理器”。
- 选择 “新建虚拟网络交换机” → “外部” → 创建。
- 给它起个名字(如 WSL-Bridge)。
- 在 “外部网络” 下拉菜单中选择你当前正在使用的网卡(Wi-Fi 或 以太网),勾选 “允许管理操作系统共享此网络适配器”。
- 点击应用 → 确定(可能会短暂断网)。
创建 .wslconfig 文件(同方案一位置):
1
2
3
4[wsl2]
networkingMode=bridged
vmSwitch=WSL-Bridge # 改成你刚才创建的交换机名称
ipv6=true # 可选重启 WSL:
1
2wsl --shutdown
wsl -d (machine-name)在 Rocky Linux 中手动配置 IP(桥接后默认可能需要手动设):
1
2
3
4
5
6
7# 查看当前网卡(通常是 eth0)
ip addr
# 示例:假设你的局域网是 192.168.1.0/24,网关是 192.168.1.1,给 WSL 分配一个空闲 IP(如 192.168.1.150)
sudo ip addr flush dev eth0
sudo ip addr add 192.168.1.150/24 dev eth0
sudo ip route add default via 192.168.1.1 dev eth0想用 DHCP 自动获取 IP(推荐):
1
sudo dhclient eth0修复 DNS(防止解析问题): 在 /etc/wsl.conf 中加入(如果没有就创建):
1
2[network]
generateResolvConf = false然后手动编辑 /etc/resolv.conf:
1
2nameserver 8.8.8.8
nameserver 114.114.114.114
验证是否成功
在 Rocky Linux 中运行:
1 | |
WSL2网络模式nat更改为桥接
http://bote798.github.io/2026/03/31/WSL2网络模式nat更改为桥接/