On 05/23/2014 05:34 PM, Andrey Tataranovich wrote:
Доброго времени суток всем,
Ситуация такая - маршрутизатор с тремя интерфейсами в интернет:
eth0 - provider1
ppp0 - provider2
ppp1 - provider3
На всех интерфейсах настроен policy routing через iproute2.
- через provider1 (eth0) маршрутизируется большинство хостов в сети;
- через provider2 (ppp0) маршрутизируются несколько определенных хостов
и весь траффик к определенной внешней сети x.x.x.x/28;
- provider3 используется как совсем запасной вариант, на случай отказа
двух предыдущих.
Сейчас все интерфейсы настроены как default, но с разными метриками.
eth0 - metric 0, ppp0 - metric 10, ppp1 - metric 20 - соответственно
пока жив интерфейс eth0, то весь трафик по-умолчанию идет через него,
если его опустить, то пойдет через ppp0 и т.д.
Теперь сама суть вопроса - eth0 никогда сам не "умрет" (в отличии от
ppp). На нем может потеряться связность со шлюзом провайдера или с
интернетом (при этом до шлюза провайдера трафик ходит).
Соответственно ищу инструмент, который сможет отслеживать наличие связи
с интернетом и переключать default route в соответствии с определенной
политикой.
Например:
Если нет выхода в интернет через provider1 в течении 5 минут, то убрать
default route с eth0 и продолжать следить за состоянием линка (при этом
траффик пойдет через ppp0). Если выход в интернет появился через
provider1 и стабилен в течении 5 минут, то вернуть default route с
нужной метрикой на eth0.
Аналогично для остальных линков.
Вечная проблема мелких офисов - в отсутствие нормального BGP, нет
возможности понять, что провайдер лёг. Как определить, что "нет
интернета"? Если определишь как определить покладание интернета, то
дальше вопрос двустрочного шеллового скрипта по перекидыванию default
gateway. У цисок это называется sla monitor.
ЗЫ Пинг на восьмёрки или на шлюз не очень хорошая идея (ложные
срабатывания).
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/537f5f02.20...@gmail.com