Interested Article - Динамический DNS

Динамический DNS — технология, позволяющая информации на DNS -сервере обновляться в реальном времени и по желанию в автоматическом режиме. Она применяется для назначения постоянного доменного имени устройству (компьютеру, сетевому накопителю) с динамическим и статическим IP-адресом . Это может быть IP-адрес , назначенный вручную, полученный по DHCP или по IPCP в PPP -соединениях, например при удалённом доступе через модем . Другие машины в Интернете могут устанавливать соединение с этой машиной по доменному имени и даже не знать, что IP-адрес изменился.

Время жизни (TTL) (см. ) для динамической записи делается очень маленьким (не более двух-трёх минут), иначе другие DNS -серверы поместят её в свой кэш , а когда она изменится, их клиенты долго будут получать устаревшую информацию.

Динамический DNS также часто применяется в локальных сетях , где клиенты получают IP-адрес по DHCP , а потом регистрируют свои имена в локальном DNS-сервере.

Протокол для обновления DNS описан в и реализован, например, утилитой nsupdate . Для безопасной аутентификации клиента можно использовать технологию TSIG ( ), в которой используется заранее известный ключ . Минус этой технологии в том, что ключ должен быть установлен на каждом клиенте и на сервере. Кроме того требуется установить nsupdate что расточительно для маленькой памяти роутеров.

Для обновления обычно используются специальные программы-клиенты, которые для обновления данных могут использовать и запросы HTTP GET которую можно выполнить с помощью программы wget которая всегда уже есть установленная на роутере. Большинство DDNS провайдеров имеют API такой же как у первого провайдер DynDNS (Dyn.com) поэтому этот протокол часто называют DynDNS2. Необходимо зарегистрироваться в сервисе динамического DNS и получить свои имя пользователя и пароль. Далее простейший запрос на обновление записи можно выполнить командой:

wget -O -

Часто такую команду добавляют в crontab чтобы она периодически выполнялась. Большинство роутеров имеют GUI настройку где можно указать все эти опции и роутер сам будет обновлять когда поменялся IP.

Microsoft для своего Active Directory (которому динамическая DNS необходима, так как контроллеры домена регистрируют в DNS свои SRV-записи, чтобы другие машины могли их найти) использует другой способ, основанный на Kerberos ‐аутентификации и не требующий ручного распространения ключей. Это называется GSS-TSIG, но является лишь предложением стандарта и поддерживается только в ОС Windows NT версий от 5.0.

BIND (очень популярный DNS-сервер для UNIX ‐подобных ОС, таких как GNU/Linux , FreeBSD ) поддерживает TSIG ( ), а по GSS-TSIG работать не может, однако версии от 8.2.2 поддерживают SRV-запись , что обеспечивает совместимость с Windows NT.

Провайдеры

  • DynDNS первый и наиболее поддерживаемый всеми роутерами, только один домен бесплатный
  • No-IP только один домен бесплатный
  • бесплатный, популярный, работает уже продолжительное время
  • с открытым исходным кодом и бесплатный
  • бесплатный, работает уже продолжительное время

Некоторые DNS хостинги тоже поддерживают DNS для обычных доменов:

  • См.

Этот список провайдеров DDNS не исчерпывающий

Клиенты DDNS

  • для роутеров c OpenWrt
  • зависит от библиотеки GnuTLS
  • использует Python
  • использует Perl
  • для Windows. Старый но всё ещё работает

ПО для DDNS провайдеров

  • написан на Python и Django, принимает запросы по DynDNS2 протоколу и далее вызывает nsupdate для сконфигурированного DNS сервера. Может также форвардить по DynDNS2 на другой сервер.
  • Написан на Go, принимает запросы по DynDNS2 протоколу и далее вызывает nsupdate для сконфигурированного DNS сервера (BIND)
  • UI для dprandzioch/docker-ddns написанный на Python и Django
  • Написан на Python, является pipe-backend для PowerDNS
  • Написан на NodeJS, самостоятельный DNS сервер с базовой поддержкой DynDNS2
  • Написан на PHP, вызывает nsupdate
  • для AWS Lambda
  • Написан на Java, исходный код DuckDNS
  • отдельный протокол, старый и малопопулярный. Поддерживается роутерами Huawei.
  • обновляет локальный файл /etc/hosts

См. также

Примечания

  1. от 16 июня 2013 на Wayback Machine // ietf.org

Ссылки

Источник —

Same as Динамический DNS