freebsd и 2 канала провайдера

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

freebsd и 2 канала провайдера

Непрочитанное сообщение Гость » 2014-12-23 7:27:10

доброе утро. Есть freebsd в роли роутера (pf) и 2 провайдера. В сети в основном освещается балансировка исходящего канала через 2-х провайдеров (route-to, reply-to) , мне же всего лишь необходимо при пропадании основного канала интернета зайти удаленно по ssh на сервер, поменять в rc.conf default gateway и дать 2 команды:

Код: Выделить всё

/etc/rc.d/netif restart && /etc/rc.d/routing restart
Кто-нибудь знает как это можно удобно сделать?
Знаю, что можно написать костыль пингующий шлюз/какой-нибудь внешний сервер и переключать канал, но хочется более элегантного решения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1779
Зарегистрирован: 2008-09-08 21:59:56

Re: freebsd и 2 канала провайдера

Непрочитанное сообщение Neus » 2014-12-23 10:50:50

в основе любого "элегантного" решения будет лежать алгоритм: если нет связи - переключаем канал.
т.о. "костыль пингующий шлюз/какой-нибудь внешний сервер и переключать канал" ничем не отличается от любого другого "элегантного костыля"

Гость
проходил мимо

Re: freebsd и 2 канала провайдера

Непрочитанное сообщение Гость » 2014-12-23 12:09:23

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

Гость
проходил мимо

Re: freebsd и 2 канала провайдера

Непрочитанное сообщение Гость » 2014-12-25 10:53:51

Чтобы работал второй канал при default route установленном на первый (это чтобы можно было "зайти удаленно"), надо минимум иметь в правилах ipfw:

Код: Выделить всё

fwd $gateway_isp2 src-ip $ip_isp2 out not via $if_isp2
Дальше

Код: Выделить всё

route delete default; route add default $gateway_isp2