WSL2新增網路代理,通過宿主機代理出國.
阿新 • • 發佈:2021-08-10
- 目標是在WSL2使用安裝在Win10內的V2R來實現出國上網.
WSL2獲取Win10ip
在Win10 -> WSL2這個方向, 是可以直接通過Localhost來訪問的, 但是WSL2 -> Win10這個方向就不能直接訪問Localhost了, 需要指定Win10的ip, 想要檢視WSL2中Win10的ip, 只需要檢視 resolve.conf
cat /etc/resolv.conf # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateResolvConf = false nameserver 172.18.176.1
這個172.18.176.1就是在WSL2中Win10的ip.
想要方便獲取這個IP, 可以直接使用下方命令 :
cat /etc/resolv.conf|grep nameserver|awk '{print $2}'
WSL2設定環境變數
由於上面已經可以獲取到Win10的ip, 這個時候就可以很方便的對各種環境變數進行設定, 因為V2R的預設http埠為10809, socks5埠為10808, 所以可以直接設定環境變數 :
export windows_host=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'` export ALL_PROXY=socks5://$windows_host:10808 export HTTP_PROXY=$ALL_PROXY export http_proxy=$ALL_PROXY export HTTPS_PROXY=$ALL_PROXY export https_proxy=$ALL_PROXY
git也可以設定為使用代理 :
git config --global proxy.https socks5://$windows_host:10808
如果想要這些環境變數和設定每次啟動終端都生效, 可以在~/.bashrc檔案最下方新增上述內容 :
export windows_host=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'` export ALL_PROXY=socks5://$windows_host:10808 export HTTP_PROXY=$ALL_PROXY export http_proxy=$ALL_PROXY export HTTPS_PROXY=$ALL_PROXY export https_proxy=$ALL_PROXY if [ "`git config --global --get proxy.https`" != "socks5://$windows_host:10808" ]; then git config --global proxy.https socks5://$windows_host:10808 fi
設定V2R允許區域網連線
設定Win10防火牆
這一步是最重要的一步, 也是最坑的一步, 需要在Win10防火牆中允許V2R進行公用和專用網路的訪問! 只要設定這個就可以了, 不需要調整過其他設定!
找到所有帶V2R的應用的選項, 全勾上就可以了. 在WSL2中輸入curl -vv www.google.com驗證是否正確訪問谷歌.