当前位置: 首页 > news >正文

WSL配置网络说明

重要的事,先配置WSL网络

1. 创建WSL配置文件:

在Windows中,按 Win + R,输入 %USERPROFILE%,打开用户文件夹。

用记事本创建文件 .wslconfig(注意前面有个点),内容如下:

[wsl2]
networkingMode=mirrored
localhostForwarding=true

2. 重启WSL:

wsl --shutdown

等待几秒钟后,重新打开WSL。

3. 在WSL中测试新的网络配置:

# 现在应该可以直接使用终端代理或者windos上网提供的ip进行配置
export https_proxy=http://127.0.0.1:33210 
export http_proxy=http://127.0.0.1:33210 
export all_proxy=socks5://127.0.0.1:33211# 测试连接
curl -I https://www.google.com
curl -I https://raw.githubusercontent.com

4. 如果成功,安装Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

这个networkingMode=mirrored配置会让WSL2使用与Windows相同的网络接口,这样127.0.0.1就能正确工作了。

请先创建.wslconfig文件并重启WSL
好问题!让我详细解释为什么需要这样配置:

WSL2的网络架构问题

WSL2的默认网络模式:

  • WSL2运行在一个轻量级虚拟机中
  • 它有自己的虚拟网络适配器和IP地址段
  • WSL2和Windows主机之间通过NAT(网络地址转换)通信
  • 这就是为什么你看到10.255.255.254这样的内部IP地址

默认模式的问题:

  1. IP地址隔离:WSL2的127.0.0.1和Windows的127.0.0.1是不同的
  2. 端口转发限制:Windows上的代理端口默认不会自动转发到WSL2
  3. 防火墙阻拦:Windows防火墙可能阻止WSL2访问主机端口

配置文件的作用

[wsl2]
networkingMode=mirrored          # 镜像网络模式
localhostForwarding=true         # 本地主机转发

networkingMode=mirrored的作用:

  • 让WSL2直接使用Windows的网络接口
  • WSL2和Windows共享相同的IP地址和网络栈
  • 这样WSL2中的127.0.0.1就真正指向Windows本机了

localhostForwarding=true的作用:

  • 确保localhost/127.0.0.1的请求能正确转发
  • 让WSL2能访问Windows上监听127.0.0.1的服务
    镜像模式解决的问题:
  • WSL2变成真正的"本机"环境
  • VPN代理服务认为WSL2的请求来自本机
  • 网络请求能正常通过代理转发

其他解决方案的缺点

手动配置IP方式:

export http_proxy=http://10.255.255.254:33210  # 需要找到正确的Windows IP
  • IP地址可能会变化
  • 需要额外的防火墙配置

镜像模式的优势:

  • 一次配置,永久生效
  • 不需要关心IP地址变化
  • 完美兼容各种网络应用
  • 就像直接在Windows上运行命令一样

这就是为什么networkingMode=mirrored是最优雅的解决方案!

http://www.dtcms.com/a/308551.html

相关文章:

  • 太阳光模拟器测试包装材料的耐候性
  • SUID/SGID是啥?如何让普通用户拥有root的能力?
  • WinForm之CheckBox 控件
  • Conda环境下配置的基本命令
  • 【Android】PopupWindow实现长按菜单
  • 难以逾越的夏天
  • 小架构step系列31:处理异常
  • documentPictureInPicture API 教程
  • IK 字段级别词典的升级之路
  • 14day-ai入门-人工智能基础学习-OpenCV-图像预处理4
  • 2683. 相邻值的按位异或
  • GXHT30温湿度传感器可兼容SHT30
  • NMOS防反接电路分析
  • [特殊字符] 数字孪生 + 数据可视化:实战经验分享,让物理世界数据 “会说话”
  • ubuntu18.04 部署nfs服务
  • 第15届蓝桥杯C++青少组中级组选拔赛(STEMA)2024年3月10日真题
  • Java与MySQL AES加密解密实战指南
  • pytest vs unittest: 区别与优缺点比较
  • #C语言——学习攻略:深挖指针路线(五)--回调函数,qsort函数,qsort函数的模拟实现
  • ACOSRAR改进连续蚁群算法用于优化复杂环境下无人机路径规划,Matlab代码实现
  • 中烟创新参编的《软件和信息技术服务行业企业环境社会治理信息披露指南》标准正式发布
  • 树形DP-核心基础
  • 《质光相济:Three.js中3D视觉的底层交互逻辑》
  • 直击WAIC | 百度袁佛玉:加速具身智能技术及产品研发,助力场景应用多样化落地
  • 虚幻基础:模型穿模
  • 产品型号:PCD231B101产品类型:信号隔离转换模块
  • Redis学习14-认识哨兵机制
  • cesium视锥体
  • 【C#】基于SharpCompress实现压缩包解压功能
  • TDengine 中 TDgp 中添加算法模型(预测分析)