Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
     
    HarvSki
    Guest
    #1
    0
    03.04.2012 08:16:00
    Привет! У меня настроен статический маршрут к PPPoE-туннелю, который соединяется с моим интернет-провайдером, потому что динамический маршрут к провайдеру не работает или у него нет правильной метки маршрутизации. Всё отлично работает, пока PPPoE не переподключается и не меняется шлюз. Я бы хотел, чтобы скрипт проверял шлюз динамического маршрута и устанавливал мой статический маршрут с таким же значением... Пока у меня есть вот что:

    :global list "";
    :foreach i in [/ip route find] do={:if ([:find [/ip route get $i gateway] "pppoe-out-adsl"]=0) do={:set list ($list . "," . $i);}};

    /ip route print detail without-paging from $list;

    Без глубокого погружения в MT scripting я немного запутался, уверен, кто-то сможет легко помочь с этим.

    Большое спасибо!
     
     
     
    HarvSki
    Guest
    #2
    0
    09.05.2012 16:23:00
    Засадаюсь здесь.
     
     
     
    skot
    Guest
    #3
    0
    09.05.2012 23:58:00
    Только два маршрута? Или их больше? Можешь запустить это и выложить результаты? /ip route print detail
     
     
     
    HarvSki
    Guest
    #4
    0
    10.05.2012 09:07:00
    Привет! Здесь настроено много маршрутов, вот некоторые из них, которые имеют отношение к делу:

    0   S  ;;; Этот маршрут совпадает с динамическим маршрутом по умолчанию для ADSL  
           dst-address=0.0.0.0/0 gateway=62.5.84.25  
           gateway-status=62.5.84.25 unreachable check-gateway=ping distance=1  
           scope=30 target-scope=10 routing-mark=vicADSL  

    1 X S  dst-address=10.6.1.0/24 gateway=10.6.10.254  
           gateway-status=10.6.10.254 inactive distance=1 scope=30  
           target-scope=10 routing-mark=vicADSL  

    2 X S  dst-address=10.6.11.0/24 gateway=10.6.10.254  
           gateway-status=10.6.10.254 inactive distance=1 scope=30  
           target-scope=10 routing-mark=vicADSL  

    3 A S  dst-address=192.168.2.0/24 pref-src=192.168.2.254 gateway=ether3  
           gateway-status=ether3 reachable distance=1 scope=10 target-scope=10  
           routing-mark=vicADSL  

    4 A S  ;;; Маршрут по умолчанию для RemoteSitesPPtP  
           dst-address=0.0.0.0/0 gateway=172.20.100.254  
           gateway-status=172.20.100.254 reachable vlan10CorporateData  
           distance=1 scope=30 target-scope=10 routing-mark=RemoteSitesPPtP  

    5 A S  ;;; Публичный гостевой доступ  
           dst-address=0.0.0.0/0 gateway=214.196.252.44  
           gateway-status=214.196.252.44 reachable bridgehSoGuest distance=1  
           scope=30 target-scope=10  

    6  DS  dst-address=0.0.0.0/0 gateway=62.5.84.23  
           gateway-status=62.5.84.23 reachable pppoe-out-adsl-zen distance=1  
           scope=30 target-scope=10  

    7 ADC  dst-address=62.5.84.23/32 pref-src=32.69.141.118  
           gateway=pppoe-out-adsl-zen  
           gateway-status=pppoe-out-adsl-zen reachable distance=0 scope=10  

    Маршрут 0 (62.5.84.25) — это тот, который нужно заменить на шлюз из маршрута 6 (62.5.84.23), так как он меняется при переподключении.
     
     
     
    skot
    Guest
    #5
    0
    11.05.2012 20:56:00
    Это может сработать, если у вас всего один динамический маршрут, где в gateway-status содержится строка «reachable pppoe-out-adsl-zen». Сначала выполните эту команду, чтобы проверить. Если результат будет 1, значит всё в порядке. Если 2 или больше — скрипт придётся переделывать:  
    :put [ :len [ /ip route find gateway-status~"reachable pppoe-out-adsl-zen" dynamic ] ];

    Если проверка пройдена, то этот скрипт должен работать:  
    # тестировалось на RouterOS v4.17  
    # для маршрута с таким комментарием сделайте следующее  
    :foreach i in [ /ip route find comment~"Match this route to the Dynamic ADSL" ] do={
    # получаем шлюз динамического ADSL маршрута  
    :local adslGateway [ /ip route get [ find gateway-status~"reachable pppoe-out-adsl-zen" dynamic ] gateway ];
    # если IP шлюза ADSL не совпадает с IP статического шлюза  
    if ( $adslGateway != [ /ip route get $i gateway ] ) do={
    # устанавливаем статический шлюз, чтобы он совпадал  
    /ip route set $i gateway=$adslGateway;  
    }  
    }
     
     
     
    HarvSki
    Guest
    #6
    0
    25.05.2012 17:13:00
    Спасибо! Это отлично работает на ROS 5.8.
     
     
     
    HarvSki
    Guest
    #7
    0
    03.07.2012 13:57:00
    Сломалось, когда я обновился до ROS 5.18 из-за добавления лишнего слова и пробела в выводе деталей маршрута, доступном через pppoe-out-adsl-zen 6 DS dst-address=0.0.0.0/0 gateway=62.3.84.21 gateway-status=62.3.84.21 reachable via pppoe-out-adsl-zen distance=1 scope=30 target-scope=10. Подправил скрипт — и снова всё работает!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры