Динамический DNS
Домашний интернет обычно приходит с адресом, который меняется. Динамический DNS закрывает этот разрыв: роутер сам сообщает нам новый адрес, а домен продолжает вести к вам домой — к домашнему серверу, камерам, VPN, NAS или удалённому доступу. Протокол стандартный, DynDNS: в OpenWrt его знает пакет ddns-scripts, самописные скрипты не нужны.
Что нужно до начала
- Домен, зарегистрированный у нас и стоящий на наших серверах имён. После покупки он стоит на них по умолчанию — отдельно настраивать ничего не надо.
- Роутер, который умеет стандартный DynDNS.
- Токен: его выдаёт кнопка «Динамический DNS» на карточке домена — одинаково в Telegram-боте и в кабинете на сайте.
Если домен держат на стороннем DNS — например на своём Cloudflare, — динамический DNS не заработает: записями там управляем не мы. Сами серверы имён чужих доменов мы не переключаем, это решение остаётся за вами.
Адрес обновления
Эндпоинт принимает обычный GET-запрос протокола DynDNS.
https://api.regexdomain.com/nic/update?hostname=ИМЯ&myip=[IP]У того же эндпоинта есть второе имя — /v3/update. Часть клиентов ходит по нему, работает одинаково.
Строка для OpenWrt
Её место — поле update_url сервиса типа «произвольный» (custom).
https://[USERNAME]:[PASSWORD]@api.regexdomain.com/nic/update?hostname=[DOMAIN]&myip=[IP][USERNAME] и [DOMAIN] — одно и то же имя, то, которое обновляется. [PASSWORD] — выданный токен. Эти три подстановки замените своими значениями прямо в строке — либо впишите значения в соответствующие поля сервиса, тогда роутер подставит их сам.
[IP] подставляет роутер. Если подстановка уедет незаполненной, сервер ответит dnserr — что делать в этом случае, ниже, в разделе про NAT.
Имя пользователя и пароль — это не вход в кабинет
Поля в конфиге роутера называются «имя пользователя» и «пароль», потому что протокол построен на HTTP Basic. Значения там другие, и это место путает чаще всего.
Имя пользователя — это имя хоста, которое обновляется: home.example.com или сам домен. Не логин от кабинета: у Regex вообще нет логина и пароля от аккаунта, вход в кабинет только подтверждением в Telegram.
Пароль — выданный токен вида regex_ddns_XXXXXXXX. Им нельзя войти в кабинет, купить домен, продлить его или что-то посмотреть. Он умеет ровно одно: менять адрес у одного имени.
Настройка по шагам
Шаги 1–3 делаются у нас, 4–7 — в роутере.
- Откройте карточку домена и нажмите «Динамический DNS».
- Выберите имя, которое будет обновляться: сам домен или поддомен вроде home.
- Получите адрес обновления, имя пользователя и пароль. Имя пользователя — это выбранное на прошлом шаге имя, пароль — токен. Токен показывается один раз, скопируйте его сразу.
- В роутере откройте Службы → Динамический DNS и добавьте сервис, тип — «произвольный» (custom).
- Вставьте строку в поле update_url и подставьте своё имя и токен.
- Сохраните и примените настройки.
- Убедитесь, что получилось: в логе сервиса должен появиться ответ good с вашим текущим адресом. При следующих опросах с тем же адресом придёт nochg — это нормально.
Если раздела «Динамический DNS» в меню роутера нет, значит пакет ddns-scripts не установлен.
Если роутер за NAT
Когда роутер своего внешнего адреса не знает, уберите из строки хвост &myip=[IP]. Без этого параметра мы берём адрес, с которого пришёл запрос.
https://[USERNAME]:[PASSWORD]@api.regexdomain.com/nic/update?hostname=[DOMAIN]Ответы сервера
| Ответ | Что значит и что делать |
|---|---|
| good <адрес> | Адрес записан, больше ничего делать не нужно. |
| nochg <адрес> | Прислан тот же адрес, что уже стоит. |
| badauth | Имя или токен не подошли. Проверьте, что в имени пользователя стоит имя хоста, а не что-то другое; если токен потерян — выпустите новый. |
| nohost | Не тот хост: домен не наш или стоит не на наших серверах имён. Проверьте серверы имён домена. |
| notfqdn | hostname не похож на домен: скорее всего, подстановка не заменена на полное имя. |
| abuse | Слишком часто, лимит 10 запросов в минуту на токен. Увеличьте интервал опроса в настройках сервиса. |
| dnserr | В myip мусор, чаще всего незаполненная подстановка [IP]. Уберите хвост &myip=[IP], как в разделе про NAT. |
| 911 | Ошибка на нашей стороне, стоит повторить позже. |
Ответ — обычный текст протокола, не JSON. Код ответа HTTP всегда 200, даже у отказов: так требует протокол, смотреть надо на текст.
Скорость, IPv4 и IPv6
TTL динамических записей — 60 секунд, у обычных записей зонный TTL длиннее. Новый адрес расходится примерно за минуту: после смены адреса публичные резолверы 1.1.1.1, 8.8.8.8 и 9.9.9.9 отдавали новый сразу.
Поддерживаются IPv4 (запись A) и IPv6 (запись AAAA). Dual-stack роутер может прислать оба адреса сразу, через запятую в myip.
Границы токена
Токен выдаётся на одно имя. Остальные записи домена им не тронуть: ни почту (MX), ни другие поддомены, ни серверы имён. Всего на домен их можно завести до 10 — под несколько роутеров или несколько сервисов.
Восстановить токен нельзя: в базе хранится только его хэш. Можно выпустить новый, старый тогда перестаёт работать. Отозвать токен можно в любой момент, в одно нажатие.
Не заводится — напишите в поддержку из бота, разберёмся.