У меня есть 2 интерфейса eth0 (192.168.0.1) и eth1 (10.1.1.15). И я делаю туземный для всех пакетов таким образом.
iptables-t туземный-A POSTROUTING-s 192.168.0.0/24-j ПОДМЕНА
Теперь я хочу сохранить исходный порт для natted пакетов, как это:
192.168.0.1:8080-> туземный-> 10.1.1.15:8080
Действительно ли возможно сделать это с iptables?
По умолчанию MASQUERADE (как и SNAT) пытается сохранить исходный порт машины, устанавливающей соединение. Но, конечно, если два хоста используют один и тот же, тогда ему придется выбрать другой для второго хоста.
Вы также можете явно установить диапазон портов для каждого протокола с помощью:
/sbin/iptables -t nat -A POSTROUTING -p tcp -j MASQUERADE --to-ports <i>[-<n>]