我想将端口范围(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
我也无法做到这一点。
如何在第一个示例中保持相同的行为以使用不同的端口范围?
答案 0 :(得分:2)
经过大量的搜索和询问后,显然iptables无法处理,即使使用伪接口也不行。
答案 1 :(得分:1)
我尝试使用xinit.d接受所需端口范围上的传入连接,并让它自动为每个主动使用的隧道实例化netcat(nc)。
也许这个链接可能会有所帮助,它类似: https://blog.linuxnet.ch/automatic-tunnels-with-xinetd-and-netcat/或 Executing script on receiving incoming connection with xinetd