Динамический IP (DynDNS)
Как держать DNS-запись домена в WebShield привязанной к меняющемуся адресу домашнего сервера или роутера.
Домашний интернет обычно выдаёт адрес на время: перезагрузили роутер — адрес другой. Динамический DNS решает это так: устройство само сообщает нам свой текущий адрес, а мы обновляем запись. Работает привычный протокол dyndns2 — его понимают Keenetic, MikroTik, ASUS, OpenWrt, ddclient и UniFi. Для всего остального хватит одной команды в cron или в планировщике Windows.
Домен должен быть делегирован на наши NS-серверы.
Настройка конкретных роутеров, Linux и Windows, а также разбор SSH за проксированием — в руководстве Домашний сервер на динамическом адресе.
Как включить
Заголовок раздела «Как включить»- Откройте Личный кабинет → DNS нужного домена.
- В карточке Динамический IP нажмите Добавить имя и введите короткое
имя — например
home. - Скопируйте токен. Он показывается один раз: потерянный не восстанавливается, выпускается новый.
Записи A/AAAA появятся после первого обновления — до него имя не
резолвится.
Настройка роутера
Заголовок раздела «Настройка роутера»В разделе DynDNS роутера выберите произвольный сервис (Custom, «Другой»,
dyndns2) и укажите:
| Поле | Значение |
|---|---|
| Сервер / Service | dyn.webshield.pro |
| Имя пользователя | имя хоста, например home.example.com |
| Пароль | выпущенный токен |
Если прошивка просит полный адрес обновления, подойдёт стандартный путь:
https://dyn.webshield.pro/nic/update?hostname=home.example.com&myip=<IP>Роутер обращается к нам при смене адреса. Понадобится HTTPS — обновление по незащищённому HTTP мы не принимаем, иначе токен уходил бы по сети открытым текстом.
Команда для cron или планировщика Windows
Заголовок раздела «Команда для cron или планировщика Windows»Если устройство за NAT и своего внешнего адреса не знает — не указывайте его вовсе. Мы возьмём адрес, с которого пришёл запрос:
curl -fsS "https://dyn.webshield.pro/update?token=ВАШ_ТОКЕН"Раз в 5–10 минут более чем достаточно:
*/10 * * * * curl -fsS "https://dyn.webshield.pro/update?token=ВАШ_ТОКЕН" >/dev/nullВ планировщике Windows та же команда:
Invoke-RestMethod "https://dyn.webshield.pro/update?token=ВАШ_ТОКЕН"Ответ OK <адрес> означает, что запись обновлена, KO <причина> — что нет.
Узнать свой внешний адрес отдельно: curl https://dyn.webshield.pro/ip.
Адрес можно указать и вручную
Заголовок раздела «Адрес можно указать и вручную»| Параметр | Значение |
|---|---|
myip / ip |
адрес IPv4 или IPv6 (можно оба через запятую) |
myipv6 |
адрес IPv6 |
hostname |
имя хоста; необязательно — токен и так привязан к одному имени |
Адреса семей независимы: обновление только по IPv4 не удаляет запись AAAA.
Принимаются только публичные адреса. 192.168.*, 10.*, адреса из
диапазона операторского NAT и тому подобные мы отклоняем — в публичном DNS от
них нет пользы.
Ответы протокола
Заголовок раздела «Ответы протокола»| Ответ | Что значит |
|---|---|
good <адрес> |
адрес принят и записан |
nochg <адрес> |
адрес тот же, ничего менять не потребовалось |
badauth |
токен неверный или не передан |
nohost |
имя не совпадает с тем, для которого выпущен токен, или обновления выключены |
dnserr |
адрес не похож на публичный IP |
911 |
обновлений было слишком много, повторите позже |
Ограничение — 10 смен адреса за 10 минут на имя. Повторы с тем же адресом (а именно так выглядит перезагрузка роутера) в этот счёт не идут, поэтому перезагружать устройство можно спокойно.
Динамический адрес и защита
Заголовок раздела «Динамический адрес и защита»Имя с динамическим адресом можно включить в проксирование (CDN и защита) — тогда посетители приходят на наш edge, а мы обращаемся к вашему серверу по текущему адресу. Так домашний адрес не виден в DNS, а на самом сервере можно закрыть доступ всем, кроме наших адресов. Сертификат для имени выпускаем мы, открывать 80-й порт наружу не нужно.
После смены адреса переключение занимает до минуты.
Если что-то не работает
Заголовок раздела «Если что-то не работает»badauth— токен скопирован не полностью или уже перевыпущен. Выпустите новый в карточке и пропишите его в устройстве.nohost— в роутере указано другое имя хоста либо имя выключено в панели.- Запись не появляется — проверьте, что домен делегирован на наши NS и что
устройство действительно обращается к
dyn.webshield.proпо HTTPS.