使用 iptables 进行 NAT 时随机化外部端口

使用 iptables 进行 NAT 时随机化外部端口

我想配置一种与 .net 实现的默认行为不同的 NAT 行为iptables

在这个例子中:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:2000-400

NAT 实现的默认行为与iptables端点无关。这意味着,即使存在一系列端口,从同一主机发起的所有会话也将具有相同的“外部”(IP、端口号)。

我需要知道要修改哪些标志或选项,以便为每个会话拥有不同的端口号。

答案1

网络地址转换接受一个--random选项(来自iptables 扩展联机帮助页):

--random
       If  option --random is used then port mapping will be randomized
       (kernel >= 2.6.21).

所以我会尝试这样的事情:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:2000-4000 --random

相关内容