WSL2 网络配置:NAT、桥接、镜像、Virtio 4 选 1,到底改哪一行?

发布时间:2026/9/2 9:22:11
WSL2 网络配置:NAT、桥接、镜像、Virtio 4 选 1,到底改哪一行? WSL2 网络配置NAT、桥接、镜像、Virtio 4 选 1到底改哪一行【免费下载链接】WSLWindows Subsystem for Linux项目地址: https://gitcode.com/GitHub_Trending/ws/WSL在 WSL2 里起了服务Windows 浏览器死活打不开想让局域网设备直连又嫌容器网络慢这份 WSL2 网络配置指南只讲改哪一行.wslconfig、跑哪条命令、怎么确认生效不扯内核原理。30 秒选模式按需求对号入座你的需求是「Windows 浏览器打开 WSL 里的本地服务」→ 选NAT localhostForwarding你的需求是「让局域网同事/设备直连 WSL」→ 选bridged桥接你的需求是「前后端分离localhost 两边都要通」→ 选mirrored镜像你的需求是「Docker / 高吞吐 / 容器网络慢」→ 选VirtioConsomme需求推荐模式改动的 key本地服务 Windows 访问NATnetworkingModelocalhostForwarding局域网直连bridgednetworkingModedefaultBridgelocalhost 双向互通mirrorednetworkingMode高性能 / 容器网络Virtio(Consomme)networkingMode先别急着改配置wsl --status看一眼当前版本和模式确认 WSL 够新再动手。本地服务打不开NAT localhostForwarding 让 Windows 直连你起了服务Windows 浏览器却连localhost:3000都打不开多半是 NAT 模式下本地转发没开。90% 的情况改这两行就行[wsl2] networkingModeNAT localhostForwardingtrue改完跑wsl --shutdown再进 WSL 起服务。然后在Windows 的 PowerShell里跑这一条确认转发通了curl.exe -I http://localhost:3000⚠️ 常见坑改了.wslconfig却没wsl --shutdown配置根本不生效——每次改完都必须重启 WSL。NAT 模式靠 WSL 内的localhost进程监听已绑定的 TCP 端口再通过wslrelay.exe把流量转到 Windows逻辑见 localhost 转发实现 和 NAT 网络支持。让局域网直连 WSL 的桥接配置你想让同一网段的其他设备直接用 WSL 的 IP 访问而不是只能从 Windows 转发这时 NAT 就不够用了得让 WSL 拿到一个局域网里真实的 IP。[wsl2] networkingModebridged defaultBridgeWi-FidefaultBridge填你机器上真实的网卡名。重启后在 WSL 里跑这一条看拿到的是不是网段内的 IP而不是 172.x 的 NAT 地址ip addr show eth0⚠️ 常见坑bridge 名字写错会被静默忽略、回落到 NAT用系统里的网络适配器名核对一下再填。镜像模式下 localhost 互通的验证命令前后端分离前端跑在 Windows、后端跑在 WSL两边都想用localhost互访镜像模式会让 WSL 和 Windows 共享同一套回环地址localhost直接双向通。[wsl2] networkingModemirrored镜像模式在 WSL 里注册了一个 BPF 程序拦截bind()调用把流量交给 Windows 路由实现见 镜像网络实现。重启后WSL 里起个服务然后在Windows里跑这一条验证curl.exe -I http://localhost:8000⚠️ 常见坑镜像模式对系统版本和 WSL 内核有要求老版本会悄悄回落成 NAT先wsl --version确认再上。Docker / 高吞吐场景的 Virtio 网络配置容器网络慢、Docker 吞吐上不去NAT 的转发链路开销不小Virtio源码里叫 Consomme给虚拟机挂了一块 virtio-net 网卡由宿主机的用户态 NAT 直接处理吞吐更高、延迟更低实现见 Virtio 网络支持。[wsl2] networkingModeConsomme enableFirewalltrue重启后在 WSL 里iperf3 -s再从Windows跑这一条测实际吞吐iperf3 -c WSL-IP⚠️ 常见坑Consomme 依赖 virtio老 WSL 会提示 requires Virtio 并自动回落 NAT先wsl --update升到新版再试。排错速查5 个高频故障对号入座故障现象最常见原因一条解决命令DNS 解析失败resolv.conf指向了失效的 NAT 网关 DNScat /etc/resolv.conf看 nameserver临时换成8.8.8.8端口不通改完.wslconfig没重启 WSLwsl --shutdown桥接拿不到局域网 IPbridge 名写错被忽略ip addr show eth0核对改defaultBridgeWindows 访问被拦防火墙规则没放行端口防火墙放行对应端口后重试性能不达标NAT 转发开销 / 内存不够切Consomme或加大memory动手玩一把两种模式混着用试试让两个发行版跑不同模式默认那个走bridged给局域网开服务再wsl --install装一个专门走mirrored前后端 localhost 互通。改哪个发行版就改哪份.wslconfig互不影响。收尾四种模式本质都是.wslconfig里一个networkingMode的差异选对了基本不用碰别的。下一步建议把你当前的痛点场景对到上面某一行改完wsl --shutdown验证一次再决定要不要叠加第二种模式。【免费下载链接】WSLWindows Subsystem for Linux项目地址: https://gitcode.com/GitHub_Trending/ws/WSL创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考