WSL代理设置(NAT&镜像)

本文介绍了WSL(WindowsSubsystemforLinux)中NAT和Mirror两种网络连接方式,NAT需在.bashrc中设置代理,但限制了外部访问;Mirror模式通过镜像网络实现,允许外部访问,提供详细的配置步骤和测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NAT

WSL目前主要有NAT和Mirror两种方式实现对外部的网络连接, 前者在大多数虚拟机中都用使用, 仅需在~/.bashrc文件中添加相应的环境变量即可(将下面的IP地址和端口号替换为自己的即可).

注意完成对~/.bashrc文件的修改之后, 通过source ~/.bashrc命令执行使配置生效.

export http_proxy="http://192.168.128.1:7890/"
export https_proxy="http://192.168.128.1:7890/"
export ftp_proxy="http://192.168.128.1:7890/"

但是需要注意的是, 采用NAT方案的确能够在WSL中直接使用宿主机提供的代理. 但是由于NAT屏蔽了内网信息, 因此从外部是无法直接访问WSL的, 这对于将WSL用作服务器的场景非常致命.

Mirror

此时可采用WSL2提供的镜像网络, 此方法不需要将WSL作为宿主机的局域网成员, 而使用完全相同的IP地址, 理论上只要宿主机能够连接被其他网络发现, WSL也必然能够被发现. 相应的配置也非常简单, 在用户根目录下创建.wslconfig文件, 并在其中写入以下内容.

注意配置之前需要先将WSL关闭, 相应命令为wsl --shutdown.

# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=16GB
# Sets the VM to use two virtual processors
processors=8
[experimental]
autoMemoryReclaim=gradual # 开启自动回收内存,可在 gradual, dropcache, disabled 之间选择
networkingMode=mirrored # 开启镜像网络
dnsTunneling=true # 开启 DNS Tunneling
firewall=true # 开启 Windows 防火墙
autoProxy=true # 开启自动同步代理
sparseVhd=true # 开启自动释放 WSL2 虚拟硬盘空间

之后直接在WSL中将代理设置为本地即可, 完成之后即可正常使用代理访问外部网络.

export http_proxy="http://127.0.0.1:7890/"
export https_proxy="http://127.0.0.1:7890/"
export ftp_proxy="http://127.0.0.1:7890/"

Test

请注意, 部分网址因为各种原因无法回应ICMP回显请求, 因此可能ping不通, 但是实际上代理已经配置完成, 推荐使用curl google.com命令进行测试, 出现下面结果表示代理配置成功.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值