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

    Обновление DynDNS.com

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Обновление DynDNS.com, RouterOS
     
    RobVision
    Guest
    #1
    0
    05.05.2023 15:43:00
    Привет! Хочу поделиться скриптом для обновления IP на dyndns.com. Я взял за основу существующий скрипт и собрал нужный мне вариант. Использую его при наличии двух провайдеров (основного и резервного, не объединённых) для обновления DNS в случае переключения с основного соединения на резервное и наоборот.

    # выводим отладочную информацию
    :log info ("<<<< ЗАПУСК СКРИПТА ОБНОВЛЕНИЯ DYNDNS.COM >>>>")

    :local ddnsuser <yourUsername>
    :local ddnspass <yourPassword>
    :local ddnshost <yourDynDnsHost>

    :local ipddns [:resolve $ddnshost];
    :log info ("Скрипт DynDNS: зарегистрирован IP = $ipddns")

    # получаем текущий IP из интернета (на случай двойного NAT)
    /tool fetch mode=http address="checkip.dyndns.com" 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 ipfresh [:pick $result $startLoc $endLoc]
    :log info "Скрипт DynDNS: IP из интернета = $ipfresh"

    :if ($ipddns != $ipfresh) do={
      :log info "DynDNS: Требуется обновление IP, отправляем UPDATE...!"
      :local str "/nic/update?hostname=$ddnshost&myip=$ipfresh&wildcard=NOCHG&mx=NOCHG&bac­kmx=NOCHG"
      /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser \
            password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
      :delay 1
      :local str [/file find name="DynDNS.$ddnshost"];
      /file remove $str
      :global ipddns $ipfresh
      :log info "Скрипт DynDNS: IP обновлён на $ipfresh!"
    } else={
      :log info "Скрипт DynDNS: Изменений нет";
    }
     
     
     
    mdar
    Guest
    #2
    0
    08.01.2024 16:02:00
    Здравствуйте, я стараюсь научиться писать скрипты для Mikrotik и очень заинтересован в вашем вкладе. Не могли бы вы объяснить, почему упомянутый вами скрипт может вызывать сбои в памяти роутера, или подсказать, где можно почитать об этом? Большое спасибо!
     
     
     
    ther33
    Guest
    #3
    0
    09.01.2024 01:37:00
    Он пишет в NAND/Flash без причины, хотя можно просто вывести в переменную с помощью параметра output=user в /tool/fetch. У флеша ограниченное число циклов записи. Записывать в NAND/Flash на встроенных устройствах лучше по возможности избегать. Например, чрезмерное логирование на старых Tesla Model S привело к преждевременному выходу NAND из строя, что нарушило работу машины. Пожалуйста, не воскресайте старые темы с ненужными вопросами. Предупреждение Rextended было более чем достаточным, чтобы любой, кто не до конца понимает проблему, понял, что скрипт лучше не использовать. Те, кто умеют читать скрипт и понимают суть, придут к тому же выводу, что и он. Исправление: в оригинальном сообщении был output=file, исправлено на output=user.
     
     
     
    na6cet
    Guest
    #4
    0
    09.01.2024 05:59:00
    Тогда я так понимаю, скрипт, описанный на сайте dynu, имеет ту же проблему? https://www.dynu.com/DynamicDNS/IPUpdateClient/Mikrotik-Dynamic-DNS Было бы здорово узнать, потому что я им пользуюсь! Ты имеешь в виду output=user, потому что по умолчанию стоит output=file?
     
     
     
    ther33
    Guest
    #5
    0
    09.01.2024 07:00:00
    Да, думаю, rextended немного преувеличивает. Скорее всего, запись занимает меньше 1 Кибайта и обычно повторяется каждые 5 минут. Если считать запись размером 1 Кибайт каждые 5 минут, то для записи 16 МиБ потребуется 56,8889 дней. Если уровень износа флеш-памяти работает так, как я знаю на нормальных TLC SSD, то на 2000 циклов записи понадобится 56,8889 * 2000 = 13 777,8 дней, или около 311 лет, чтобы износить флеш. Я не знаю, как работает уровень износа для флеш-памяти в устройствах MikroTik и какая у них выдержка по записи. К тому же флеш пишет не только этот процесс — записи с разных источников складываются. Как я уже говорил, пользоваться флеш-памятью — плохая практика, если есть альтернатива. А здесь она точно есть. Скрипт, который ты прислал, можно просто изменить, чтобы он выводил данные напрямую в переменную, и часть по удалению файла убрать. Исправлено: подсчёт общего времени был неточным. Исправление (от rextended): размер блока >= 4КиБ: каждая запись будет 4КиБ, поэтому более точная (но всё равно оптимистичная) оценка — 14,2222 дней на полный цикл или около 80 лет на 2000 циклов.
     
     
     
    rextended
    Guest
    #6
    0
    09.01.2024 08:34:00
    В флеш-памяти, если записать всего один бит, переписывается целая страница памяти. Я не знаю размер страницы и блока в используемом чипе, но это может быть 4КиБ или больше всего лишь для изменения одного бита на странице.  

    Текущий IP Проверка текущего IP-адреса: XXX.XXX.XXX.XXX  

    Итак, если каждый раз записывается только IP, это примерно 108 байт (106 + \n или \r\n, я точно не проверял).  
    На каждые 108 байт записывается 4КиБ.  
    4КиБ каждые 5 минут = примерно 14 дней (около) на запись 16МиБ.  
    (16МиБ = 4096 раз по 4КиБ, значит 4096 раз по 5 минут, или 20480 минут, или 341,333 часа, или 14,222 дня...)  

    Так что ~14 дней — это далеко не ~57 дней… И всё это без учёта тех, кто мониторит каждую минуту, что ухудшает ситуацию в 5 раз…  

    Если предположить, что каждый раз записывается разная страница памяти, предыдущую всё равно нужно стирать, так что на самом деле записывается в два раза больше, потому что переписывание/стирание — это тоже запись…  

    Но, вне всяких рассуждений о расходе, всё, что сделано плохо, так и останется сделанным плохо. (Когда есть альтернативные методы)
     
     
     
    ther33
    Guest
    #7
    0
    09.01.2024 16:49:00
    Абсолютно верно. Я знал, что ты скажешь, еще до того, как прочитал. Запись в NAND происходит блоками, а стирание отдельно от записи, поэтому возникает значительное увеличение объема записи. Вот почему корпоративные SSD указывают тип записей и степень заполненности накопителя при описании ресурса. Например, Micron указывает 4K случайной записи при 100% заполнении для своих SSD 7450.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры