Динамический DNS
Из Википедии
Динамический DNS - это технология, которая применяется для назначения постоянного доменного имени компьютеру с изменяемым IP-адресом. Другие машины в Интернете могут устанавливать соединение с этой машиной по доменному имени и даже не знать, что IP-адрес изменился. статья в Википедии
О сервере и сервисе
Основные принципы
Обычно, серверы имеют статические IP-адреса. Для определения этого IP-адреса по имени делается запрос к DNS-серверу. При этом, обычно делается запрос к ближайшему DNS-серверу, обычно, серверу вашего интернет-провайдера. Всю остальную работу по разрешению имени в адрес делает этот DNS-сервер.
Если в его локальном кэше уже имеется информация об этом имени, он не делает дальнейших запросов, просто возвращает IP-адрес (и другие данные) из кэша. Так может быть, если кто-то до вас уже запрашивал эту информацию у этого DNS-сервера. Сервер помнит данные какое-то время, которое называется временем жизни (TTL, time to live) записи, а потом «забывает».
Если же актуальной информации нет (сервер не является авторизованным для данной зоны, а последний запрос об этом имени был сделан более, чем TTL назад, и сервер уже «забыл» что ему ответили), наш ближайший DNS-сервер ищет авторизованный за запрошенную зону, и спрашивает адрес у него.
Обычно, для статических записей делается большое значение TTL - 4 часа, 24 часа и даже неделю! Это возможно, так как такая информация почти никогда не меняется. Таким образом, достигается снижение нагрузки на авторизованные серверы, так как обращения к ним происходят реже. Но для динамических хостов это неприемлемо - если у вас только что изменился адрес, все должны сразу же получать актуальную информацию! Поэтому, используются маленькие значения TTL. На нашем сервере используется значение 10 минут. Таким образом, после смены адреса в зоне пройдёт не более 10 минут, прежде чем весь мир будет обращаться уже по новому адресу.
В этом и состоит принцип работы динамических DNS.
Для клиентов воронежского филиала ООО ЦентрТелеком можно высказать даже ещё более сильное утверждение: вы узнаете об изменении адреса немедленно после динамического обновления (безо всяких тайм-аутов и 10-минутных задержек). Это потому, что основной DNS-сервер ЦТК - ns.vsi.ru - является одним из авторизованных серверов зоны vrn123.ru, которые всегда содержат самую актуальную информацию обо всех адресах зоны.
Каталог
Как попасть в каталог
Для добавления своего ресурса в этот каталог необходимо в настройках Динамического DNS напротив поля Описание поставить галочку и заполнить описание.
Настройка
Интерфейс панели управления
При заходе на страницу управления вы видите 2 формы и небольшую дополнительную информацию.
Для обновления всех хостов можно использовать специальную ссылку, которая отображается над формами.
В первой форме отображаются данные об уже существующих записях, с возможностью удалить или изменить информацию о любой из них.
Вторая форма предназначена для добавления новых записей. Вы вводите имя записи и зону, в которой она будет создана. Например, если вы выбрали зону vrn123.ru, и ввели имя name, то создастся поддомен name.vrn123.ru. Обратите внимание, что в имени домена можно использовать только символы латинского алфавита, цифры и знак »-», а длина записи может быть не более 63 символов. Это требование проистекает из стандарта DNS.
Посредством переключателя вы можете выбрать базовый тип добавляемой вами записи: A или NS.
Записи типа A
Это обычная запись, в которой указывается ваш 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-запись.
Записи типа NS
Такие записи предназначены для продвинутых пользователей, которые способны самостоятельно настроить 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-запись изменяется при динамическом обновлении.
Редактирование
В режиме редактирования хоста вы видите ссылку для обновления только этого хоста, а также форму, совершенно аналогичную второй форме на главной странице панели. Здесь вы можете изменить адрес MX, добавить или убрать Wildcard и задать ip-адрес, отличный от того, с которого вы обращаетесь.
Добавление записи
Для того, чтобы добавить запись, нужно:
- В поле Имя записи ввести желаемое имя.
- С помощью переключателя установить тип записи - А или NS. Скорее всего, вам потребуется запись типа A с включенной Wildcard.
- Если вам нужно добавить запись с конкретным IP-адресом, то установите флажок Указать другой IP-адрес, в котором можно ввести любой корректный адрес в форме dotted quad notation (четыре числа, разделённые точками). Если вы этого не выберете, будет указан ваш текущий IP-адрес (с которого вы обращаетесь к системе).
- 4. Нажмите кнопку Добавить. Запись добавится и появится в списке.
Проверка
Для того, чтобы проверить, что запись в зону добавилась, нужно выполнить следующие действия:
- Заходим в «Пуск» ⇒ «Программы» ⇒ «Стандартные» ⇒ «Командная строка»
- В открывшемся окне (это консоль Windows) вводим команду nslookup ваше_имя.vrn123.ru.
- Перед вами предстанет отчет программы. Две верхние строчки рассказывают нам о DNS-сервере - если вы пользователь Домолинк, это скорее всего будет ns.vsi.ru, 80.82.32.9. Далее идет информация о вашей записи: после слова Name будет указано имя, а после слова Address - IP-адрес.
Updater - Автоматическое обновление DNS
Установка
- Необходимо запустить файл updater.exe
- В появляющихся окнах надо поочередно нажать кнопки Далее - Установить - Закрыть
- Программа установится в папку C:\Program Files\updater\
- В меню Пуск появится ярлык Динамический DNS для запуска программы.
- В Linux ярлык для запуска попадает прямиком в меню Интернет.
Использование и настройка
- В меню Пуск щелкните по ярлыку Динамический DNS.
- После запуска в системном трее (рядом с часами) появится новый значек

Это наша программа. Перед тем как ею пользоваться нужно ее настроить.
- Щелкните правой кнопкой мыши по значку программы в трее и выбирите пункт Настроить
- В зависимости от того, каким образом вы собираетесь аутентифицироваться, выберите пункт По логину с паролем или По ключу, после чего заполните соответствующие поля.
- Опционально, если есть желание обновлять только отдельную запись, то можно указать полное доменное имя этой записи в строке Отдельный хост, предварительно установив галочку в напротив этого поля.
- По окончанию настройки жмем кнопку Сохранить в нижнем правом углу окна.
- Окно настроек закроется и программа перечитает эти настройки.
- Теперь нажимаем на значек программы правой клавишей мыши и в контекстном меню выбираем пункт Включить автообновление.
После этого программа автоматически будет выполнять обновление с интервалом в 20 минут.
Если вам не подходит такой вариант, вы можете выключить автообновление или даже не включать его вовсе. А выполнять данную операцию только когда вам потребуется, с помощью пункта контекстного меню Обновить вручную.
Обновление ДНС с использованием стандартных средств ОС
Для того, чтобы указать новый IP-адрес для вашей записи (например, после разрыва связи), достаточно зайти по специальной ссылке. Конечно, вы можете делать это каждый раз вручную, но можно настроить и автоматическое обновление.
Для пользователей Windows
Для того, чтобы ваша запись автоматически обновлялась, нужно проделать следующие действия:
- Скачиваем программу wget.exe.zip, создаем для нее папку
C:\ddnsи помещаем файл туда. - Заходим в эту папку и создаем там файл
ddns.batследующего содержания:wget "ссылка_для_обновления" del update*
(ссылка должна быть целиком заключена в двойные кавычки!)
- Открываем «Пуск» ⇒ «Программы» ⇒ «Стандартные» ⇒ «Служебные» ⇒ «Назначенные задания»
- Нажимаем на надпись Добавить задание, потом далее.
- Нажимаем Обзор и выбираем файл
С:\ddns\ddns.bat - В появившемся окне вводим Название задания(любое на ваш выбор) и устанавливаем переключатель в положение ежедневно.
- В следующем окошке указываем время, в которое будет выполняться обновление.
- Далее вам будет предложено ввести свой логин и пароль, под которыми вы входите в Windows. Вводите их, иначе событие может и не выполниться. Ввели? Теперь жмем Далее.
- В этом окне вам нужно установить галочку Дополнительные параметры и нажать Готово.
- Теперь выбираем вкладку Расписание и нажимаем на ней кнопку Дополнительно
- В появившемся окне ставим галочку Повторять задание, устанавливаем период повторения, к примеру в 10 минут, и нажимаем ОК (Чаще обновлять не имеет смысла, т.к. TTL записи - 10 минут).
Для пользователей Unix-like операционных систем
- Проверяем присутствует ли наша учетка в группе cron. Если нет, то исправляем это и перелогиниваемся.
- Запускаете с консоль.
- Вводите команду crontab -e. Вам откроется окно текстового редактора, в которое нужно добавить следующую строку :
*/20 * * * * wget "ссылка_для_динамического_обновления" --output-document=/tmp/ddns.tmp && rm -rf /tmp/ddns.tmp
(ссылка должна быть целиком заключена в двойные кавычки!)
Составление ссылки обновления DDNS
Обновление происходит посредством отправки на сервер DDNS соответствующего HTTP GET-запроса. Запрос состоит из пути до скрипта и параметров скрипта.
Параметры скрипта, относящиеся к системе обновления DDNS:
- Для идентификации при обновлении везде нужно использовать либо связку имя-пароль, либо ключ пользователя-владельца.
- Можно указать хост, который обновляется. Если хост не указан, будут обновлены все хосты данного пользователя.
- Можно указать ip-адрес, который будет назначен соответствующим A-записям ($host для записи типа A, либо ns.$host для записи типа NS). Если адрес не указан, будет использован IP-адрес, с которого пришёл запрос на обновление.
Примеры запросов:
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!
