Чем можно переключать маршрут по-умолчанию на роутере
Доброго времени суток всем, Ситуация такая - маршрутизатор с тремя интерфейсами в интернет: 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. Аналогично для остальных линков. -- WBR, Andrey Tataranovich -- 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/20140523173412.5fc64a2c@dragoncore.local
Re: Чем можно переключать маршрут по-умолчанию на роутере
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
Re: Чем можно переключать маршрут по-умолчанию на роутере
Мы в своё время для исключения ложных срабатываний проверяли пингами по три узла на каждом направлении. Если все три узла легли, значит инет на данном направлении сдох. 23 мая 2014 г., 17:45 пользователь George Shuklin george.shuk...@gmail.comнаписал: 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 -- С уважением, Виталий Поляков
Re: Чем можно переключать маршрут по-умолчанию на роутере
23.05.2014 18:45, George Shuklin пишет: Вечная проблема мелких офисов - в отсутствие нормального BGP, нет возможности понять, что провайдер лёг. Можно подумать BGP спасёт от того что через одного из аплинков начались потери за его BGP-хостом процентов эдак на 40. BGP не панацея. -- Best regards, Mikhail - WWW: http://www.antmix.ru/ XMPP: ant...@stopicq.ru signature.asc Description: OpenPGP digital signature
Re: Чем можно переключать маршрут по-умолчанию на роутере
On 05/23/2014 06:03 PM, Mikhail A Antonov wrote: 23.05.2014 18:45, George Shuklin пишет: Вечная проблема мелких офисов - в отсутствие нормального BGP, нет возможности понять, что провайдер лёг. Можно подумать BGP спасёт от того что через одного из аплинков начались потери за его BGP-хостом процентов эдак на 40. BGP не панацея. BGP, разумеется, не панацея. Но, обычно, в местах, где водится BGP, обычно начинают переключать не целиком аплинка, а отдельные направления (как на входящие, так и на исходящие). -- 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/537f6d9b.6030...@gmail.com
Re: Чем можно переключать маршрут по-умолчанию на роутере
On Fri, May 23, 2014 at 06:47:39PM +0300, George Shuklin wrote: On 05/23/2014 06:03 PM, Mikhail A Antonov wrote: 23.05.2014 18:45, George Shuklin пишет: Вечная проблема мелких офисов - в отсутствие нормального BGP, нет возможности понять, что провайдер лёг. Можно подумать BGP спасёт от того что через одного из аплинков начались потери за его BGP-хостом процентов эдак на 40. BGP не панацея. BGP, разумеется, не панацея. Но, обычно, в местах, где водится BGP, обычно начинают переключать не целиком аплинка, а отдельные направления (как на входящие, так и на исходящие). В местах, где водится bgp, обычно кто-то сидит и круглосуточно смотрит на монитор потерь? Ну-ну. :) А самописный скрипт да, смотрит исправно. -- Eugene Berdnikov -- 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/20140523164326.gz27...@sie.protva.ru
Re: Чем можно переключать маршрут по-умолчанию на роутере
23 мая 2014 г., 18:34 пользователь Andrey Tataranovich tataranov...@gmail.com написал: Соответственно ищу инструмент, который сможет отслеживать наличие связи с интернетом и переключать default route в соответствии с определенной политикой. Например: Если нет выхода в интернет через provider1 в течении 5 минут, то убрать default route с eth0 и продолжать следить за состоянием линка (при этом траффик пойдет через ppp0). Если выход в интернет появился через provider1 и стабилен в течении 5 минут, то вернуть default route с нужной метрикой на eth0. Аналогично для остальных линков. Часть моего скриптика для затравки и развития ping -c1 -q $IP_TEST 21/dev/null if [ ! $? -eq 0 ] ; then echo Access to IP_TEST ($IP_TEST) via current default GW (`ip route show default | awk '/default/ {print $3}'`) are absent if [ `ip route show default | awk '/default/ {print $3}'` = $GW_WAN1 ]; then echo -e Change default route to GW_WAN2 ($GW_WAN2) | logger -t $0 -p daemon.info ip route delete default ip route add default via $GW_WAN2 1/dev/null else echo -e Change default route to GW_WAN1 ($GW_WAN1) | logger -t $0 -p daemon.info ip route delete default ip route add default via $GW_WAN1 1/dev/null fi fi