要回答你的问题,是的.
我在Debian盒子上运行了一个示例规则……
iptables -t nat -A PREROUTING -i xenbr0 -p tcp --dport 64000:65000 -j DNAT --to 172.16.10.10:61000-62000
……没有输出,表明成功.我正在运行内核3.16.0-4-amd64.
通过iptables -t nat -vnL PREROUTING检查NAT规则,我看到列出了规则…
DNAT tcp -- xenbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:64000:65000 to:172.16.10.10:61000-62000
MadHatter是正确的,您不需要-m multiport用于端口范围,仅用于以逗号分隔的端口列表. :为了指定–dport选项的端口范围,需要:但需要a – 以指定DNAT目标中的端口范围.
这个规则在实践中如何运作我不能说,但理论上它应该实现你的目标.
有关DNAT目标的更多信息,请参见here.
希望这可以帮助.