Iptables将端口范围转发到另一主机上的另一个端口范围

我想在一个端口范围(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无法处理,即使使用伪接口。


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

也许这个链接可能会有所帮助,它类似于:https://blog.linuxnet.ch/automatic-tunnels-with-xinetd-and-netcat/或者在接收xinetd的传入连接时执行脚本

链接地址: http://www.djcxy.com/p/20449.html

上一篇: Iptables forward port range to another port range on a different host

下一篇: How to convert PNG with alpha to JPEG conserving colors using JAVA