Динамический DNS: зачем нужен и когда заменяет белый IP
Задача, которую решает динамический DNS, звучит так: подключиться к своему компьютеру, камере или серверу извне, когда провайдер меняет вам адрес. Постоянное имя вроде home.example.com ведёт туда же, куда и вчера, даже если за ночь адрес сменился трижды. Ниже — когда это работает, когда не помогает вообще, как настроить и что делать, если обновление встало.
Где бы вы ни находились, Dynamic DNS от Alviy приведёт вас точно к цели назначения, даже если IP-адреса меняются динамически. Выберите имя, настройте обновление и забудьте про необходимость записывать числа-октеты нужного адреса.
Когда DDNS нужен, а когда не поможет
Динамический DNS отвечает ровно за одно: держит доменное имя нацеленным на текущий адрес. Он не открывает доступ туда, куда доступа нет. Поэтому первым делом стоит понять, ваш ли это случай.
| Задача | Достаточно ли DDNS | Что ещё понадобится |
|---|---|---|
| Камера видеонаблюдения дома | Да, если адрес белый | Проброс порта на роутере |
| NAS и файловый сервер | Да | Проброс портов, надёжный пароль |
| RDP к рабочему компьютеру | Да | Нестандартный порт и ограничение по адресам |
| Игровой или тестовый сервер | Да | Проброс портов под протокол игры |
| Публичный сайт на домашнем канале | Технически да | Лучше проксирование: канал и адрес не стоит светить |
| Провайдер выдал серый адрес | Нет | Белый IP, VPN или проксированный доступ |
Из чего складывается динамический DNS
Работает связка из трёх частей, и ломается обычно ровно одна из них — понимание, какая именно, экономит вечер:
- DNS-сервер отвечает на запросы резолвинга имени. У записи стоит низкий TTL, поэтому мир узнаёт о смене адреса за минуты, а не за сутки.
- Сервис обновления принимает запросы в формате DynDNS и правит запись в зоне. Это точка, где проверяются логин и пароль.
- Клиент обновления живёт на вашей стороне: следит за адресом и, когда тот меняется, дёргает сервис. Им может быть роутер, утилита на компьютере или NAS.
Если клиент не запустился — имя ведёт на вчерашний адрес. Если сервис отклонил запрос — то же самое, но виноваты учётные данные. Если TTL высокий — адрес уже новый, а часть провайдеров отдаёт старый ещё несколько часов.
Почему адрес вообще меняется
В интернете чаще всего используются статические IP, но у домашних и корпоративных подключений они обычно динамические. Причин две:
- DHCP. Сервер провайдера выдаёт адрес в аренду на срок TTL. Формально это могут быть две недели, но провайдеры сильно занижают период, чтобы эффективнее использовать свой пул адресов. Каждое переподключение, перезагрузка роутера или обрыв линии — повод выдать другой адрес.
- NAT. На роутере указывается несколько адресов для трансляции — типичная картина в корпоративных сетях. В домашней сети с Wi-Fi роутером NAT есть всегда, но наружу обычно смотрит один адрес, и его смена определяется как раз DHCP.
Отсюда и правило: если вам нужен вход снаружи, полагаться на «адрес вроде не менялся уже месяц» нельзя. Он сменится в самый неудобный момент.
Белый, серый и CGNAT: как определить свой адрес
Это главная развилка. IPv4-адреса закончились: чтобы получить новые, провайдер встаёт в многомесячную очередь в IANA и ежегодно платит за обслуживание каждого адреса. Поэтому у провайдера обычно меньше адресов, чем клиентов, и он либо управляет ими динамически через DHCP, либо прячет клиентов за NAT.
Белый адрес — уникальный в интернете и зарегистрированный за провайдером. Никаких ограничений на входящие подключения нет.
Серый адрес — частный, работающий только внутри сети провайдера. Такие диапазоны зарезервированы и в интернете не маршрутизируются:
- 10.0.0.0 — 10.255.255.255 (10.0.0.0/8)
- 100.64.0.0 — 100.127.255.255 (100.64.0.0/10) — так называемый CGNAT, адреса именно для провайдерской трансляции
- 172.16.0.0 — 172.31.255.255 (172.16.0.0/12)
- 192.168.0.0 — 192.168.255.255 (192.168.0.0/16)
Трансляцию таких клиентов в белые адреса организует роутер провайдера, и этот механизм полностью скрыт от вас — вмешаться в него нельзя. Сайты открываются нормально, а вот сервисы, требующие входящих подключений, работать не могут.
Как проверить. Зайдите в веб-интерфейс роутера и посмотрите адрес на WAN-интерфейсе. Затем узнайте, какой адрес видит внешний сервис. Если они совпадают — адрес белый. Если на WAN стоит что-то из списка выше, а снаружи видно другое — вы за провайдерским NAT, и DDNS вам не поможет, пока не появится белый адрес. Что делать в этом случае — три пути доступа к устройству за серым IP разобраны в отдельном материале про белый и серый IP.
Отдельно про домашний роутер с белым адресом: на нём тоже работает NAT, но здесь вы можете пробрасывать порты и управлять трансляцией сами. В этом и разница.
Проброс портов: половина работы, о которой забывают
Частое разочарование: имя настроено, адрес обновляется, а подключиться всё равно не выходит. Причина в том, что DDNS доводит запрос до вашего роутера, а дальше роутер не знает, какому устройству в домашней сети его отдать. Это решает проброс портов — правило вида «всё, что пришло на порт 8080 снаружи, отправляй на 192.168.1.50, порт 80».
Три вещи, которые стоит сделать сразу:
- закрепить за устройством постоянный локальный адрес, иначе правило однажды укажет в пустоту;
- не выставлять наружу стандартные порты управления как есть — их сканируют круглосуточно;
- проверять доступность не из домашней сети, а с мобильного интернета: изнутри многие роутеры отвечают сами себе и создают ложное ощущение, что всё работает.
Как настроить: четыре шага
Порядок один и тот же независимо от того, что вы подключаете:
- 1. Выбрать имя. Это то, что вы будете вводить вместо адреса. Имя привязывается к вашей учётной записи, и обновлять его сможет только она.
- 2. Настроить обновление. Проще всего — прямо на роутере: в большинстве прошивок есть раздел DynDNS, куда вписываются сервис, имя хоста, логин и пароль. Инструкции по популярным моделям — в разборах Keenetic и Padavan, общий порядок — в настройке роутера.
- 3. Пробросить порты до нужного устройства, как описано выше.
- 4. Проверить снаружи. Дождитесь первого обновления, затем обратитесь к имени с внешней сети. Если имя резолвится в правильный адрес, а подключения нет — проблема уже не в DNS, а в пробросе или файрволе устройства.
Протокол обновления DynDNS2
Механизм динамических обновлений DNS описан в RFC 2136, но тот формат, который поддерживают роутеры и бытовые устройства, стандартом IETF не является. Он сложился де-факто: компания DynDNS.org первой начала раздавать такие имена, позже стала DYN.COM и была поглощена Oracle. Её формат и называют DynDNS2 — именно его понимает практически всё оборудование:
wget -O - http://{username}:{password}@dynupdate.alviy.com/nic/update?hostname={yourhostname}&myip={ipaddress}
Здесь username и password — учётные данные в системе, yourhostname — имя, адрес которого обновляется, ipaddress — новый адрес. Если параметр адреса не передавать, сервис возьмёт тот, с которого пришёл запрос: так делает большинство клиентов.
Важная тонкость: передача учётных данных прямо в URL считается небезопасной, и современные браузеры такой формат больше не поддерживают. Запрос доходит до сервера уже без логина и пароля, а в ответ приходит ошибка авторизации noauth. Проверять обновление вручную стоит утилитой вроде curl или wget, а не адресной строкой браузера.
Чем обновлять: роутер, компьютер или NAS
Клиент обновления — единственная часть, которая работает на вашей стороне, и выбор здесь влияет на надёжность:
- Роутер. Лучший вариант по умолчанию. Он и так знает внешний адрес первым, работает круглосуточно и не зависит от того, включён ли компьютер.
- Отдельный клиент на компьютере или сервере. Нужен, когда прошивка роутера не умеет работать с вашим сервисом или список сервисов в ней зашит намертво. Готовые клиенты под Windows, Linux и macOS описаны в документации.
- NAS. В прошивках Synology, QNAP и подобных обычно есть встроенный раздел DDNS — он же и будет клиентом.
Держать два клиента одновременно не стоит: они начнут перебивать записи друг друга, и диагностировать это потом неприятно.
Если обновление встало: что проверить по порядку
Симптомы похожи, а причины разные. Проходите по порядку — так быстрее, чем наугад.
| Что видно | Вероятная причина | Что делать |
|---|---|---|
| Имя ведёт на старый адрес | Клиент не отправил обновление | Проверить статус DDNS в роутере, перезапустить клиент |
| Ответ noauth | Логин или пароль не дошли | Перевести пароль в клиент заново, проверить формат запроса |
| Адрес обновился, доступа нет | Не настроен проброс портов | Проверить правило и локальный адрес устройства |
| Изнутри работает, снаружи нет | Проверка велась из домашней сети | Повторить с мобильного интернета |
| На WAN адрес вида 100.64.x.x | Провайдерский CGNAT | Запросить белый адрес у провайдера |
| Обновляется, но с задержкой в часы | Высокий TTL записи | Понизить TTL в настройках зоны |
DDNS, VPN и туннели: что выбирать
Все три решают похожую задачу — попасть домой снаружи, — но по-разному:
- DDNS — самый простой путь, когда адрес белый. Ничего не шифрует и ничего не проксирует, только держит имя актуальным.
- VPN нужен, когда вы хотите не публиковать сервисы наружу, а попадать в домашнюю сеть как в локальную. Ему тоже нужен доступный извне адрес — то есть VPN обычно ставят вместе с DDNS, а не вместо него.
- Обратный туннель — единственный вариант при сером адресе: соединение устанавливается изнутри наружу, поэтому провайдерский NAT ему не помеха. Платите за это зависимостью от посредника и задержкой.
Бесплатные сервисы и их ограничения
Знакомство с динамическим DNS у многих начинается с бесплатных имён на ddns.net, No-IP или DynDNS.org. Работают они честно, но у бесплатных планов есть общие черты: имя нужно регулярно подтверждать вручную, иначе его отберут; список поддерживаемых прошивок ограничен; при массовых сбоях бесплатные учётки восстанавливают последними. Разбор того, чем это оборачивается на практике и как перенести имя без простоя, — в отдельном материале о замене ddns.net.
Коротко: динамический DNS стоит настраивать, когда провайдер дал белый адрес, но не гарантирует его постоянство. Проверьте тип адреса, заведите имя, повесьте обновление на роутер и не забудьте про проброс портов — на нём спотыкаются чаще, чем на самом DNS. Если нужны не только имена, но и управление зоной целиком, посмотрите DNS-хостинг, а список типов записей пригодится, когда дело дойдёт до почты и подтверждений домена. Стоимость сервиса определяется по подписочной модели.