multi-home на одном интерфейсе?

Jan 09, 2012 22:57

Что-то я тоже несколько отупел, хотя и праздников толком не было ( Read more... )

network

Leave a comment

Comments 16

alexkuklin January 9 2012, 23:00:57 UTC
вместо
ip route add ... dev ...
писать
ip route add ... via ...
и должно, по идее, получиться.

Reply

dil January 10 2012, 07:55:22 UTC
add что_именно? оно ж в обоих случаях будет default.

Reply


lugoblin January 10 2012, 00:05:18 UTC
> причём каждая со своим default gw
Это уже не совсем тривиально.
Для двух N физических, у меня на up и down специальный скрипт дёргается из /etc/network/interfaces.
104 строчки, с претензией на универсальность. Половина коментарии, половина оставшегося - разбор параметров.

На алиасах не пробовал, но, возможно, сработает [с минимальной правкой]. Надо?

Reply

dil January 10 2012, 07:52:04 UTC
Дык. Было б тривиально, я б не спрашивал.
Для N физических оно более-менее понятно, а вот для одного у меня ступор наступает.

Reply


zgee January 10 2012, 00:54:57 UTC
По моему крайне скромному мнению, default gw, он на то и default, что в системе он один. Подозреваю, что вам надо policy routing.

Reply

dil January 10 2012, 07:56:00 UTC
Спасибо, кэп. В том и вопрос, какая именно policy нужна в этом случае.

Reply


stimur January 10 2012, 02:51:18 UTC
ip ru add from IP1 lookup 11
ip ro add default gw via GW1 src IP1 table 11

ip ru add from IP2 lookup 12
ip ro add default gw via GW2 src IP2 table 12

и так далее

Reply

dil January 10 2012, 08:03:12 UTC
Ага, кажется это оно. Спасибо, попробую.

А что при этом получится для программ, которые байндятся к 0.0.0.0, то есть, не указывают явно свой IP, и устанавливают исходящие соединения?

Reply

stimur January 10 2012, 13:44:36 UTC
для них будет использован основной default gw (из таблицы номер 0)
если его не будет - никуда ничего не пойдет

Reply

lugoblin January 10 2012, 17:10:47 UTC
(Чё-та я давно не догадался что таблицы можно просто по номеру указывать, всегда их в rt_tables прописывал...)

Reply


amarao_san January 10 2012, 03:34:31 UTC
Во-первых, они не будут два default gateway, а будут два маршрута. Во-вторых, мне удавалось такое на циске, но потом её пришлось обновить, а новая прошивка вопит, что два route map'а на один интерфейс вешать нельзя.

В принципе, при должной шелл-обвязке, можно настроить смену активного маршрута (проверять доступность arping'ом, в зависимости от, менять hop в 0/0).

Reply

dil January 10 2012, 08:00:01 UTC
Они default для подсетей. Для машины, понятное дело, default должен быть один. Который из них будет активным, меня пока не волнует, они оба всё равно оба идут в одного провайдера.
Меня волнует, чтобы исходящие пакеты с одного адреса отправлялись в один gateway, а с другого - в другой.

Reply

amarao_san January 10 2012, 08:36:55 UTC
Ты путаешь понятие default gateway и gateway.

default gateway - оно per host. То есть хост, не зная, куда девать что-то, отсылает его туда.

А всё остальное - шлюзы (узел, на которой пересылается трафик, выходящий за пределы локально подключенных сетей согласно правилам маршрутизации). Двух default gateway не может быть, потому что один из них тут же станет не default, а использующийся при определённых условиях.

Reply

lugoblin January 10 2012, 17:15:45 UTC
Голову морочите, десу.
Default оно в контексте применяемой таблицы маршрутизации. Если это в таблице main, то да, оно per host. А в других таблицах их ещё может быть. Более одного default в одной и той же таблице таки да, бессысленно.

Reply


Leave a comment

Up