Как настроить динамический DNS (DDNS) на router MikroTik с FastDDNS

FastDDNS поставляется с двумя настройками RouterOS для одной и той же задачи: однострочный скрипт, который создаёт планировщик за вас, и ручная запись в System > Scheduler. Это руководство охватывает оба способа, что именно создаёт каждый из них на роутере и как проверить, что имя хоста действительно обновляется.

Minh NguyenMinh NguyenОснователь и разработчик, FastDDNS

Два способа настроить 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.

Раздел Параметры конфигурации DDNS на странице FastDDNS, с панелью MikroTik Routers в правом нижнем углу
Шаг 1 — список в панели внизу страницы hostname

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

Метод 1: окно в панели MikroTik Routers, показывающее команду установки в одну строку с закрытым токеном загрузки
На этом скриншоте токен скрыт; в вашей панели он уже заполнен
: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 и снова скопируйте строку.

Ниже приведена старая видеозапись. С тех пор панель была переработана, поэтому она не будет соответствовать приведённым выше скриншотам, но шаги и сама команда не изменились.