两个 Linux 服务器之间的隧道

两个 Linux 服务器之间的隧道

假设我们有两台服务器,比如服务器 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),从技术角度来看,这没有多大意义,但我不知道具体的用例

相关内容