通过 SSH 连接路由除 Tor 之外的所有流量

通过 SSH 连接路由除 Tor 之外的所有流量

我已设置 SSH 隧道(在 Linux 上),我想通过它路由所有网络流量,但我还运行了 Tor,并且我不希望 Tor 流量通过 SSH 隧道。我可以使用以下方法路由所有流量通过 SSH 隧道redsocks(我让 SSH 运行 SOCKS 代理,运行redsocks,并使用iptables规则将所有流量重定向到redsocks,因此所有流量都通过隧道)。

但是我不知道如何让 Tor 避开隧道并建立直接连接...iptables曾经有一个--pid-owner选项可以完美实现这一点,但由于无法正确实现而被删除。

那么,现在最好的方法是什么?(SSH 隧道方法已修复:我无法切换到不同类型的 VPN。)

答案1

  • tor在您正在运行的同一系统上运行redsocks
  • tor对远程系统上的 socks 端口 9050进行例外设置- 设置一条iptables允许它的规则,等等。
  • 告诉你的浏览器连接到 {远程系统 IP}:9050 而不是本地主机来使用 Tor。
  • 如果您也在privoxy本地运行,请考虑也在远程系统上运行它。

另一种方法是使用不同的 SOCKS 代理,这样您就可以将某些端口转发到另一个本地代理服务器。我认为squid您可以这样做。

答案2

iptables 选项是匹配--uid-owner的一部分-m owner,这可能是您在寻找它时遇到这么大麻烦的​​原因。

这样的规则是可行的:

-A OUTPUT -m owner --uid-owner 998 -m conntrack --ctstate NEW -j ACCEPT

其中 998 是 tor 的 UID。您可以根据现有防火墙对其进行调整。

相关内容