Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • 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
    Перезапуск интерфейса при его отключении

    Перезапуск интерфейса при его отключении

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Перезапуск интерфейса при его отключении, RouterOS
     
    chanklish
    Guest
    #1
    0
    03.07.2025 13:00:00
    привет, я хочу перезапускать LTE-интерфейс, если он отключен (нет интернета) в течение 10 секунд. Мой скрипт подходит?  

    /system script  
    add name=CheckInternetLTE10s policy=read,write,test source="  
    :local targetIP \"8.8.8.8\"  
    :local interfaceName \"lte1\"  
    :local failCount 0  

    :for i from=1 to=10 do={  
       :if ([/ping \$targetIP count=1 timeout=1000] = 0) do={
           :set failCount (\$failCount + 1)  
       }  
       :delay 1s  
    }  

    :if (\$failCount = 10) do={  
       /log warning (\"[LTE Watchdog] Нет интернета в течение 10 секунд. Перезагружаю интерфейс \$interfaceName\")
       /interface lte disable \$interfaceName  
       :delay 5s  
       /interface lte enable \$interfaceName  
    }  
    "
     
     
     
    chanklish
    Guest
    #2
    0
    26.07.2025 14:35:00
    Тогда мне понадобится только скрипт на отключение, похожий на этот, верно?  
    :log warning “Интерфейс отключен”;  
    /interface ethernet disable lte1  
    delay 10s;  
    :log warning “Интерфейс включен”;  
    /interface ethernet enable lte1
     
     
     
    jaclaz
    Guest
    #3
    0
    26.07.2025 15:53:00
    Да, сложная часть (если использовать не «простой» netwatch, а более новую и мощную ICMP-пробу) — найти правильные настройки для срабатывания (или не срабатывания) скрипта «down». Смотри: @amm0 Если я всё правильно понимаю, у netwatch есть явное преимущество перед обычным расписанием — скрипт «down» запускается только при смене статуса с «up» на «down», тогда как с обычным расписанием сначала пришлось бы проверять, не разорвано ли уже соединение. Иначе, если отключение/включение не сработает (или если соединение перестало работать по другой причине), интерфейс будет циклично отключаться и включаться примерно каждые 20 секунд, пока связь не восстановится (если вообще восстановится).
     
     
     
    lurker888
    Guest
    #4
    0
    26.07.2025 16:32:00
    Я понимаю, что это противоречит обычному совету использовать встроенные инструменты, когда они доступны, но для таких вещей я обычно применяю собственный скрипт. Так можно гибко настроить, как именно определять сбой (сколько хостов пропинговано, сколько раз, как часто, когда считать соединение сброшенным) и какие действия предпринимать, сколько ждать после запуска или перезапуска соединения, чтобы оно установилось, и так далее. Как только скрипт нормально отлажен, с ним действительно не так уж и сложно.
     
     
     
    Amm0
    Guest
    #5
    0
    26.07.2025 16:44:00
    Верно, скрипт netwatch запускается только при смене состояния. То есть при переходе с up на down скрипт вызывается. Если следующий тест не прошёл, и предыдущий тоже не прошёл, скрипт не вызывается. Это тоже верно. Вот в чем принципиальная разница: в скрипте /system/schedule ты и определяешь состояние, и принимаешь решение, и отслеживаешь, что уже сделано. В netwatch ты можешь сосредоточиться на действиях и использовать GUI (возможно с сложными переменными) для настройки своих «правил». Единственный момент с up-script={} и down-script={} в netwatch — возможны «флапы», особенно при проверке icmp, поскольку состояния «up» и «down» могут переключаться из-за задержек или других частично разорванных соединений. Это может быть либо некорректной или слишком агрессивной настройкой netwatch, либо просто плохим интернетом (тест правильный), и тогда, если не хочется перезагружать, с netwatch на одном только «up» и «down» от одного теста начинает быть сложнее. В этом плане есть ещё опция test-script={}, которая работает как /system/schedule, но по интервалу netwatch. При этом она даёт результат последнего теста, то есть у тебя уже есть данные (в отличие от «чистого» scheduled script, где нужно самому считать, up или down). А если нужно отслеживать несколько условий до принятия решения, это становится чуть сложнее. В scheduler можно добавить ещё много :if и :global lastValueXxxx. В netwatch же приходится использовать один скрипт как «мастер» с test-script=, который в своём коде читает значения других активных netwatch-мониторов с дополнительными тестами, чтобы добиться некоего netwatch «парлея» (то есть нескольких значений, которые должны быть одновременно true или false, чтобы выполнить действие).
     
     
     
    chanklish
    Guest
    #6
    0
    27.07.2025 17:12:00
    Итак, какой лучший совет? Просто использовать скрипт для обнаружения простоя и перезагрузки интерфейса или применить down-скрипт в netwatch? Мне нужно просто перезапустить интерфейс, если интернет не работает около 5 минут.
     
     
     
    jaclaz
    Guest
    #7
    0
    27.07.2025 18:10:00
    Зависит от ситуации: можно использовать свой скрипт в качестве “down” скрипта в netwatch или вызывать свой скрипт из “down” скрипта. Netwatch — это всего лишь (или может быть только) механизм срабатывания, при этом, как уже объяснялось, он имеет некоторые преимущества перед альтернативой — “обычным” планировщиком заданий. Пользовательский скрипт — независимо от того, какой механизм его запускает — может выполнять дополнительные проверки перед отключением и включением интерфейса (чтобы избежать ложных срабатываний), а если использовать его через планировщик, в скрипте должны быть предусмотрены меры для предотвращения циклов отключения/включения.
     
     
     
    Amm0
    Guest
    #8
    0
    27.07.2025 18:41:00
    Если хочешь просто — используешь netwatch и проверку ICMP. Для 5G/LTE мониторинг задержки ICMP полезен, потому что перегруженные вышки или другие проблемы проявляются в увеличении задержки, и это «бесплатно» в netwatch (то есть просто настраиваешь параметры, которые показывают сбой или частичный сбой). В «простом» варианте просто перезагружаешь, если LTE — единственное устройство для интернета.

    Если хочешь устроить какой-то «многоуровневый» способ, где при сбое пытаешь включать/выключать LTE-интерфейс, чтобы он «починил» проблему до перезагрузки — это тоже нормально, но добавляет сложности, потому что нужно быть уверенным, что интерфейс во всех случаях будет заново включен. По моему мнению, хотя в LTE/5G есть баги, их часто исправляют в последующих версиях.

    Так что слишком заморачиваться в поисках каких-то условий может сделать хуже, потому что неизвестно, будут ли у будущих багов LTE/5G те же симптомы. Вот почему я рекомендую просто делать /system/reboot в скрипте netwatch при упадке с интервалом в 5 минут (см. таблицу @jaclaz для помощи в настройке значения ICMP). И я не говорю, что /system/schedule или «делать больше» — плохой подход, нет, просто для этого нужно больше кастомного скриптинга, тогда как с netwatch — это всего лишь подбор нескольких сложных параметров.
     
     
     
    chanklish
    Guest
    #9
    0
    27.07.2025 18:41:00
    В Netwatch, когда пинг не проходит, запускается скрипт отключения. Что происходит, когда пинг снова начинает работать?
     
     
     
    Amm0
    Guest
    #10
    0
    27.07.2025 18:44:00
    Вы перезагрузили устройство, так что, надеюсь, проблема решилась. Если оно всё равно продолжает перезагружаться, а включение/выключение помогает, то это стоит сообщить в MikroTik — явно показывает, что устройство всё время перезагружается. Но будьте осторожны при настройке контроля ICMP, так как стандартные настройки MikroTik немного «агрессивны» в определении сбоев с LTE.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры