Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Переключение Netwatch не срабатывает, потому что маршрут к внешнему IP обходит систему.

    Переключение Netwatch не срабатывает, потому что маршрут к внешнему IP обходит систему.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Переключение Netwatch не срабатывает, потому что маршрут к внешнему IP обходит систему., RouterOS
     
    calevizo
    Guest
    #1
    0
    04.05.2021 13:10:00
    Не могу понять, что происходит с роутером. Пытаюсь настроить отказоустойчивость с двумя WAN-подключениями, вот мои маршруты:  
    /ip route  
    add distance=1 gateway=10.0.2.1  
    add distance=2 gateway=192.168.10.1  
    add distance=1 dst-address=8.8.4.4/32 gateway=192.168.10.1  
    add distance=1 dst-address=8.8.8.8/32 gateway=10.0.2.1  
    add distance=1 dst-address=10.0.0.0/24 gateway=192.168.10.1  
    add distance=1 dst-address=10.0.1.0/24 gateway=192.168.10.1  
    add distance=1 dst-address=172.16.0.0/24 gateway=vlan100-clients  
    add distance=1 dst-address=192.168.14.0/24 gateway=vlan14-restaurant  
    add distance=1 dst-address=192.168.15.0/24 gateway=vlan15-aps  

    и netwatch:  
    /tool netwatch  
    add down-script="ip route disable [find dst-address=0.0.0.0/0 gateway=10.0.2.1]
    /ip firewall connection remove [find]
    /ip firewall mangle { disable [/ip firewall mangle find new-packet-mark~ \"lte3_client\"] }
    log error \"ISP_lte3 is down!\"" host=8.8.8.8 interval=10s  

    up-script="ip route enable [find dst-address=0.0.0.0/0 gateway=10.0.2.1]
    /ip firewall mangle { enable [/ip firewall mangle find new-packet-mark~ \"lte3_client\"] }
    log error \"ISP_lte3 is up!\""  

    add down-script="ip route disable [find dst-address=0.0.0.0/0 gateway=192.168.10.1]
    /ip firewall connection remove [find]
    log error \"ISP_res_rtr is down!\"" host=8.8.4.4 interval=10s  

    up-script="ip route enable [find dst-address=0.0.0.0/0 gateway=192.168.10.1]
    log error \"ISP_res_rtr is up!\""  

    Но я могу пинговать 8.8.8.8 даже тогда, когда отключаю интерфейс 10.0.2.1 — пакет проходит через альтернативный маршрут, и netwatch не видит, что маршрут отключён. Как такое возможно? Спасибо.  
    failover.rsc (7.2 KB)
     
     
     
    calevizo
    Guest
    #2
    0
    04.06.2021 12:54:00
    Всем привет, прежде всего спасибо, что уделили время, чтобы посмотреть мою конфигурацию, я очень признателен! Я думал, что этот маршрут ограничит IP 8.8.8.8

    add distance=1 dst-address=8.8.8.8/32 gateway=10.0.2.1

    Я решил использовать скрипт netwatch, потому что если роутер 10.0.2.1 теряет подключение к интернету, маршрут всё равно считается валидным. С помощью netwatch я могу пинговать интернет-адрес и убедиться, что роутер 10.0.2.1 всё ещё имеет доступ в интернет.

    Я пробовал failover с рекурсивным маршрутизатором, но когда тестировал, возникали проблемы (иногда он не использовал основной маршрут, даже если тот был доступен). Планирую попробовать следующее решение, спасибо rextended, ты даже потратил время и написал для меня скрипт, ты супер! Результаты выложу, как только смогу протестировать это в лаборатории.

    Привет anav, спасибо, что потратил время и посмотрел всю мою конфигурацию.

    1a) Думаю, мост мне не нужен, WAN (10.0.2.1) подключён к ether1 (access-порт), остальное — к ether2 (гибридный порт).

    1b) Верно, но некоторые VLAN используют только статические адреса.

    1c) Некоторые VLAN были перенесены на другой роутер 192.168.10.1, он служит резервным.

    1d) Мне реально нужны только два, но включение ещё одного облегчило жизнь при построении сети. 192.168.102.0 — это VPN-сеть.

    Ты прав, я неправильно понял этот параметр и из-за этого разрешал telnet-доступ. Исправил через файервол, теперь понимаю нюансы лучше.

    Верно, мне не нужен UPNP.

    Добавляю маршруты:

    /ip route  
    add distance=1 gateway=10.0.2.1  
    add distance=2 gateway=192.168.10.1  

    Добавляю два маршрута в интернет с разной метрикой  
    add distance=1 dst-address=8.8.4.4/32 gateway=192.168.10.1  
    add distance=1 dst-address=8.8.8.8/32 gateway=10.0.2.1  

    Маршрут 8.8.4.4 через резервный шлюз, 8.8.8.8 — через основной (думал, что это ограничит и 8.8.8.8 будет идти только через 10.0.2.1).

    /tool netwatch  
    add down-script="ip route disable [find dst-address=0.0.0.0/0 gateway=10.0.2.1]
    \n\r  
    \n/ip firewall connection remove [find]\r
    \n/ip firewall mangle { disable [/ip firewall mangle find new-packet-mark~\"lte3_client\"] }
    \nlog error \"ISP_lte3 is down!\"  
    \n" host=8.8.8.8 interval=10s  

    Если 8.8.8.8 падает — отключить маршрут 10.0.2.1 и очистить все соединения.

    up-script="ip route enable [find dst-address=0.0.0.0/0 gateway=10.0.2.1]
    \n\r  
    \n/ip firewall mangle { enable [/ip firewall mangle find new-packet-mark~\"lte3_client\"] }
    \nlog error \"ISP_lte3 is up!\"  
    \n\n"  

    Если 8.8.8.8 поднимается — включить маршрут 10.0.2.1.

    Остальное касается очередей и неактуально.

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

    Мне не нужен NAT, следующий роутер его делает.

    Мне не нужны остальные порты, есть только один гибридный порт.

    Настройки VLAN моста имели бы смысл, если бы я использовал роутер как свитч, а я для этого использую уровень 2 свитч.

    eth1 — WAN-доступ, eth2 — гибрид.

    На самом деле я пользуюсь только ether2.

    ether2 тоже WAN-порт, но вторичный, и мне не нужно четко его обозначать, потому что в финальной настройке я не использовал стандартную конфигурацию файервола.

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

     
     
     
    anav
    Guest
    #3
    0
    04.06.2021 13:11:00
    Хорошо, опубликуй свою последнюю полную конфигурацию, чтобы сравнить с диаграммой и прочим… /export hide-sensitive file=любое_имя_на_твой_выбор
     
     
     
    calevizo
    Guest
    #4
    0
    04.06.2021 13:21:00
    i-wish-for-world-peace.rsc (9.81 КБ)
     
     
     
    calevizo
    Guest
    #5
    0
    04.06.2021 15:09:00
    Забыл упомянуть, что все IP-адреса, предоставленные моим провайдером, динамические, и два из них вообще не публичные, что отмечено на схеме как «BEHIND NAT».
     
     
     
    anav
    Guest
    #6
    0
    04.06.2021 15:34:00
    Я не совсем понимаю схему сети. Просто хочу уточнить: вы показываете два экземпляра одного и того же роутера, чтобы выделить один динамический WANIP (без NAT — верхний пузырь COSMOTE) и два динамических WANIP, которые находятся под NAT — два нижних пузыря COSMOTE. Или у вас действительно два роутера: один для COSMOTE1, а второй для COSMOTE2/3?
     
     
     
    calevizo
    Guest
    #7
    0
    04.06.2021 15:46:00
    Два роутера: rec-rtr использует один роутер с LTE Cat6 модемом (10.0.2.1). Роутер 192.168.10.2 обслуживает важные хосты и находится в здании номер один. res-rtr использует два роутера с LTE Cat6 модемами (10.0.1.1, 10.0.0.1). Роутер 192.168.10.1 находится во втором здании. LTE-роутеры просто делают NAT, но очень слабо справляются с чем-то ещё.
     
     
     
    anav
    Guest
    #8
    0
    04.06.2021 15:54:00
    Два основных роутера физически соединены между собой через Ethernet? Если да, то как вы решили их связать?
     
     
     
    calevizo
    Guest
    #9
    0
    04.06.2021 16:02:00
    Маршрутизаторы соединены через Ethernet, беспроводное 60G ptp-соединение, eth2
     
     
     
    anav
    Guest
    #10
    0
    04.06.2021 16:05:00
    Не то чтобы я назвал это сетью для новичка, ха-ха. У тебя там серьёзная работа! Браво, я бы в такую ситуацию сразу сбежал, честно говоря, ха-ха. На самом деле я хотел спросить, делят ли два роутера одну подсеть, потому что я не сильно разбираюсь, как лучше связать два таких устройства. Думаю, тебе нужно выполнить маршрутизацию на уровне 3, чтобы некоторые пользователи или устройства могли видеть друг друга.
     
     
     
    calevizo
    Guest
    #11
    0
    04.06.2021 16:09:00
    Спасибо!!! Я всё ещё веб-разработчик, самоучка в Mikrotik, поэтому и создал тему для новичков.
     
     
     
    calevizo
    Guest
    #12
    0
    04.06.2021 16:19:00
    Два маршрутизатора используют подсеть 192.169.10.0/24 для маршрутизации трафика между собой. Например, /ip route  
    add distance=1 dst-address=10.0.0.0/24 gateway=192.168.10.1  
    add distance=1 dst-address=10.0.1.0/24 gateway=192.168.10.1  

    Маршруты для LTE-маршрутизаторов res-rtr:  
    add distance=1 dst-address=192.168.14.0/24 gateway=192.168.10.1  
    add distance=1 dst-address=192.168.15.0/25 gateway=192.168.10.1  

    Маршруты для VLANы AP и ресторана в res-rtr. Пример: 192.168.11.101 отправляет пакет на 10.0.0.1 через шлюз 192.168.11.1.  
    Коммутатор (rec-swi) добавляет к пакету VLAN тег с ID 11.  
    192.168.11.1 (он же 192.168.10.2, он же rec-rtr) получает пакет на eth2.  
    rec-rtr удаляет VLAN тег из пакета, использует маршрут  
    /ip route  
    add distance=1 dst-address=10.0.0.0/24 gateway=192.168.10.1  
    и пересылает пакет на 192.168.10.1 через eth2 (исходный адрес при этом не меняется).  

    192.168.10.1 (он же res-rtr) получает пакет на eth3.  
    res-rtr использует динамический маршрут, который создается при назначении IP 10.0.0.10 на интерфейс eth1 (исходный адрес не меняется).  

    10.0.0.1 (он же lte1-cosmote) получает пакет и решает ответить (адрес назначения — 192.168.11.101).  
    lte1-cosmote использует маршрут  
    /ip route  
    add distance=1 dst-address=192.168.11.0/24 gateway=10.0.0.10  
    и отправляет пакет на 10.0.0.10 (он же res-rtr).  

    192.168.10.1 (он же res-rtr) получает пакет с интерфейса eth1 с адресом 10.0.0.10, использует маршрут  
    /ip route  
    add distance=1 dst-address=192.168.11.0/24 gateway=192.168.10.2  
    и отправляет пакет на 192.168.10.2 через eth3.  

    192.168.10.2 (он же rec-rtr) получает пакет на eth2, добавляет VLAN тег с ID 11 и отсылает его на eth2.  

    192.168.10.101 получает пакет после того, как VLAN тег с него снял коммутатор (rec-swi) на порту доступа.
     
     
     
    anav
    Guest
    #13
    0
    05.06.2021 01:03:00
    Итак, вопрос в том, как настроить отказоустойчивость для роутера с двумя модемами. В общем виде:

    0.0.0.0/0 gwy=IP-шлюза ISP1 check-gateway=ping distance=5  
    0.0.0.0/0 gwy=IP-шлюза ISP2 distance=10

    В этом сценарии весь трафик будет идти через ISP1, а если он упадёт — переключится на ISP2. Обычно это бесполезно для одного и того же провайдера, но я предположу, что у них разные источники, оборудование и зависимости, чтобы такая схема имела смысл.

    Далее желательно сделать рекурсивную настройку, чтобы выглядело немного иначе:

    /ip route add comment=PrimaryRecursive distance=5 dst-address=1.0.0.1/32 gateway=ISP1gatewayIP  
    add comment=SecondaryWAN distance=10 gateway=ISP2gatewayIP  
    add check-gateway=ping distance=5 gateway=1.0.0.1

    Если хотите, чтобы роутер проверял два разных DNS-адреса для дополнительной надежности:

    add comment=PrimaryRecursive distance=5 dst-address=1.0.0.1/32 gateway=ISP1gatewayIP  
    add comment=PrimaryRecursive distance=8 dst-address=9.9.9.9/32 gateway=ISP1gatewayIP  
    add comment=SecondaryWAN distance=10 gateway=ISP2gatewayIP  
    add check-gateway=ping distance=5 gateway=1.0.0.1  
    add check-gateway=ping distance=8 gateway=9.9.9.9

    Это у тебя так настроено?
     
     
     
    calevizo
    Guest
    #14
    0
    05.06.2021 08:24:00
    [deleted]
     
     
     
    calevizo
    Guest
    #15
    0
    05.06.2021 08:32:00
    На самом деле мой вопрос был в том, почему когда шлюз 10.0.2.1 недоступен, я всё равно могу пинговать 8.8.8.8, хотя у меня есть маршрут add distance=1 dst-address=8.8.8.8/32 gateway=10.0.2.1. Я ценю все ваши ответы, но так и не понимаю, как это работает: правило отключается, когда шлюз недоступен? Маршрутизатор переключается на маршрут с минимальным расстоянием 0.0.0.0/0, если другой маршрут перестаёт работать? Я где-то ошибся в настройках? Как это вообще происходит? Я позволил себе переписать это, чтобы лучше понять:

    {
    :global isp1gatewayip 10.0.2.1
    :global isp2gatewayip 192.168.10.1

    /ip route
    #add check-gateway=ping comment="ISP1 is preferred Gateway" distance=5 gateway=$isp1gatewayip
    #add comment="ISP2 is alternative Gateway" distance=10 gateway=$isp2gatewayip

    add comment="PrimaryRecursive" distance=5 dst-address=1.0.0.1/32 gateway=$isp1gatewayip
    add comment="SecondaryWAN" distance=10 gateway=$isp2gatewayip
    #add check-gateway=ping distance=5 gateway=1.0.0.1

    add comment="PrimaryRecursive" distance=5 dst-address=1.0.0.1/32 gateway=$isp1gatewayip
    add comment="PrimaryRecursive" distance=8 dst-address=9.9.9.9/32 gateway=$isp1gatewayip

    add comment="SecondaryWAN" distance=10 gateway=$isp2gatewayip
    add check-gateway=ping distance=5 gateway=1.0.0.1
    add check-gateway=ping distance=5 gateway=9.9.9.9
    }

    Если я правильно понял, вы тестируете только isp1gateway и используете два внешних IP для проверки с разными приоритетами. Обратите внимание на решение, предложенное rextended, обратите внимание на blackhole-маршруты и использование scope (надо почитать про scope, чтобы понять), и если вы пройдёте по ссылкам, то увидите, что blackhole-маршруты важны для такого рода решения. Я планирую сначала протестировать это в лаборатории, потому что сейчас маршрутизатор работает в продакшне. Netwatch, хоть и не приветствуется, с моей кривой правилой фаервола функционирует:

    add action=drop chain=output dst-address=8.8.8.8 out-interface=ether2

    Я не совсем понимаю, поэтому прикрепил свой текущий конфиг вместе со скриншотом скрипта netwatch для ISP1gateway. Я использовал netwatch.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры