共计 686 个字符,预计需要花费 2 分钟才能阅读完成。
原本以為配置這個很簡單,結果搞了 3 小時才找到原因,區區防火牆沒注意到,一直鬼打牆所以紀錄一下吧!
防火牆配置
由於 WSL2 和 Host IP 不同,所以會被 Windows Defender 當作公網屏蔽,如果需要雙向通信,建議配置防火牆規則如下,打開 PowerShell 命令輸入
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
上述內容參考自 Add “allow” rule to Windows firewall for WSL2 network
上述配置完成檢查下 Clash 客戶端是否配置防火牆入站規則,我建議使用進階配置查看,如下

當時我就是疏忽這步驟,導致我必須要關閉防火牆才能使用代理!網上說要把 clash 相關都允許,但是新版本的 clash 改名稱了,所以得特別注意!
Clash 配置
這裡我使用 Sparkle 如下配置

WSL 測試代理
這裡先輸入命令查看 HOST 主機的 IP 地址
cat /etc/resolv.conf |grep -oP '(?<=nameserver\).*'
使用 CURL 進行測試,出現下圖說明正常,主機地址按照上圖修改
curl --proxy http://172.19.0.1:7890 www.google.com
固定代理配置
修改 .bashrc 中的內容如下
添加到底部的內容如下
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\).*')
export https_proxy="http://${hostip}:7890"
export http_proxy="http://${hostip}:7890"
完成後直接使用 curl 測試,命令如下
curl www.google.com
正常跟前面返回內容一樣就代表配置生效啦!
正文完



