在 Windows 11 中设置 WSL2 Ubuntu 的 `networkingMode=mirrored` 详细教程
引言在 Windows 11 中利用 WSL2(Windows Subsystem for Linux 2)时,默认的网络配置可能会导致一些网络互通性问题,例如无法通过 localhost 访问 WSL2 中的服务,或者在局域网中无法访问 WSL2 中的服务。为了解决这些问题,Windows 11 23H2 及以上版本引入了 networkingMode=mirrored 配置,使 WSL2 与 Windows 主机共享相同的网络配置。本文将详细介绍如何设置 WSL2 Ubuntu 的 networkingMode=mirrored,并解决常见问题。
环境要求
在开始之前,请确保满意以下环境要求:
[*]Windows 版本:Windows 11 23H2 或更高版本。
[*]WSL 版本:WSL2 2.0.0 或更高版本。
可以通过以下下令检查 WSL 版本:
wsl --version
如果版本低于 2.0.0,可以通过以下下令更新:
wsl --update --pre-release
配置 .wslconfig 文件
[*] 创建或编辑 .wslconfig 文件:
[*]打开 PowerShell 或下令提示符,输入以下下令创建或编辑 .wslconfig 文件:notepad $env:USERPROFILE\.wslconfig
[*]如果文件已存在,直接编辑即可。
[*] 添加镜像网络配置:
在 .wslconfig 文件中添加以下内容:
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
firewall=true
autoMemoryReclaim=gradual
sparseVhd=true
hostAddressLoopback=true
[*]networkingMode=mirrored:启用镜像网络模式,使 WSL2 与 Windows 共享网络。
[*]dnsTunneling=true:启用 DNS 隧道,进步与 VPN 等复杂网络的兼容性。
[*]autoProxy=true:同步 Windows 的代理设置到 WSL2。
[*]firewall=true:启用 Windows 防火墙集成。
[*]hostAddressLoopback=true:允许通过主机的局域网 IP 访问 WSL2 中的服务。
重启 WSL2
完成配置后,重启 WSL2 以应用更改:
wsl --shutdown
等待几秒后重新启动 WSL2。
验证镜像网络模式
[*] 检查 IP 地点:
[*]在 WSL2 中运行以下下令检察 IP 地点:ip addr
如果 IP 地点与 Windows 主机的 IP 地点同等,说明镜像网络模式已启用。
[*] 测试网络互通:
[*]在 WSL2 中启动一个服务(如 Python HTTP 服务器):python3 -m http.server 8000
[*]在 Windows 中访问 http://localhost:8000,如果能够访问,说明镜像网络模式配置成功。
解决常见问题
[*] 局域网访问问题:
[*]如果局域网装备无法访问 WSL2 中的服务,可能是 Hyper-V 防火墙克制了入站毗连。可以通过以下下令允许入站毗连:Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
或者为特定端口添加规则:New-NetFirewallHyperVRule -Name "AllowPort8000" -DisplayName "Allow Port 8000" -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol TCP -LocalPorts 8000
[*] Docker 容器无法通过 localhost 访问:
[*]如果利用 Docker,必要在 /etc/docker/daemon.json 中添加以下配置:{
"iptables": false
}
然后重启 Docker 服务:sudo service docker restart
其他注意事项
[*] 端口辩论:如果遇到端口辩论问题,可以调整 Windows 的 TCP 动态端口范围,克制与常用端口辩论:
netsh int ipv4 set dynamic tcp start=50000 num=15536
[*] IPv6 支持:镜像网络模式支持 IPv6,但 localhost 的 IPv6 地点 ::1 可能无法直接利用。
结论
通过以上步调,您可以成功将 WSL2 Ubuntu 的网络模式设置为 mirrored,并享受更便捷的网络互通体验。如果遇到问题,可以参考相关文档或社区讨论。希望本文对您有所资助!
参考文档:
[*]WSL 官方文档
[*]WSL2 网络配置
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]