LINUX.ORG.RU
ФорумAdmin

логика маршрутизации


0

2

Доброго всем линуксистам.

Маршрутизация в Линукс поражает своим масштабом. Но вот закралось сомнение в базовой логике. Проблема уже решилась, но до сих пор остается негативный осадок.

Поясню на простом примере.

Дано: два выхода в интернет через ppp0 и ppp1. Параметр defaultroute у обоих отключен.

Изначально была сделана типовая балансировка:

ip route add default scope global nexthop dev ppp nexthop dev ppp1

Интернет входит и выходит (в общем «замечательно выходит» :).

Теперь возникло желание весь трафик пустить только через ppp1. Делаю типовую команду

ip route del default ip route add default via <шлюз провайдера> dev ppp1

Проблем вроде никаких.

Оставшийся инрфейс ppp0 поднимается вообще без шлюза.

И вот грабли. По ppp0 нужно принимать из интернета входящие подключения - глухо.

Запускаю tcpdump -i ppp0 - вижу что на ppp0 приходят пакеты, но до локальных процессов они не доходят.

Еще запускаю ping -I ppp0 ya.ru - тоже глухо. Смотрю tcpdump -i ppp0 - и снова вижу что echo request нормально уходит в интернет и нормально возвращается echo reply на ppp0, но до локального процесса ping они не доходят.

Файрвол - ВЫРУБЛЕН.

В небезысвестном http://lartc.org говорится, что в случае нескольких выходов в интернет нужно добавить десяток команд для таблиц маршрутизации, и том числе, с указанием источника пакета (src).

Ситуация напоминает как если я вызвал такси, сообщил свой адрес, приезжает таксист и говорит по Вашему адресу доставлено такси, а я ему говорю - этот адрес вообще не мой, потому что я точно не знаю откуда вы вообще.

Моя логика в том, что если пришел пакет этому хосту, зачем еще проверять источник пакета.

В чем я неправ?

Сделано так из соображений безопасности. Можно отключить такое поведение, см rp_filter

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

И даже с выключенным rp_filter службы не смогут нормально работать в такой конфигурации, т.к. ответные пакеты будут уходить через дефолтный интерфейс (за исключением некоторых специальных утилит типа пинга).

mashina ★★★★★ ()

>Моя логика в том, что если пришел пакет этому хосту, зачем еще проверять источник пакета.

В чем я неправ?


google://ip+spoofing

В небезысвестном http://lartc.org говорится, что в случае нескольких выходов в интернет нужно добавить десяток команд для таблиц маршрутизации, и том числе, с указанием источника пакета (src).


Не десяток, а всего две. И это очень просто и логично.

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

помогли понять

Спасибо. Принято.

Раньше просто втыкал команды, лишь бы работало. Теперь начинаю осмысленно подходить ко всему что делаю. Не всегда хватает на это толку.

Всем успехов.

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