局域网访问WSL 使用镜像模式网络 简单实现
效果
镜像模式网络
在运行 Windows 11 22H2 及更高版本的计算机上,你可以在.wslconfig文件中进行设置networkingMode=mirrored,以启用镜像模式网络。 启用此项会将 WSL 更改为全新的网络体系结构,该体系结构的目标是将 Windows 上的网络接口“镜像”到 Linux,以添加新的网络功能并提高兼容性。
以下是启用此模式的当前优势
IPv6 支持
使用 localhost 地址 127.0.0.1从 Linux 内部连接到 Windows 服务器。 不支持 IPv6 本地主机地址::1
改进了 VPN 的网络兼容性
多播支持
直接从局域网 (LAN) 连接到 WSL
备注
在 PowerShell 窗口中运行以下命令,具有管理员权限,以 配置 Hyper-V 防火墙 设置以允许入站连接: Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow 或 New-NetFirewallHyperVRule -Name "MyWebServer" -DisplayName "My Web Server" -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol TCP -LocalPorts 80。
此新模式解决了使用基于 NAT(网络地址转换)体系结构的网络问题。 在 GitHub 上的 WSL 产品存储库中查找已知问题或提交反馈。
官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/networking#mirrored-mode-networking
1. 开启镜像模式
- 打开WSL Settings
- 在网络中设置Mirrored,打开主机地址回路
2. 在 PowerShell 窗口中运行以下命令,具有管理员权限,以 配置 Hyper-V 防火墙 设置以允许入站连接:
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
3. 重启
wsl --shutdown
4. 运行子系统
5. 直接通过windowns本地内网IP访问
如果上面的不行,直接编辑配置文件
- 使用win+r运行
%UserProfile%
- 编辑.wslconfig文件(如果没有就创建一个)
- 设置值
[wsl2]
networkingMode=Mirrored
[experimental]
hostAddressLoopback=true
配置文档:https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config#configuration-settings-for-wslconfig
在重复上面第二步的操作
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
凌萧!
喜欢就支持一下吧