论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
运维.售后
›
运维.售后
›
在 Windows 11 中设置 WSL2 Ubuntu 的 `networkingMode= ...
在 Windows 11 中设置 WSL2 Ubuntu 的 `networkingMode=mirrored` 详细教程 ...
水军大提督
论坛元老
|
2025-4-6 07:34:10
|
显示全部楼层
|
阅读模式
楼主
主题
1600
|
帖子
1600
|
积分
4800
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
引言
在 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 文件中添加以下内容:
[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
firewall=true
[experimental]
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企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
水军大提督
论坛元老
这个人很懒什么都没写!
楼主热帖
MySQL高可用架构搭建实战
让软件飞——“X+”技术揭秘 ...
Docker(11)-- DockerFile详解
camunda工作流实战项目(表单设计器+流 ...
哈希算法-SHA-256-过程详解
使用 OpenTelemetry 和 Loki 实现高效 ...
1. SQL
〖Python接口自动化测试实战篇③〗- 什 ...
0. 数据库设计规范化
HCIA学习笔记十八:Hybrid端口 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
数据安全
SQL-Server
移动端开发
快速回复
返回顶部
返回列表