我正在寻找一种方法将流量重定向到某个端口上的另一个 IP。
可以使用 Linux 上的 iptables 和 Windows 上的 netsh 来实现这一点,但在这两种情况下,客户端都会获得“重定向”服务器的 IP 地址。它有点像代理,而这并不是我想要的。
例如:客户端(1.1.1.1)> 重定向服务器(2.2.2.2)> 目标服务器(3.3.3.3) 在我上面提到的尝试中,客户端在目标服务器上的可见 IP 成为重定向服务器的 IP。
我正在寻找一种方法,通过 2.2.2.2 将客户端“踢”到 3.3.3.3,这样 1.1.1.1(客户端的 IP 和连接本身)就会可见,并且不再需要重定向服务器。无论是在 Windows 还是 Linux 服务器上。
顺便说一下,UDP。我需要它来引导游戏服务器中的玩家到备份服务器,以防 1 台服务器崩溃或受到攻击。
有人有主意吗?
答案1
你甚至可以使用 iptables 来做到这一点:
iptables -t nat -d 2.2.2.2 -j DNAT --to 3.3.3.3
但这仅当 3.3.3.3 再次通过 2.2.2.2 路由其传出流量或您的网络配置为允许否则不可避免的非对称路由时才有效。
答案2
通常,这是使用负载平衡器和会话持久性来实现的。如果负载平衡器后面的节点未通过健康检查并从池中删除,则会与池中的新服务器建立连接。