Здравствуйте. В домашнем хозяйстве имеется mikrotik с двумя провайдерами. На обоих интерфейсах роутер получает IP-адреса различной степени серости, то есть все максимально просто и понятно. Стандартный netwatch мониторит внешние шлюзы провайдеров и скриптом отключает маршрут провайдера, если его внешний шлюз не пингуется.
Обычно вся эта конструкция перекидывает трафик на ISP2 при недоступности интернета через ISP1 и хорошо работает при неполадках у ISP1, но совершенно бессильна если интернет у ISP1 не оплачен. Дело в том, что провайдер (ISP1) не блокирует ICMP и пинги в внешний мир проходят успешно, даже если интернет заблокирован. Каким образом можно научить микротик понимать, что доступ в интернет отсутствует? По возможности без привязки к удаленным узлам.
Пожалуй, оптимальное решение. Провайдер маленький, так что должны прислушаться. Осталось объяснить почему так надо, пока что кроме ICMP-туннелей в голову ничего не приходит.
Такой вариант потребует выбор надежного сайта, под который нужно делать маршрут только через ISP1, что в случае недоступности ISP1 также вызовет недоступность и самого сайта. Разве что периодически дергать личный кабинет на сайте провайдера и парсить информацию о доступности уже с него.
У микротика так же есть утилита Traffic Monitor используйте её. Опытным путём определите нижний предел загруженности канала и создайте скрипт на переключение при достижении этого порога. Наверняка возможны ошибочные срабатывания - нужно будет поотлаживать и поколдовать с настройками (вроде - в ночные часы не обращать внимание на нагрузку и тыды)