使用 iptables 根据域名透明访问 2 个代理

使用 iptables 根据域名透明访问 2 个代理

我设置了 2 个代理服务器。一个是 socks 代理,我希望默认将其用于所有连接。第二个代理是 http 代理,我希望将其用于与特定主机(所有主机都在同一个域中)建立 http 连接

让我们假设:

  • Socks 代理是 hostA:9000
  • Http 代理是 hostB:8080
  • 需要通过 http 代理的域名是 *.foobar.com

可以配置 iptables 来执行此操作吗?

答案1

对于 socks 代理,你可以使用一个名为tun2socks(这是链接)。它基本上设置了一个隧道设备,您可以创建路由规则来通过隧道传输流量。我使用它来连接我的工作网络(因为 Linux 上的专有 VPN 软件很糟糕)。它工作得很好,但有一些怪癖(最值得注意的是它仅适用于 TCP)。

对于 http 代理。理论上这应该是可能的,但我自己从来没有这样做过。然而 nixcraft 有一个如何,而且他们的东西通常都非常好。

相关内容