LINUX.ORG.RU
 

Маршрутизация в Linux


0

1

Ситуация:

Есть сервер, на нем 2 сетевых интерфейса: eth0: 192.168.0.1/24 eth1: 192.168.1.1/24

Настроена policy based маршрутизация:

ip rule add from 192.168.0.0/24 table 100
ip rule add from 192.168.1.0/24 table 101
ip route add default via 192.168.0.254 dev eth0 table 100
ip route add default via 192.168.1.254 dev eth0 table 100

При явном указании локального адреса исходящие tcp подключения и traceroute работают. Без указания адреса локального адреса не маршрут не найден.

Вопрос: default gateway для таблицы default обязателен?

P.S. Обработкой входящих соединений проблем нет.

СКАЖИ СВОЕМУ КОМПЬЮТЕРУ, ЧТОБЫ ЗАПЕР ДВЕРЬ

любительская автоматизация; устройство с открытой прошивкой
исходные тексты всех программ, открытые библиотеки
http://www.unicontrollers.com/products/unc01x

[#] Ответ на: комментарий от exst 05.11.2011 22:49:06  
zolden

интересно, в принципе я видел несколько раз чудеса с трассертом при условии отсутствия дефолта...а что покажет
ip r g адрес_назначения ?

** ()
[#] Ответ на: комментарий от exst 05.11.2011 23:23:40  
zolden

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

** ()
[#]  
mky

Когда не указано на какой адрес биндиться, ядро выбирает его только с учётом основной таблици маршрутизации. При добавлении маршрута можно указывать src-адрес и тогда при создании соединения без указания локального адреса будет использован указаный адрес.

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

ИМХО, маршрут по умолчанию в основной таблице маршрутизации нужно ставить всегда, причём не обязательно через какой-то gateway, можно особые типы маршрутов "blackhole" или "unreachable".

***** ()