Динамический DNS ‒ это технология, которая применяется для назначения постоянного доменного имени компьютеру с изменяемым IP-адресом. Другие машины в Интернете могут устанавливать соединение с этой машиной по доменному имени и даже не знать, что IP-адрес изменился.
Обычно, серверы имеют статические IP-адреса. Для определения этого IP-адреса по имени делается запрос к DNS-серверу. При этом, обычно делается запрос к ближайшему DNS-серверу, обычно, серверу вашего интернет-провайдера. Всю остальную работу по разрешению имени в адрес делает этот DNS-сервер.
Если в его локальном кэше уже имеется информация об этом имени, он не делает дальнейших запросов, просто возвращает IP-адрес (и другие данные) из кэша. Так может быть, если кто-то до вас уже запрашивал эту информацию у этого DNS-сервера. Сервер помнит данные какое-то время, которое называется временем жизни (TTL, time to live) записи, а потом «забывает».
Если же актуальной информации нет (сервер не является авторизованным для данной зоны, а последний запрос об этом имени был сделан более, чем TTL назад, и сервер уже «забыл» что ему ответили), наш ближайший DNS-сервер ищет авторизованный за запрошенную зону, и спрашивает адрес у него.
В типичных случаях для записей указывается большое значение TTL - 4 часа, 24 часа и даже неделю, ведь эта информация почти никогда не меняется. Таким образом достигается снижение нагрузки на авторизованные серверы, поскольку обращения к ним происходят реже. Взамен, если мы изменяем адрес, придётся подождать: весь мир начнёт запрашивать адрес только через 4 часа, 24 часа, неделю соответственно - или что у нас там указано.
Для динамических хостов это неприемлемо - если у вас только что изменился адрес, все должны сразу же получать актуальную информацию, и поэтому, используются маленькие значения TTL. В нашей системе используется значение 10 минут, и это означает, что после смены адреса в зоне пройдёт не более 10 минут, прежде чем весь мир будет обращаться уже по новому адресу.
Для добавления своего ресурса в этот каталог необходимо в настройках Динамического DNS напротив поля Описание поставить галочку и заполнить описание.
При заходе на страницу управления вы видите 2 формы и небольшую дополнительную информацию.
Для обновления всех хостов можно использовать специальную ссылку, которая отображается над формами.
В первой форме отображаются данные об уже существующих записях, с возможностью удалить или изменить информацию о любой из них.
Вторая форма предназначена для добавления новых записей. Вы вводите имя записи и зону, в которой она будет создана. Например, если вы выбрали зону vrn123.ru
, и ввели имя name
, то создастся поддомен name.vrn123.ru
. Обратите внимание, что в имени домена можно использовать только символы латинского алфавита, цифры и знак «-», а длина записи может быть не более 63 символов. Это требование проистекает из стандарта DNS.
Посредством переключателя вы можете выбрать базовый тип добавляемой вами записи: A или NS.
Это обычная запись, в которой указывается ваш IP-адрес. Он изменяется при динамическом обновлении.
При этом, вы можете дополнительно создать MX-запись для своего хоста, в которой указывается доменное имя сервера, который обслуживает почту для вашего домена. При этом в зону добавляется запись name.vrn123.ru MX 10 mail.exchanger.host.name
. Если вы не добавите MX-запись, предполагается, что почтовый сервер находится по тому же адресу, что указан в A-записи.
Ещё вы можете добавить в зону Wildcard-запись. Это может потребоваться, чтобы работало не только имя name.vrn123.ru
, но также www.name.vrn123.ru
, mail.name.vrn123.ru
, any.other.subdomain.name.vrn123.ru
и тому подобное. При этом в зону добавляется запись *.name.vrn123.ru. CNAME name.vrn123.ru.
, так называемая Wildcard-запись.
Такие записи предназначены для продвинутых пользователей, которые способны самостоятельно настроить DNS-сервер, и которым записей A, MX и Wildcard CNAME недостаточно. Выбирая тип NS, вы настраиваете перенаправление всех запросов о зоне name.vrn123.ru
на свой DNS-сервер, который имеет динамический IP-адрес.
Если вы не уверены, что способны правильно настроить DNS-сервер, не выбирайте этот тип! Если вы всё-таки выбрали, знайте, что в родительскую зону добавляется две записи вида name.vrn123.ru NS ns.name.vrn123.ru
и ns.name.vrn123.ru A <ваш-ip-адрес>
, причём эта A-запись изменяется при динамическом обновлении.
На своём DNS-сервере вам следует:
name.vrn123.ru
,ns.name.vrn123.ru
,name.vrn123.ru. NS ns.name.vrn123.ru.
(других записей NS делать не нужно),ns.name.vrn123.ru. 600 A ваш-внешний-ip-адрес
, которая тоже должна динамически обновляться при смене вашего внешнего адреса (600 - это TTL записи, равный 10 минутам = 600 секунд).В режиме редактирования хоста вы видите ссылку для обновления только этого хоста, а также форму, совершенно аналогичную второй форме на главной странице панели. Здесь вы можете изменить адрес MX, добавить или убрать Wildcard и задать ip-адрес, отличный от того, с которого вы обращаетесь.
Для того, чтобы добавить запись, нужно:
Для того, чтобы проверить, что запись в зону добавилась, нужно выполнить следующие действия:
После этого программа автоматически будет выполнять обновление с интервалом в 20 минут. Если вам не подходит такой вариант, вы можете выключить автообновление или даже не включать его вовсе. А выполнять данную операцию только когда вам потребуется, с помощью пункта контекстного меню Обновить вручную.
Для того, чтобы указать новый IP-адрес для вашей записи (например, после разрыва связи), достаточно зайти по специальной ссылке. Конечно, вы можете делать это каждый раз вручную, но можно настроить и автоматическое обновление.
Для того, чтобы ваша запись автоматически обновлялась, нужно проделать следующие действия:
C:\ddns
и помещаем файл туда.ddns.bat
следующего содержания:wget "ссылка_для_обновления" del update*
(ссылка должна быть целиком заключена в двойные кавычки!)
С:\ddns\ddns.bat
*/20 * * * * wget "ссылка_для_динамического_обновления" --output-document=/tmp/ddns.tmp && rm -rf /tmp/ddns.tmp
(ссылка должна быть целиком заключена в двойные кавычки!)
Обновление происходит посредством отправки на сервер DDNS соответствующего HTTP GET-запроса. Запрос состоит из пути до скрипта и параметров скрипта.
Параметры скрипта, относящиеся к системе обновления DDNS:
Примеры запросов:
http://www.vrn123.ru/update/update.php?username=elve&password=dontknowwhatisthis
- обновить все хосты пользователя elve текущим адресом, пароль пользователя - dontknowwhatisthishttp://www.vrn123.ru/update/update.php?key=1234567890abcdef0123456789abcdef
- обновить все хосты пользователя с этим ключем 1234567890abcdef0123456789abcdefhttp://www.vrn123.ru/update/update.php?key=1234567890abcdef0123456789abcdef&host=elve.vrn123.ru
- обновить хост elve.vrn123.ru
текущим адресом, при условии, что этот хост принадлежит пользователю с соответствующим ключемhttp://www.vrn123.ru/update/update.php?username=elve&password=dontknowwhatisthis&host=elve.vrn123.ru&ip=192.168.168.2
- указать для хоста elve.vrn123.ru
адрес 192.168.168.2, если этот хост принадлежит пользователю elveОбратите внимание, что такая ссылка генерируется автоматически в панели управления Динамическим DNS. При этом, ссылка для обновления всех хостов находится на основной странице панели, а ссылка для обновления конкретного хоста - на странице редактирования этого хоста.
Да, я готов настроить Динамический DNS!