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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.