假设我们有两台服务器,比如服务器 1(92.92.92.92)服务器 2(76.76.76.76)。
我正在将服务器 1 端口 4444 上的传入流量重定向到服务器 2 端口 12345,这很容易通过服务器 1 上的 iptables 规则实现,如下所示:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 4444 -j DNAT --to-destination 76.76.76.76:12345
iptables -t nat -A POSTROUTING -j MASQUERADE
效果很好
请求 --> 4444:服务器1 <===> 12345:服务器2
我需要做的是在两个服务器之间使用 tor 网络:
请求 --> 4444:服务器1 <===> |tor 网络| <===> 12345:服务器2
我该怎么办?
我尝试在 server2 上使用 HiddenServicePort,但无法将流量从 HiddenServicePort 转发到另一个 tor 主机名(在 server1 中)
另外我如何将流量从 iptables 重定向到 tor 特定的主机名(server2 主机名)
答案1
如果你想执行以下操作:请求 --> 4444:服务器1 <===> |tor 网络| <===> 12345:服务器2
您只需要在 server1 上设置 tor 客户端,然后按顺序使用系统范围的代理设置(例如https://www.experts-exchange.com/articles/16980/How-to-set-up-a-TOR-Transparent-Proxy.html)
在应用任何 iptables 之前,请务必检查是否有特定规则可让您通过 SSH 保持与服务器的连接(以避免被切断)
为了将请求从端口 4444 代理到 server2,您需要设置反向代理,例如 Nginx 或 HAproxy(使用 tor 客户端,这将使用 tor 网络连接到 server2),从技术角度来看,这没有多大意义,但我不知道具体的用例