Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Скрипт обновления Dyndns для PPPOE

    Скрипт обновления Dyndns для PPPOE

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Скрипт обновления Dyndns для PPPOE, RouterOS
     
    freeloader
    Guest
    #1
    0
    05.08.2010 09:53:00
    Всем привет! В данный момент я использую следующий скрипт http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS_behind_NAT. Проблема в том, что я подключаюсь по нескольким PPPoE-соединениям с моего Mikrotik и хочу изменить этот скрипт так, чтобы получать текущий IP-адрес именно этого PPPoE-соединения, а не проверять его через checkip.dyndns.org. Это вообще возможно?
     
     
     
    boretto
    Guest
    #2
    0
    22.08.2010 10:48:00
    Спасибо, что поделились этим скриптом. У меня с ним получилось на mipsle (RB133C) и x86, а вот на mipsbe (RB750) — нет. Возможно, есть какие-то синтаксические отличия между этими платформами?
     
     
     
    freeloader
    Guest
    #3
    0
    25.08.2010 12:29:00
    Сейчас это успешно работает на RB750G и RB532. Странно, что у тебя не получается. Может, проверь, совпадает ли у тебя скрипт? Возможно, не выставлены правильные права на скрипт?
     
     
     
    blingblouw
    Guest
    #4
    0
    25.08.2010 12:57:00
    Привет! Я попробовал запустить твой скрипт, но постоянно получаю эту ошибку: interrupted invalid value for argument address. Ты не знаешь, в чём может быть проблема?
     
     
     
    fewi
    Guest
    #5
    0
    25.08.2010 12:59:00
    Ты изменил скрипт, чтобы в нем было правильно указано имя твоего интерфейса? У тебя, скорее всего, оно не называется DSL-Local.
     
     
     
    freeloader
    Guest
    #6
    0
    25.08.2010 13:01:00
    Какая у вас версия RouterOS?
     
     
     
    blingblouw
    Guest
    #7
    0
    25.08.2010 13:03:00
    Привет! Да, я обновил это, чтобы отразить мой интерфейс (pppoe-out1), и у меня стоит версия v3.31. (RB750G)
     
     
     
    freeloader
    Guest
    #8
    0
    25.08.2010 13:04:00
    Не думаю, что в версии v3.31 есть команда fetch. Поздние версии её уже поддерживают.
     
     
     
    blingblouw
    Guest
    #9
    0
    25.08.2010 13:14:00
    Чёрт. Ладно, сейчас обновляюсь. Спасибо.
     
     
     
    freeloader
    Guest
    #10
    0
    25.08.2010 13:19:00
    Также проверьте, настроен ли у вас на Mikrotik email. Вы можете убрать эти две строки, если не хотите получать письма о изменениях: :local emailaddress “youremailaddress” /tool e-mail send to=$emailaddress subject=“DynDNS Update” body=(“Current IP=”.[$currentIP].“, host=”.[$hostname])
     
     
     
    blingblouw
    Guest
    #11
    0
    25.08.2010 13:52:00
    Ладно, я вернулся. Обновился до 4.11, но всё равно без толку. Думаю, проблема тут: я запускаю в терминале команду /tool fetch user=$UN password=$PW mode=http address=“members.dyndns.org” src-path=“/nic/update?hostname=$hostname&myip=$currentIP” dst-path=“dyndns.txt”, подставляя вместо $hostname, $currentIP, $UN и $PW реальные значения, но получаю ту же ошибку. И, как мне кажется, дело в том, что я не могу ввести “?” в терминал — вместо него выводится список команд, так что в итоге получается команда без “?” так: /tool fetch user=$UN password=$PW mode=http address=“members.dyndns.org” src-path=“/nic/updatehostname=$hostname&myip=$currentIP” dst-path=“dyndns.txt”, и после этого ругается на недопустимое значение для аргумента address. Этот скрипт вообще должен работать на 4.11?
     
     
     
    boretto
    Guest
    #12
    0
    25.08.2010 22:25:00
    @freeloader: как проверить права? Спасибо за помощь!!!  
    @blingblouw: У меня такие же проблемы, как и у тебя. Не могу запустить этот скрипт на платах с процессорами mipsbe (RB450, RB750, RB433…), зато на x86, powerpc и mipsle всё работает нормально. Поведение такое же, как у тебя — знак «?» в терминале. Похоже, что «?» вызывает справку в терминале, но такое же поведение происходит и на других платформах, где скрипт работает без проблем, поэтому думаю, что это не причина. Пробовал разные версии RouterOS, тоже не помогло (мой x86 роутер на версии 3.30, и скрипт отлично работает). Думаю, что проблема может быть в синтаксисе команды fetch на mipsbe, но freeloader говорит, что запускает этот скрипт на RB750G (тоже mipsbe). Очень жаль.
     
     
     
    blingblouw
    Guest
    #13
    0
    26.08.2010 14:08:00
    К сведению — мне пришлось изменить «/nic/update?hostname=$hostname&myip=$currentIP» на «/nic/update/?hostname=$hostname&myip=$currentIP», и теперь всё работает. Спасибо за классный скрипт!
     
     
     
    cepg
    Guest
    #14
    0
    28.08.2010 20:55:00
    Спасибо, что поделился этим скриптом.
     
     
     
    antoninosalamone
    Guest
    #15
    0
    16.02.2013 23:01:00
    Всем привет на форуме, хочу кое-что узнать. Я использую RouterOS 5.23 и хотел бы спросить, есть ли скрипт для dyndns с настройкой уведомлений по электронной почте об обновлении, или этот пост работает на RouterOS 5.23?
     
     
     
    dadoremix
    Guest
    #16
    0
    04.08.2013 16:00:00
    # Задаём нужные переменные  
    :local username "YOURUSER"  
    :local password "YOURPASWORD"  
    :local hostname "YOURHOSTNAME.dyndns.org"  

    :global dyndnsForce  
    :global previousIP  

    # выводим отладочную информацию  
    :log info ("UpdateDynDNS: username = $username")  
    :log info ("UpdateDynDNS: password = $password")  
    :log info ("UpdateDynDNS: hostname = $hostname")  
    :log info ("UpdateDynDNS: previousIP = $previousIP")  

    # получаем текущий IP-адрес из интернета (на случай двойного NAT)  
    /tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html"  
    :delay 1  
    :local result [/file get dyndns.checkip.html contents]

    # парсим полученный IP  
    :local resultLen [:len $result]
    :local startLoc [:find $result ": " -1]
    :set startLoc ($startLoc + 2)  
    :local endLoc [:find $result "</body>" -1]
    :local currentIP [:pick $result $startLoc $endLoc]
    :log info "UpdateDynDNS: currentIP = $currentIP"  

    # Уберите # со следующей строки, чтобы заставить обновлять адрес каждый раз — удобно для отладки,  
    # но есть риск попасть в чёрный список DynDNS!  

    #:set dyndnsForce true  

    # Определяем, нужно ли обновлять dyndns  
    # подробности по запросу к dyndns updater: http://www.dyndns.com/developers/specs/syntax.html  

    :if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={  
      :set dyndnsForce false  
      :set previousIP $currentIP  
      :log info "$currentIP or $previousIP"  
      /tool fetch user=$username password=$password mode=http address="members.dyndns.org" \  
         src-path="nic/update?system=dyndns&hostname=$hostname&myip=$currentIP&wildcard=no­" \  
         dst-path="/dyndns.txt"  
      :delay 1  
      :local result [/file get dyndns.txt contents]
      :log info ("UpdateDynDNS: Dyndns update needed")  
      :log info ("UpdateDynDNS: Dyndns Update Result: ".$result)  
      :put ("Dyndns Update Result: ".$result)  
    } else={  
      :log info ("UpdateDynDNS: No dyndns update needed")  
    }  

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