Перейти к содержимому
Калькуляторы

Скрипт автоматического отключения-включения VRRP или его Ether порта по пингу DNS. Возможен ли?

Ситуация - имеются три микротика с настроенными vrrp, у каждого свой уникальный ISP провайдер, на двух стоят каналы на которых сервера смотрят в мир и они приоритетные, третий резерв.  От аварий никто не застрахован vrrp может помочь только если сгорел порт или сам роутер, но если в канале пропал интернет, выхода во внешний мир нет, а на пул провайдера выход есть, например у провайдера входящая магистраль загнулась или не оплатили вовремя и лезет баннер "оплатите интернет" вместо доступа, тот тут vrrp не поможет, и только переключение провайдеров внутри каждого роутера делать. чтобы нетвотч или скрипт пинговали dns и отключали включали портs провайдеров - гайдов по два или три провайдера на микротике в сети достаточно .

 

Вопрос!!!

 

Можно ли по такой же аналогии сделать автоматическое отключение мастера VRRP на роутере, если его ISP не видится пингом 8.8.8.8 и включался бы, когда появлялся бы пинг.

 

подробнее опишу процесс:

 

например на одном из трех роутеров включен мастер VRRP, на нем висят шлюзы в VLAN, другие два бекапных роутера в этом vrid vrrp со своими уникальными интернет провайдерами и меньшим приоритетом. Если происходит просто пропадание пинга в интернет, то vrrp останется мастером и все, кто подключен к этому VRRP шлюзу отвалятся от интернета. Тут как выход можно сделать - в каждый роутер заводить резервные каналы и по пингу переключать маршруты wan. Но почему бы по тому же пингу просто не отключить порт vrrp  - скрипом поставить в disable если пинга на 8.8.8.8 нет и включить назад, когда пинг появится, таким образом все пользователи перейдут на другого провайдера автоматом, включится мастером бекап vrrp с меньшим приоритетом, и все это без резервирования (ISP) wan-каналов, двойных nat и переключений между ними.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пока ждал ответа разобрался, вот готовый пакет для Netwatch для отключения-включения порта Ether1

По аналогии можно подменить на любые порты.

Чем полезно - не нужно резервирования каналов интернета в самом Mikrotik, если используется сеть  с двумя и больше Mikrotik с разными каналами интернет и VRRP, настроенными на всех. Я использую в сети несколько микротов, у каждого есть часть пользователей со своим шлюзом мастером и своим каналом интернет. Этот пакет полезно запускать на роутере где VRRP стоит мастером и на этом шлюзе есть пользователи. в примере VRRP на порту Ether1.  Можно отключить и вообще каждый порт, где настроен VRRP, пока провайдер не поднимет канал. Когда интернет появится, порты включатся, VRRP перейдет в состояние мастер и пользователи вернутся на своего провайдера не замечая никаких последствий. Влияет только если есть подключения из внешнего мира по потухшему каналу. Но лучше так, чем ничего и городить в каждом роутере резервы ISP или вручную переключать все.

Всем удачи

/tool netwatch
add down-script=down_ether1 host=8.8.8.8 interval=15s \
up-script=up_ether1
/system script
/system script
add dont-require-permissions=yes name=up_ether1 owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/interface enable ether1"
add dont-require-permissions=yes name=down_ether1 owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/interface disable ether1"

 

Изменено пользователем SLAVCHIKS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут бы еще неплохо понять зачем все это?

VRPP создан для резервирования самого шлюза.

Для резервирования доступа в интернет есть другие возможности, BGP в первую очередь, ну или если нет BGP то вариантов запустить резерв на микротике полно. Со скриптами или без скриптов - выбирайте на ваш вкус.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BGP не имеется. Про шлюзы и vrrp - стабильность интернета заключена в моем случае в стабильном шлюзе, на котором есть пинг в мир, и сам vrrp стабильность не гарантирует. И такая доступность шлюзов намного будет эффективнее чем заводить в роутер несколько провайдеров и потом их все проверять и переключать скриптами и нетвотчем.  У всех схемы разные, я использую схему без балансировок, у меня например сервера на одном интернете, пользователи на другом, wi-fi на третьем, все настроено на трех микротах с резервированием шлюза, в сети  dhcp отсутствует использую его только на wi-fi. Шлюзы и все маршруты постоянно одни. пользователи не должны терять интернет, если из трех микротов остался хоть один живой и из трех каналов хоть один живой, я эту схему реализовал, пока устраивает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Negator сказал:

Тут бы еще неплохо понять зачем все это?

VRPP создан для резервирования самого шлюза.

Для резервирования доступа в интернет есть другие возможности, BGP в первую очередь, ну или если нет BGP то вариантов запустить резерв на микротике полно. Со скриптами или без скриптов - выбирайте на ваш вкус.

 

Это а-ля track Cisco,

 Имеем две железки, на каждую приходит isp с двумя линками и bgp, между этими двумя жезезками что то наподобие линка ibgp, в локалку VRRP, допустим у мастера отваливается линки в сторону провайдера и линк между железками, в этом случае устройства из локалки шлют трафик в сторону мастера VRRP на котором он дропается, тогда track гасит VRRP мастер линк и трафик начинает бежать на резерв до восстановления, таких CVD у Cisco много, наверное подобие необходимо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но если исходить из теории вероятности, то с увеличением количества железяк растет и вероятность выхода из строя хоть одной из них и вследствии -падение части сервисов.

повышение устойчивости доступа в интернет - это увеличение каналов приходящих на роутер, а вот vrrp помогает при отказе самого роутера, но опять же, в слэйв должны приходить по возможности теже самые несколько интернет каналов..

поднимать vrrp ради того чтобы переключать master/slave'ами каналы интернет это помоему глупо... по крайней мере избыточно точно..

 

Цитата

схему без балансировок, у меня например сервера на одном интернете, пользователи на другом, wi-fi на третьем

Цитата

Шлюзы и все маршруты постоянно одни. пользователи не должны терять интернет, если из трех микротов остался хоть один живой

тут какое то противоречие... vrrp slave не может отвечать на пользовательские запросы, так как у него активен только интерфейс для общения с мастером, когда мастер перестает отвечать, только тогда слэйв становится доступным для клиентов

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня так - на трех микротиках на трех портах VRRP c vlan, которых 9 штук выходит в сеть, все имеют раздельные сети и раздельные шлюзы, которые прописаны в самом vlan на vrrp. Каждый из трех VRRP имеет мастера на каждом микротиков. Пользователи сидят через разные каналы и разные шлюзы на статике. Если что упадет - они всегда в сети, пока есть хоть один канал.

У меня цитаты не срабатывают на сайте, скопировал -

 

""""тут какое то противоречие... vrrp slave не может отвечать на пользовательские запросы, так как у него активен только интерфейс для общения с мастером, когда мастер перестает отвечать, только тогда слэйв становится доступным для клиентов""""

 

в том и суть, что если на микроте канал упадет, то у меня сразу отключается мастер и мастером становится тот микрот, на котором интернет есть. и шлюз всегда в сети. Как только канал вернется - сразу поднимается все назад, и такие настройки на каждом микроте, если в нем нет интернета, то он и не участвует в выборах vrrp - так как интерфейсы отключаются автоматически, при такой схеме отпадает напрочь необходимость городить скрипты и отключение переключение маршрутов, правил и тд. Канал если жив, то он в сети. У меня RB1100AHx4, раньше стояли RB2011 RM, на неделе я те 2011 настрою один в один к каждому из трех 1100,  и повешу на них МАС на WAN идентичный. Дальше в RB1100 включу bypass, wan  на 11 порту на всех трех, порт 12 во всех трех в RouterOS я отключил. На неактивный 12 порт вешаю к каждому RB2011 с такими же настройками как и 1100, но добавляю их  еще в vrrp с приоритетом чуть ниже мастера и задействую во всех 6 шт скрипты отключения портов. Если RB1100 выйдет из строя или выключится питание, то вместо него через bypass мгновенно включится клон RB2011, таким образом система будет резервировать интернет и при ситуации с железом и при ситуации с каналом. и при авариях, отключениях питания на каких то частях схемы, все будет автоматом переключаться и возвращаться само в исходное положение. Меня такая схема на имеющихся ресурсах устраивает. Будут усложняться задачи и выделяться ресурсы - буду перестраивать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.