提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、安裝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,暫時需要另辟蹊徑