【问题标题】:Iptables forward port range to another port range on a different hostiptables 将端口范围转发到不同主机上的另一个端口范围
【发布时间】:2014-05-14 10:33:17
【问题描述】:

我想将端口范围(30000 到 40000)上的传入请求重定向到不同端口范围(10000-20000)上的不同主机,将它们从 1 映射到 1。(30000 到 10000、40000 到 20000 等) 如果端口范围相同,即:

iptables -t nat -I PREROUTING -p tcp -m tcp --dport 10000:20000 -j DNAT --to [local_ip]:10000-20000

完美运行。但是如果初始端口范围与从主机上的端口范围不同:

iptables -t nat -I PREROUTING -p tcp -m tcp --dport 30000:40000 -j DNAT --to [local_ip]:10000-20000

然后,不是将每个端口与其对应的端口映射,而是将端口 30000-40000 上的所有传入连接映射到辅助主机上的相同(我认为是随机的)端口(目前它们都将指向 13675)。

我也尝试过使用端口重定向

-j REDIRECT

我也无法让它工作。

如何保持与第一个示例相同的行为以使用不同的端口范围?

【问题讨论】:

    标签: iptables nat


    【解决方案1】:

    经过大量搜索和询问,显然 iptables 无法处理,即使使用伪接口也是如此。

    【讨论】:

      【解决方案2】:

      我会尝试使用 xinit.d 在您想要的端口范围内接受传入连接,并让它为每个正在使用的隧道自动实例化 netcat ( nc ) 之类的东西。

      也许这个链接可能会有所帮助,它是相似的: https://blog.linuxnet.ch/automatic-tunnels-with-xinetd-and-netcat/Executing script on receiving incoming connection with xinetd

      【讨论】:

      • 我认为如果处理的负载超过最小负载,这将是一个主要的性能损失。
      猜你喜欢
      • 1970-01-01
      • 2018-08-09
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2018-11-28
      • 2016-07-25
      • 1970-01-01
      相关资源
      最近更新 更多