我已设置 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。您可以根据现有防火墙对其进行调整。