WSL2.0通过隧道设置镜像

引言

由于WSL采用的是NAT模式,不能直接与本机localhost共享代理端口。

以往采取的方式就是设置http_proxyhttps_proxy.

但,不方便的地方在于每次重启wsl后,由于IP会变化,很有可能需要重新进行配置。

也有办法,可以通过读取/etc/resolve.conf,提取其中的nameserver,自动提取IP,这样就可以自动化配置了。

但,今天这个方案突然失效,nameserver提供的IP地址并不能正常使用。

很奇怪,我需要新的方案。

官方解决方案

链接:networking-considerations-with-dns-tunneling,提出通过 DNS 隧道来配置 WSL 的网络

我的步骤

  1. 把之前在.bashrc启动文件中配置http_proxyhttps_proxy的逻辑删去,并且关闭 WSL
wsl --shutdown
  1. 在我的window主机编辑~\.wslconfig

“去‘C:\Users\你的名字\’下面新建一个‘.wslconfig’,然后用记事本打开往里面放这些内容”

如"C:\Users\fangy\.wslconfig"

	[wsl2]
	memory=8GB
	processors=8
	[experimental]
	autoMemoryReclaim=gradual
	networkingMode=mirrored
	dnsTunneling=true
	firewall=true
	autoProxy=true
	sparseVhd=true
  1. 重启 WSL
    确实自动设置了代理,代理正常工作,
    很好,不必再手动设置http_proxyhttps_proxy了。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐