LINUX.ORG.RU
ФорумAdmin

iptables: Внутренние отличия SNAT и MASQUERADE?


0

0

Есть два "внешних" интерфейса, делаю на оба SNAT. Пробую ходить через один - работает. Меняю себе маршрут с помощью `ip rule...` на другой - работает.

А вот с MASQUERADE на оба интерфейса, ходит только по первому. Почему?

★★★★★

В NAT адрес задаётся статически (в скрипте, параметрах...), а MASQUERADE берёт адрес у интерфейса (динамически). NAT используют при постоянном конекте, MASQUERADE при диалапе.

Kisa_Co
()

А если идти через второй, то с каким src адресом уходят пакеты ?

spirit ★★★★★
()

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

spirit ★★★★★
()

При MASQUERADE берется адрес того интерфейса с которого должен уйдти пакет. При этом не принимаються во внимание расширенные правила маршрутизации. В общеем он берет из таблицы маршрутизации первую запись. Обычно эта запись которая была занесена в таблицу первой.

x86 ★★
()
Ответ на: комментарий от spirit

Я ту тему видел, но у меня вроде чуть иначе - пакеты вообще в рельсу уходят :) Т.е. я вижу их на внутреннем интерфейсе и больше нигде.

fagot ★★★★★
() автор топика
Ответ на: комментарий от x86

>При MASQUERADE берется адрес того интерфейса с которого должен уйдти пакет

Не очень понятная фраза, что есть "должен"? :)

>В общеем он берет из таблицы маршрутизации первую запись. Обычно эта запись которая была занесена в таблицу первой.

Да, очень на то похоже.

fagot ★★★★★
() автор топика
Ответ на: комментарий от fagot

опция -o в iptables позволяет же фильтровать по выходному интерфейсу ну вот здесь тоже самое только береться ip адрес выходного интерфейса с учетом НЕ расширенной таблицы маршрутизации

x86 ★★
()
Ответ на: комментарий от x86

> только береться ip адрес выходного интерфейса
И откуда ж он берется ? Из служебной информации, сопровождающей пакет во время обработки ядром (прохождения по правилам firewall-а, маршрутизации, etc) ? Если так, то там уже должен быть _правильный_ исходящий интерфейс - с учетом РАСШИРЕННОЙ маршрутизации, т.к. MASQUERADE выполняется после принятия решения о маршрутизации.

spirit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.