WSL mirrored网络模式配置指南
WSL2.6.0网络模式升级配置指南
Categories:
版本要求
当前版本状态:
- 最新稳定版:2.5.9(存在网络配置缺陷)
- 推荐版本:2.6.0 预览版(支持完整mirrored模式)
模式对比分析
特性 | bridge模式(已废弃) | mirrored模式(推荐) |
---|---|---|
协议栈架构 | 双协议栈 | 共享协议栈 |
IP地址分配 | 独立IP(Windows+WSL) | 共享主机IP |
端口资源 | 独立使用 | 共享端口(需避免冲突) |
网络性能 | 相对较重 | 轻量高效 |
配置复杂度 | 简单 | 需深度配置防火墙策略 |
标准配置步骤
1. 网络模式设置
通过 WSL Settings 应用设置基础模式:
- 打开设置应用
- 选择"Network"选项卡
- 设置网络模式为"Mirrored"
- 应用配置并重启WSL
2. 防火墙策略配置
需通过PowerShell执行完整策略配置:
# 定义WSL虚拟机GUID
$wslGuid = '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'
# 配置防火墙策略(按顺序执行)
Set-NetFirewallHyperVVMSetting -Name $wslGuid -Enabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultInboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultOutboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -LoopbackEnabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -AllowHostPolicyMerge True
# 验证配置结果
Get-NetFirewallHyperVVMSetting -Name $wslGuid
3. 端口映射验证
# 示例:检查80端口占用情况
Get-NetTCPConnection -LocalPort 80
常见问题处理
问题1:无法建立外部连接
- 检查步骤:
Get-NetFirewallHyperVVMSetting
输出中所有字段应为True/Allow - 解决方案:按顺序重新执行防火墙策略配置
问题2:端口冲突
- 验证方法:
netstat -ano
查看端口占用 - 处理建议:优先释放Windows端占用端口,或修改WSL服务监听端口
验证方法
- 启动WSL服务(如Nginx/Apache)
- 从Windows主机访问
http://localhost:<port>
- 从局域网设备访问
http://<host-ip>:<port>