【杂项】WSL2网络设置

之前使用 WSL2 时,如果主机开启了代理,WSL2 会提示

wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

然而,从 2023 年 9 月的史诗级更新开始,WSL2 已经支持和宿主机共享 IP 等全新功能1

具体配置方法如下:

  1. 先关闭 WSL :

    wsl --shutdown
    

    确认 WSL 版本 ≥2.1.5 且 Windows11 至少为 23H2:

    wsl --version
    

    如果 WSL 版本不满足条件,需要升级:

    wsl --update
    
  2. 更新 WSL 配置文件。在宿主机的 C:\Users\[用户名]\ 文件夹下新建 .wslconfig 文件,并编辑内容为:

    [wsl2]
    dnsTunneling=true
    firewall=true
    networkingMode=mirrored
    autoProxy=true
    
    [experimental]
    autoMemoryReclaim=dropcache
    sparseVhd=true
    

    如果你使用的是 pre-release 版本,dnsTunneling 可能已经默认开启了2

  3. 查看你使用的发行版的名字:

    wsl --list
    

    然后启用稀疏 VHD 允许 WSL2 的硬盘空间自动回收:

    wsl --manage [发行版名字] --set-sparse true
    
  4. 启动 WSL,删除之前配置的代理。例如删除 .bashrc 中的相关语句、取消 git 代理等:

    git config --global --unset http.proxy
    git config --global --unset https.proxy
    
  5. C:\Users\[用户名]\.docker\daemon.json 中添加:

    "iptables": false
    
  6. 在宿主机 VSCode 的设置中搜索 Remote: Auto Forward Ports,关闭掉。

现在,打开宿主机的代理,并在 WSL 中测试一下是否成功修改:

wget www.google.com

  1. https://github.com/microsoft/WSL/releases/tag/2.0.0 ↩︎

  2. https://github.com/microsoft/WSL/releases/tag/2.2.1 ↩︎

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值