Рандомизировать внешний порт при выполнении NAT с помощью iptables

Рандомизировать внешний порт при выполнении NAT с помощью iptables

Я хочу настроить поведение NAT, отличное от поведения по умолчанию, реализованного в iptables.

В этом примере:

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

Поведение NAT по умолчанию, реализованное iptablesEndpoint independent. Это означает, что все сеансы, инициированные с одного и того же хоста, будут иметь один и тот же «внешний» (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

Связанный контент