LINUX.ORG.RU
ФорумAdmin

Кому велосипед

 , ,


3

1

Очередной раз столкнувшись с задачей «2 провайдера, надо периодически тестировать канал и переключаться на живого», решил вместо по-быстрому втыкаемых костылей запилить немного более обобщённое решение. Для Debian/Ubuntu, если кто добавит подержку redhat-овских networking-scripts - скажу спасибо. Тыц: https://github.com/selivan/inet-failover

Умеет:
- переключаться на второго провайдера при падении первого
- сервер доступен снаружи с обоих адресов
- минимальная конфигурация: все сетевые параметры берутся из interfaces, ни один параметр не надо описывать несколько раз в нескольких скриптах, поэтому меньше вероятность ошибки
- Если использовать ifup/ifdown вперемешку с ручным ifconfig/ip addr, скрипты всё равно стараются выдать правильные таблицы и правила роутинга
- Файл состояния, показывающий используемый в данный момент основной интерфейс. Мониторинг рулит
- Аккуратный лог-файл. Мониторятся оба соединения, даже если используется только одно

Не умеет:
- Двух провайдеров, настроенных на алиасах одного интерфейса: eth0:0 eth0:1
- Балансировку нагрузки вида «nexthop via $IP1 dev $IFACE1 weight 1 nexthop via $IP2 dev $IFACE2 weight 1»

★★★

Последнее исправление: selivan (всего исправлений: 1)

О, надо заценить.

Как я понял, работает на двух физических сетевых интерфейсах?

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

Да, или на двух VLAN-ах, или интерфейсы могут быть динамическими, DHCP/PPP(последнее не проверялось, но по идее работать должно).

selivan ★★★
() автор топика
Последнее исправление: selivan (всего исправлений: 1)

о, интересненько. надо затестить.

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

У Mikrotik-а netwatch, по-моему, не умеет проверять через заданный интерфейс, поэтому нельзя мониторить неактивный канал.

З.Ы. С содроганием вспоминю написание скриптов для Mikrotik-а - скриптовый язык, молча умирающий при ненулевом коде выхода любой команды - это **дец на ножках. А так железки приятные

selivan ★★★
() автор топика
Последнее исправление: selivan (всего исправлений: 1)
Ответ на: комментарий от pavel38

Но если ты проверяешь пинг до серверов, которые тебе нужны(впн устанавливать, или тот же OpenDNS юзать) - уже не катит

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

От задачи зависит. Меня, например, волнует доступность моих VPN-серверов, и совершенно не волнует работоспособность гугла. DNS, который также проверяется curl-ом, при сдохшем VPN-е у меня точно не заработает.

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