-
wsl2獲取ip地址
cat /etc/resolv.conf|grep nameserver|awk '{print $2}'=> 例如:172.22.176.1- 注:由於windows防火牆的存在,此時可能出現
ping 172.22.176.1失敗
-
新建防火牆入站規則
- 打開
控制面板\系統和安全\Windows Defender 防火牆 - 點擊
入站規則->新建規則 - 規則類型:自定義
- 程序:所有程序
- 協議和端口:默認即可
- 作用域:
- 本地ip處選擇“任何IP地址”
- 遠程ip處選擇“下列IP地址”,並將wsl2的IP添加進去。(請根據自己wsl2的ip進行計算,我這里添加了
172.22.176.0/20)(掩碼一般是20位,可以通過ifconfig命令進行查詢)
- 操作:允許連接
- 配置文件:三個全選
- 名稱描述:請自定義
- 注意:這一步完成后,從wsl2 ping主機的ip應該可以ping通了。
- 打開
-
防火牆配置
- 打開
控制面板\系統和安全\Windows Defender 防火牆\允許的應用。 - 將與代理相關的應用程序均設置為:允許其進行專用、公用網絡通信。
- 特別注意的是:將
Privoxy也配置為允許
- 打開
-
windows端代理軟件配置
- 啟用“允許來自局域網的連接”
-
測試
- 在wsl2中配置http代理,如
export http_proxy="http://172.22.176.1:10808"。注意:端口號請結合自己的代理設置進行修改 - 執行命令
curl cip.cc查看ip地址
- 在wsl2中配置http代理,如
-
后面可以采用一些腳本方便代理的設置和取消
比如在~/.zshrc中添加如下配置:# set_proxy export host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ") export http_proxy=http://$host_ip:10808 export https_proxy=http://$host_ip:10808
