Externen Port zufällig auswählen, wenn NAT mit iptables durchgeführt wird

Externen Port zufällig auswählen, wenn NAT mit iptables durchgeführt wird

Ich möchte ein anderes NAT-Verhalten als das von implementierte Standardverhalten konfigurieren iptables.

In diesem Beispiel:

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

Das Standardverhalten von NAT iptablesist Endpunkt-unabhängig. Das bedeutet, dass alle vom selben Host initiierten Sitzungen dieselbe „externe“ IP-Adresse und Portnummer haben, selbst wenn es einen Portbereich gibt.

Ich muss wissen, welche Flags oder Optionen geändert werden müssen, um für jede Sitzung eine andere Portnummer zu haben.

Antwort1

SNATakzeptiert eine --randomOption (voniptables-Erweiterungenmanpage):

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

Ich würde also so etwas versuchen:

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

verwandte Informationen