想象一下,我有多个(debian)服务器在不通过局域网连接的不同位置。
我需要find一个方法来转发特定的端口到其他服务器之一,但处理请求的服务器应该看到连接到转发服务器的用户的原始IP。 我知道有HTTP的X-Forwarded-For,但我一般对TCP感兴趣。
也可以设置一个VPN(openvpn,PPTP,…),我不知道这是否有帮助,但VPN的问题是,那么所有的跨服务器连接将通过VPN主机,但它会更好,如果每台服务器都可以直接将stream量转发到另一台
我的意思是:server1:80 => server2:80
server2:8080 => server3:8080
server3:1234 => server1:1234
我尝试SSH转发,但原来的IP丢失。
很难满足您的确切需求,但您可以尝试的一种可能性是:
你的要求是非常具体的,如果退后一步,你可以从我们这里得到更好的build议,并解释你正在尝试devise一些更多的细节。
一旦你开始转发从服务器到服务器的数据包,你会加倍networking上的负载。 为什么不设置您的路由器/防火墙redirect基于目的端口的数据包,以便它首先到达正确的服务器? 然后路由器/防火墙会来回处理交换目标地址。
之所以需要“是”,是因为如果客户端认为它连接到server1,返回的数据包必须来自server1的IP地址,否则客户端将忽略它们,所以当server3响应时,“from”地址需要改为server1,防火墙应该使用像Linux的ip_conntrack这样的NAT来自动处理。
如果你坚持在服务器之间来回转发,我现在有一些想法,但没办法testing它们。