借助 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 模式或配置内核转发作为路由网关。