自学内容网 自学内容网

Windows11配置WSL2支持代理上网

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

说起来本来这个功能我也不需要的,只是最近突然有个需求就顺便研究了下,WSL2默认的网络方式是NAT,即WSL2的网卡本身是虚拟网卡,通过以太网或WIFI的地址转换来上互联网,我试了下是不能直接走代理的,最近比较忙没具体研究,但是我用另一种方式实现了,下面介绍给需要的人。

注意:这个方法只能是WIndows11系统,WIndows10系统上的WSL2缺少了一项功能导致不可用。


一、安装WSL2分发版

这个绝对不说了,你一定有分发版了才会看这篇文章。

二、配置步骤

这里需要使用一种特殊的功能,很多人可能都没听说过,它是WIndows11系统上的WSL2上一个独特的功能,WIndows10系统没有。

mirrored:又叫镜像网络,有点像桥接感觉又不是,当你开了之后你的WSL2的发行版网络IP和WIndows的网卡IP就成了同一个了,这样你在WSL2中上网就好像在Windows里上网一样,给人的感觉是合二为一了,想了解更多就去巨硬官网看看=官方介绍。

注意:默认的网络模式是NAT,这个不多说了可以自行了解下!

你需要在用户目录里面创建一个WSL2的配置文件.wslconfig,点在WIndows系统中不是隐藏的意思,是一种特殊的标记。

比如我的用户目录是C:\Users\hoo

下面是我的配置,你可以参考下:

# 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=4GB 

# Sets the VM to use two virtual processors
#processors=4

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
#kernel=C:\\temp\\myCustomKernel
#kernel=E:\\Test\\Linux\\WSL2\\6.6\\bzImage

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
#kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
#swap=8GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
#swapfile=C:\\temp\\wsl-swap.vhdx

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
#pageReporting=true

#一个布尔值,用于在 WSL 中打开或关闭对 GUI 应用程序 (WSLg) 的支持。 仅适用于 Windows 11
#guiApplications=true

#一个布尔值,用于在 WSL 2 发行版实例启动时打开显示 dmesg 内容的输出控制台窗口。 仅适用于 Windows 11。
#debugConsole=true


# Turn off default connection to bind WSL 2 localhost to Windows localhost
#一个布尔值,用于指定绑定到 WSL 2 VM 中的通配符或 localhost 的端口是否应可通过 localhost:port 从主机连接。
#localhostforwarding=true

# Disables nested virtualization
#用于打开或关闭嵌套虚拟化的布尔值,使其他嵌套 VM 能够在 WSL 2 中运行。 仅适用于 Windows 11。
#nestedVirtualization=false

#如果值为 mirrored,则会启用镜像网络模式。 默认或无法识别的字符串会生成 NAT 网络。
networkingMode=mirrored
#networkingMode=NAT

#如果设置为 true,则 Windows 防火墙规则以及特定于 Hyper-V 流量的规则可以筛选 WSL 网络流量。
firewall=false

#更改将 DNS 请求从 WSL 代理到 Windows 的方式
dnsTunneling=true

#强制 WSL 使用 Windows 的 HTTP 代理信息
autoProxy=true

注意:其他选项根据个人需要打开,不一定非得和我一样,橙色的选项和我配置一样就行了!

配置好之后别忘了保存,然后杀死WSL2,再重启虚拟机之后就可以了。

三、测试

这里我使用了chrome浏览器来测试代理访问,chrome安装方法的话自行脑补。

在这里插入图片描述

百度正常使用

在这里插入图片描述

谷歌正常使用

在这里插入图片描述

我的chrome不是WIndows上的chrome,而是从WSL2打开的chrome,说明功能正常。

其实应该还有个方法的,通过export http_proxy=http://<server ip>export https_proxy=https://<server ip>来解决,理论上这两种方法应该是行的,只不过我手上没有相关的资源,所以测试不了。


总结

1、方法总体没什么难度,NAT方式暂时没研究透,后续有时间再研究
2、WIndows10系统不支持mirrored,暂时需要另辟蹊径


原文地址:https://blog.csdn.net/jiexijihe945/article/details/140307482

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!