Interested Article - Динамический DNS
- 2020-04-10
- 2
Динамический 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
См. также
- распределённый DNS поверх DHT
- Tor#Анонимные скрытые службы Tor onion сервис позволяет получить домен и не требует публичного IP
- Альтернативные корневые серверы DNS
- mDNS и DNS-SD альтернативный механизм DNS для локальной сети
Примечания
- от 16 июня 2013 на Wayback Machine // ietf.org
Ссылки
- // DMOZ (англ.)
- (рус.) // Хабрахабр , 23.11.2013
- от 6 ноября 2015 на Wayback Machine (англ.)
- 2020-04-10
- 2