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

Ale*_*mie 7 iptables nat

我想将端口范围(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
Run Code Online (Sandbox Code Playgroud)

它完美地运作.但是,如果初始端口范围与辅助主机上的端口范围不同:

iptables -t nat -I PREROUTING -p tcp -m tcp --dport 30000:40000 -j DNAT --to [local_ip]:10000-20000
Run Code Online (Sandbox Code Playgroud)

然后,不是使用它的相应端口映射每个端口,而是将端口30000-40000上的所有接入连接映射到辅助主机上的相同(随机我认为)端口(此时它们都将进入13675).

我也试过使用端口重定向

-j REDIRECT
Run Code Online (Sandbox Code Playgroud)

我也无法做到这一点.

如何从第一个示例维护相同的行为以使用不同的端口范围?

Ale*_*mie 2

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