通过 Clash `Allow LAN` 设置 WSL2 代理时 `hostip` 和 `windows ip` 有什么区别?

通过 Clash `Allow LAN` 设置 WSL2 代理时 `hostip` 和 `windows ip` 有什么区别?

我搜索并浏览了许多博客或网站,寻找“如何为 WSL2 设置代理”。例如这里或者这里

我感到困惑的是,我发现以下两种方法在wegt www.google.com测试时都可以成功为 WSL2 设置代理。

假设 我windowsip=192.168.3.3hostip=172.24.80.1Windows 版 Clash 中的网络接口图

  • 使用hostip
hostip=172.24.80.1
proxyPort=7890 
export https_proxy="http://${hostip}:${proxyPort}";
export http_proxy="http://${hostip}:${proxyPort}";
export all_proxy="http://${hostip}:${proxyPort}";

那么使用的测试结果hostip=172.24.80.1为: 测试图形以证明它确实有效

  • 或使用windows ip
windowsip=192.168.3.3
proxyPort=7890 
export https_proxy="http://${windowsip}:${proxyPort}";
export http_proxy="http://${windowsip}:${proxyPort}";
export all_proxy="http://${windowsip}:${proxyPort}";

使用测试结果windowsip=192.168.3.3为:测试图形以证明它确实有效

由于我确实缺乏相应的计算机网络知识,所以我对此非常困惑。为什么在启用 CFW 的情况下,ip192.168.3.3172.24.80.1都对 WSL2 有效Allow LAN

那么,上述两种方法有什么区别?是否存在可能影响我后续使用的潜在差异?

提前致谢。

答案1

从字面上理解,没有。在这两种情况下,变量本身都没有意义——它是一个临时定义,仅有的用作$variable后续export行中的替换。(只有“导出”的变量作为环境变量对子进程可见;其余变量仍保留在 shell 内部。)在这两种情况下,最终结果都是export https_proxy="http://172.24.80.1:7890"

相关内容