Сохранить исходный порт для исходящих пакетов

У меня есть 2 интерфейса eth0(192.168.0.1) и eth1(10.1.1.15). И я делаю nat для всех пакетов таким образом.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

Теперь я хочу сохранить исходный порт для натированных пакетов, например так:

192.168.0.1:8080 -> nat -> 10.1.1.15:8080

Возможно ли это сделать с помощью iptables?

1 ответ

Решение

По умолчанию MASQUERADE (например, SNAT) пытается сохранить исходный порт компьютера, устанавливающего соединение. Но, конечно, если два хоста используют один и тот же, ему придется выбрать другой для второго хоста.

Вы также можете явно установить диапазон портов для протокола с помощью:

/sbin/iptables -t nat -A POSTROUTING -p tcp -j MASQUERADE --to-ports <i>[-<n>]
Другие вопросы по тегам