借助 WSL 访问 IP 地址时转向另一 IP

💡 原文中文,约1600字,阅读约需4分钟。
📝

内容提要

通过在 WSL 2 中配置 nftables 和搭建代理服务器,可以将特定 IP 地址的 TCP 流量重定向到其他 IP。使用 Proxifier 强制程序走代理,或通过特定参数设置网络请求走代理。

🎯

关键要点

  • 需求是将特定 IP 地址的 TCP 流量重定向到其他 IP 地址。

  • 办公网访问云服务器需要使用弹性 IP(EIP),希望在本地将请求映射到 EIP。

  • 修改 hosts 文件适用于域名,但不适用于 IP 地址。

  • 修改网卡的网关或路由规则不可行,因为没有对端机器处理这些路由。

  • 在 Windows 上使用 WSL 2 和 Proxifier 可以实现流量重定向。

  • 需要配置 WSL 下的 IP 转发规则,并搭建代理服务器。

  • 使用 nftables 配置 NAT 规则,示例命令包括添加 NAT 表和链,以及重定向规则。

  • 推荐使用 microsocks 作为代理程序,暴露在 1081 端口。

  • 确保 WSL Settings 中启用 localhost 转发,以便在 Windows 下访问代理。

  • Proxifier 是付费软件,可以为特定 IP 指定代理规则。

  • 对于少量程序,可以查看是否有运行参数支持代理,如 Java 的 VM 参数。

  • 如果不行,可以尝试 TUN 模式或配置内核转发作为路由网关。

延伸问答

如何在 WSL 2 中配置 IP 转发规则?

可以使用 nftables 配置 IP 转发规则,示例命令包括添加 NAT 表和链,以及重定向规则。

Proxifier 是什么,它如何帮助流量重定向?

Proxifier 是一款付费软件,可以强制特定程序通过代理服务器发送流量,从而实现流量重定向。

在 WSL 中搭建代理服务器的推荐程序是什么?

推荐使用 microsocks 作为代理程序,它简单且功能单一,适合在 WSL 中搭建。

如何将特定 IP 地址的流量重定向到其他 IP 地址?

通过配置 WSL 中的 nftables 和搭建代理服务器,可以将特定 IP 地址的 TCP 流量重定向到其他 IP 地址。

在 Windows 上如何访问 WSL 中的代理?

确保在 WSL Settings 中启用 localhost 转发,然后可以通过 localhost:1081 直接访问代理。

如果 Proxifier 不适合,我还有哪些替代方案?

可以查看程序是否支持运行参数来设置代理,或者尝试使用 TUN 模式和内核转发作为路由网关。

➡️

继续阅读