使用 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

相關內容