我想使用iptables来设置DNAT目标。多端口虚拟 服务器是我想要做的目的。但我发现DNAT不能 将多端口映射到目标多端口。 e.g。
iptables -t nat -A PREROUTING -p tcp --dport 1000:2000 -j DNAT - 到目的地192.168.1.100:3000-4000
我认为这个规则应该是 1000 ------> 3000 1001 ------> 3001 ........................... 2000 ------> 4000
我试图用whireshark捕获数据包。无论原创 数据包是1000,1001,2000等,它们似乎转换为端口 仅3000。那条iptables只将许多端口映射到一个端口 端口。
有任何建议吗?
感谢。
答案 0 :(得分:1)
iptables-extensions' man page声明内核 2.6.11-rc1 和更新版本不支持指定多个目标端口:
在 2.6.10 之前的内核中,您可以添加多个
--to-destination
选项。对于那些内核,如果您通过地址范围或多个--to-destination
选项指定多个目标地址,则会在这些地址之间进行简单的循环(一个接一个的循环)负载平衡。以后的内核(> = 2.6.11-rc1 )不再具有NAT到多个范围的能力。