Cus Asked:2020-08-18 02:58:39 +0000 UTC2020-08-18 02:58:39 +0000 UTC 2020-08-18 02:58:39 +0000 UTC 端口等级重定向到另一台服务器 772 如何将端口等级重定向到另一台服务器?示例:从 20000 到 23000 端口的所有连接转发到 2.3.4.5:PORT(20000 到 23000) linux 2 个回答 Voted Best Answer user_587 2020-08-18T03:47:48Z2020-08-18T03:47:48Z 这只有在 other_server 将通过第一台服务器发送响应时才有可能(也就是说,事实上,当第一台服务器是 other_server 的默认网关时(这也可以使用 VPN 来实现))。 假设 server1 有一个公共地址 188.1.1.5(这是传入连接将到达我们感兴趣的端口的地址。 假设server1和server2通过网络192.168.1.0连接,其中server1的地址为192.168.1.1,server2的地址为192.168.1.2,192.168.1.1是server2的默认gw。 在这种情况下,在 server1 上设置 iptables 如下所示: iptables -t nat -A PREROUTING -p tcp --dport 20000:23000 -m state --state NEW -j DNAT --to-destination 192.168.1.2 当然,必须在 server1 上允许 IP 转发。 user_587 2020-08-18T04:42:42Z2020-08-18T04:42:42Z 还有另一种选择 - 在配置为TCP 代理的 server1 上安装 nginx 。此解决方案与问题的原始陈述相去甚远,但它在不满足默认网关条件的情况下工作。他有两个“但是”: 所有到 server2 的连接都来自 server1 的地址 我自己没有测试过:)
这只有在 other_server 将通过第一台服务器发送响应时才有可能(也就是说,事实上,当第一台服务器是 other_server 的默认网关时(这也可以使用 VPN 来实现))。
假设 server1 有一个公共地址 188.1.1.5(这是传入连接将到达我们感兴趣的端口的地址。
假设server1和server2通过网络192.168.1.0连接,其中server1的地址为192.168.1.1,server2的地址为192.168.1.2,192.168.1.1是server2的默认gw。
在这种情况下,在 server1 上设置 iptables 如下所示:
当然,必须在 server1 上允许 IP 转发。
还有另一种选择 - 在配置为TCP 代理的 server1 上安装 nginx 。此解决方案与问题的原始陈述相去甚远,但它在不满足默认网关条件的情况下工作。他有两个“但是”: