Два способа настроить DDNS на router MikroTik
FastDDNS предоставляет каждому hostname два готовыхRouterOS варианта настройки. Метод 1 — это одна строка, которую вы вставляете в терминал: она загружает скрипт, созданный для вашего hostname, а затем создает для вас /system scriptскрипт и /system schedulerзапись планировщика. Метод 2 — это та же команда обновления, введенная вручную в System > Scheduler. В обоих случаях URL обновления FastDDNS вызывается каждые две минуты.
Используйте Метод 1, если у вас нет особых причин выбрать другой вариант. Используйте Метод 2, если вы предпочитаете WinBox WinBox вместо терминала, если ваш router блокирует загрузку или если вы хотите задать планировщику собственное имя.
| Метод 1 — автоматический скрипт | Метод 2 — планировщик вручную | |
|---|---|---|
| Где выполняется настройка | Терминал (WinBox или SSH) | System > Scheduler в WinBox / WebFig |
| Что нужно вставить | Одна строка | Три поля и одна команда |
| Имя создаваемого планировщика | FastDDNS.net (фиксированное) | Любое введенное вами имя — панель предлагает fastddns |
| Интервал обновления | 120 секунд | 00:02:00 |
| Первое обновление | Запускается один раз сразу после установки | Запускается после первого интервала |
| Ограничение по времени | Ссылка на загрузку истекает через 1 час после её создания в панели | Нет |
Прежде чем начать
Нужно учесть четыре вещи, и две из них определяют, будет ли вообще работать удалённый доступ.
- Имя хоста FastDDNS. Создайте его бесплатно на FastDDNS, затем откройте этот hostname и прокрутите до DDNS Configuration Parameters > MikroTik Routers.
- Административный доступ к RouterOS через WinBox, WebFig или SSH.
- Настоящий публичный IP на интерфейсе WAN. Если ваш интернет-провайдер помещает вас за Carrier-Grade NAT, DDNS не поможет — hostname будет указывать на адрес, к которому никто за пределами сети провайдера не сможет обратиться. Запустите CGNAT Checker в мобильном приложении FastDDNS перед тем, как тратить время на настройку router.
- Port forwarding для всего, к чему вы хотите получить доступ. DDNS только поддерживает привязку имени к правильному адресу. Вам по-прежнему нужны соответствующие правила брандмауэра и NAT на router, а проверить их можно позже с помощью Port Check.
Чтобы увидеть, какие адреса фактически назначены вашему router, выведите список адресов и найдите строку, интерфейс которой является вашим WAN-подключением — тем, через которое проходит маршрут по умолчанию:
/ip address print
/ip route print where dst-address=0.0.0.0/0Если этот WAN-адрес попадает в диапазон 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 или 100.64.0.0/10, у router нет публичного IP, и где-то выше по сети выполняется NAT. Именно диапазон 100.64.0.0/10 зарезервирован для Carrier-Grade NAT.
Метод 1 — однострочный скрипт автоматической установки
Шаг 1 — скопируйте строку из панели hostname
Откройте свой hostname и прокрутите до раздела DDNS Configuration Parameters внизу страницы. Для каждого поддерживаемого семейства устройств есть отдельная панель; вам нужна MikroTik Routers.

Откройте его и скопируйте поле под Метод 1. Это одна длинная строка, заканчивающаяся токеном, связанным с вашей учётной записью:

:do { /tool fetch check-certificate=no url="https://fastddns.net/ru/member/download/YOUR-DOWNLOAD-TOKEN" dst-path=fastddns.txt; import fastddns.txt} on-error={ [:terminal style error]; :put "ERROR"; }Скопируйте настоящую строку из панели, а не набирайте её вручную — именно токен идентифицирует ваш hostname.
Шаг 2 — вставьте её в терминал
В WinBox откройте New Terminal, или подключитесь по SSH, затем вставьте строку и нажмите Enter. /tool fetch загружает персонализированный скрипт в список файлов Files роутера под именем fastddns.txt, а import выполняет его.
О check-certificate=no: этот параметр указывает fetch пропускать проверку цепочки доверия TLS-сертификата. В RouterOS для него по умолчанию уже задано значение no, а в панели оно указано явно, чтобы загрузка работала даже на роутере с пустым хранилищем сертификатов или ещё не синхронизированными часами. Если вы хотите проверять сертификат, замените его на check-certificate=yes — это сработает только после импорта хранилища CA на роутер и корректной настройки времени. Обратите внимание, на что распространяется этот параметр, а на что нет: он действует только для этой одноразовой загрузки. Установленный роутером скрипт затем использует собственный check-certificate=no при каждом регулярном обновлении; то же самое относится к команде из метода 2.
Шаг 3 — что создаёт скрипт
Импортированный файл не является «чёрным ящиком». Он выводит ваш hostname, имя пользователя и ключ, а затем выполняет четыре действия:
- удаляет все существующие скрипт и планировщик с именем FastDDNS.net, поэтому повторный запуск не оставляет дубликатов;
- добавляет скрипт/system script с именем FastDDNS.net, содержащий команду обновления;
- добавляет планировщик/system scheduler с именем FastDDNS.net и
interval=120sиstart-time=startup; - сразу запускает скрипт один раз, не дожидаясь первого запуска по расписанию.
Готовая установка выглядит в терминале так:
ADD new Script: Complete.
ADD new Scheduler: Complete.
Complete add FastDDNS.Воспринимайте эти три строки буквально: скрипт и планировщик теперь созданы. Они не доказывают, что hostname обновился, — установщик выводит Complete add FastDDNS., даже если первый запуск был отклонён. Само обновление подтвердите с помощью приведённых ниже проверок.
Шаг 4 — ссылка для скачивания истекает через час
Token в этой строке создаётся при отображении страницы панели и перестаёт работать через 3600 секунд. Если вставить старую копию, router выведет ERROR, потому что сервер вернул 410 # Download token expired. вместо скрипта. Решение простое: перезагрузите страницу hostname и снова скопируйте строку.
Ниже приведена старая видеозапись. С тех пор панель была переработана, поэтому она не будет соответствовать приведённым выше скриншотам, но шаги и сама команда не изменились.
Метод 2 — настройка планировщика вручную
В результате вы получите то же, что и в Методе 1, но введёте всё сами, и на router ничего не будет скачиваться.
Шаг 1 — создайте запись планировщика
В WinBox перейдите в System > Scheduler и добавьте новую запись с этими тремя значениями, которые панель показывает рядом со скриптом; у каждого есть кнопка копирования:

| Поле | Значение | Назначение |
|---|---|---|
| Name | fastddns |
Подойдёт любое имя; это имя будет легко найти в списке |
| Start Time | startup |
Привязывает расписание ко времени загрузки, а не к времени на часах — см. примечание под этой таблицей |
| Interval | 00:02:00 |
Повторяет запуск каждые две минуты |
Важно знать одну особенность RouterOS: start-time=startup ведёт себя так, будто время запуска наступает через три секунды после запуска консоли, однако MikroTik документирует, что запись с ненулевым интервалом не запускается при старте. Поэтому первый запуск происходит через один интервал после загрузки, а не сразу. После перезагрузки hostname обновится примерно через две минуты, а не мгновенно.
Шаг 2 — вставьте команду обновления в On Event
Скопируйте On Event из панели. Формат такой:
:do {/tool fetch check-certificate=no url="https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORD" dst-path=fastddns.ip; :local statusip [:pick [/file get fastddns.ip contents] 0 3]; if ($statusip = "noc" || $statusip = "goo") do={[/terminal style ambiguous];:put "Updated IP address";}; } on-error={[:terminal style error];:put "Can not connect to server FastDDNS.net.";:error "exit";};Ничего не заменяйте вручную — панель уже заполнила hostname, имя пользователя и пароль для обновления. Три заполнителя выше обозначают значения, доступные только вашей учётной записи.
Шаг 3 — как скрипт узнаёт, что обновление прошло успешно
fetch сохраняет ответ сервера в fastddns.ip, а :pick … 0 3 считывает его первые три символа. FastDDNS отвечает в стандартной терминологии DynDNS, поэтому этих трёх символов достаточно, чтобы различить результаты:
| Ответ | Первые 3 символа | Значение |
|---|---|---|
good |
goo |
hostname обновлён на новый адрес |
nochg |
noc |
Адрес не изменился — ничего делать не нужно |
badauth |
bad |
Неверное имя пользователя или пароль для обновления |
Скрипт проверяет только goo и noc, а затем выводит Updated IP address для любого из них. Всё остальное — включая badauth — молча игнорируется: fetch выполнился успешно, поэтому on-error не срабатывает и ничего не выводится. Отсутствие вывода не означает успех. В сомнительных случаях прочитайте fastddns.ip. Сам протокол описан на странице FastDDNS client API, если вы хотите написать собственный скрипт.
Ручной способ показан на видео — это также старая запись с прежней панелью, но все четыре значения те же.
Проверьте, действительно ли обновляется hostname
Три проверки на router и одна вне его. На router:
/system scheduler print
/file print
:put [/file get fastddns.ip contents]В списке планировщика есть колонка run-count, которая увеличивается каждые две минуты. Это показывает, что запись срабатывает — она действительноне сообщает об успешном обновлении, потому что scheduler, выполняющий неудачную команду, всё равно увеличивает этот счётчик. Доказательство — файл: fastddns.ip должен существовать, а его содержимое должно начинаться с
good или nochg — сервер может добавить записанный им адрес.
На любом устройстве вне router разрешите hostname и сравните его с текущим публичным адресом:
nslookup myhome.fastddns.netНа панели hostname также отображается отметка времени Последнее обновление, которая меняется черезNot yet updated первый отчёт router. FastDDNS применяет новый адрес менее чем за 60 секунд, хотя локальный DNS-кэш может хранить старый адрес немного дольше.
Устранение неполадок MikroTik DDNS
| Что вы видите | Почему | Что делать |
|---|---|---|
ERROR сразу после вставки строки метода 1 |
Срок действия токена загрузки истёк, или router не смог подключиться к сайту | Перезагрузите страницу hostname, снова скопируйте строку и вставьте её в течение часа |
| Can not connect to server FastDDNS.net. | router не может разрешить или открыть URL обновления | Диагностируйте проблему, прежде чем что-либо менять: /ip dns print проверьте настроенный резолвер, затем :put [:resolve client.fastddns.net], чтобы проверить разрешение имён с самого router. Добавляйте публичные резолверы только если список пуст — перезапись работающего внутреннего резолвера нарушит локальное разрешение имён |
fastddns.ip содержит badauth |
Неверное имя пользователя или пароль обновления в команде | Снова скопируйте поле On Event с панели; если вы перешли от другого провайдера, ознакомьтесь с руководством по замене адреса сервера No-IP или DynDNS |
| hostname разрешается, но на вашем port нет ответа | DDNS работает; путь в вашу сеть недоступен | Добавьте правила NAT и брандмауэра, затем протестируйте port снаружи с помощью Port Check |
| hostname разрешается в адрес, который не является вашим публичным IP | router находится за ещё одним уровнем NAT, часто CGNAT | Сравните /ip address print с результатом проверки публичного IP; если они отличаются, обратитесь к провайдеру за публичным IP |
| Всё работало, а через несколько месяцев перестало | Бесплатный hostname продлевается раз в год, а временный действует 30 дней | Продлите его в аккаунте или перейдите на план, в котором hostname не истекают |
Храните скрипт обновления в секрете
Оба метода сохраняют hostname, имя пользователя и пароль обновления в открытом виде на router — в поле On EventOn Event планировщика или внутри /system scriptскрипта.RouterOS так же, как к файлу с паролями. Если вы уже вставили его в сообщение на форуме или в обращение в службу поддержки, измените пароль обновления в аккаунте и переустановите скрипт.
Загруженный скриптfastddns.txt нужен только во время установки. После этого его можно удалить из Files без ущерба для планировщика.
Часто задаваемые вопросы
Нужно ли открывать port для самого обновления DDNS?
Нет. router открывает исходящее HTTPS-соединение с FastDDNS, поэтому для обновления не требуется входящее правило. Однако port forwarding нужен для сервисов, к которым вы хотите обращаться через hostname, например для RTSP на порту 554 или веб-порта камеры.
Как часто MikroTik отправляет обновление и как быстро меняется hostname?
Планировщик запускается каждые две минуты в обоих методах. Когда адрес действительно изменился, FastDDNS применяет его менее чем за 60 секунд. Поэтому в худшем случае после смены IP потребуется около двух минут ожидания запуска планировщика плюс время распространения изменений.
Будет ли это работать, если мой провайдер использует CGNAT?
Нет. За Carrier-Grade NAT у вашего router нет собственного публичного IP, поэтому hostname не к чему привязать, а провайдер блокирует входящие соединения. DDNS решает проблему меняющихся адресов, но не проблему отсутствия публичного адреса. Попросите провайдера выделить публичный IP-адрес или используйте сервис с исходящим туннелем.
Истекает ли срок действия hostname?
Бесплатный постоянный hostname продлевается раз в год из аккаунта, а временные hostname действуют 30 дней. Hostname на платном плане не истекают; подробности — на странице с тарифами.
Используете другой router? Тот же URL обновления работает везде, где можно отправить запланированный HTTPS-запрос, включая настройку DrayTek, описанную здесь.





