Конфигурируем DHCP-серверы и настраиваем динамические обновления DNS. Самостоятельная настройка опции DDNS

Динамический 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 напротив поля Описание поставить галочку и заполнить описание.

Настройка

Интерфейс панели управления

Посредством переключателя вы можете выбрать базовый тип добавляемой вами записи: A или NS.

Записи типа A

Это обычная запись, в которой указывается ваш IP-адрес. Он изменяется при динамическом обновлении.

При этом, вы можете дополнительно создать MX-запись для своего хоста, в которой указывается доменное имя сервера, который обслуживает почту для вашего домена. При этом в зону добавляется запись name..exchanger.host.name . Если вы не добавите MX-запись, предполагается, что почтовый сервер находится по тому же адресу, что указан в A-записи.

Ещё вы можете добавить в зону Wildcard-запись. Это может потребоваться, чтобы работало не только имя name..name..name..other.subdomain.name.. При этом в зону добавляется запись *.name.сайт. CNAME name.сайт. , так называемая Wildcard-запись.

Записи типа NS

Такие записи предназначены для продвинутых пользователей, которые способны самостоятельно настроить DNS -сервер, и которым записей A, MX и Wildcard CNAME недостаточно. Выбирая тип NS, вы настраиваете перенаправление всех запросов о зоне name..

Если вы не уверены, что способны правильно настроить DNS -сервер, не выбирайте этот тип! Если вы всё-таки выбрали, знайте, что в родительскую зону добавляется две записи вида name..name..name.сайт A <ваш-ip-адрес> , причём эта A-запись изменяется при динамическом обновлении.

На своём DNS -сервере вам следует:

    создать зону name.сайт ,

    в SOA-записи указать ответственным сервером ns.name.сайт ,

    добавить NS-запись name.сайт. NS ns.name.сайт. (других записей NS делать не нужно),

    добавить A-запись ns.name.сайт. 600 A ваш-внешний-ip-адрес, которая тоже должна динамически обновляться при смене вашего внешнего адреса (600 - это TTL записи, равный 10 минутам = 600 секунд).

Редактирование

В режиме редактирования хоста вы видите ссылку для обновления только этого хоста, а также форму, совершенно аналогичную второй форме на главной странице панели. Здесь вы можете изменить адрес MX, добавить или убрать Wildcard и задать ip-адрес, отличный от того, с которого вы обращаетесь.

Добавление записи

Для того, чтобы добавить запись, нужно:

    В поле Имя записи ввести желаемое имя.

    С помощью переключателя установить тип записи - А или NS. Скорее всего, вам потребуется запись типа A с включенной Wildcard.

    Если вам нужно добавить запись с конкретным IP-адресом, то установите флажок Указать другой IP-адрес , в котором можно ввести любой корректный адрес в форме dotted quad notation (четыре числа, разделённые точками). Если вы этого не выберете, будет указан ваш текущий IP-адрес (с которого вы обращаетесь к системе).

    4. Нажмите кнопку Добавить . Запись добавится и появится в списке.

Проверка

Для того, чтобы проверить, что запись в зону добавилась, нужно выполнить следующие действия:

    Заходим в «Пуск» ⇒ «Программы» ⇒ «Стандартные» ⇒ «Командная строка»

    В открывшемся окне (это консоль Windows) вводим команду nslookup ваше_имя.сайт.

    Перед вами предстанет отчет программы. Две верхние строчки рассказывают нам о DNS -сервере - если вы пользователь Домолинк, это скорее всего будет ns.vsi.ru, 80.82.32.9. Далее идет информация о вашей записи: после слова Name будет указано имя, а после слова Address - IP-адрес.

Updater - Автоматическое обновление DNS

Установка

    Необходимо запустить файл updater.exe

    В появляющихся окнах надо поочередно нажать кнопки Далее - Установить - Закрыть

    Программа установится в папку C:\Program Files\updater\

    В меню Пуск появится ярлык Динамический DNS для запуска программы.

    В Linux ярлык для запуска попадает прямиком в меню Интернет .

Использование и настройка

    Щелкните правой кнопкой мыши по значку программы в трее и выбирите пункт Настроить

    В зависимости от того, каким образом вы собираетесь аутентифицироваться, выберите пункт По логину с паролем или По ключу , после чего заполните соответствующие поля.

    Опционально, если есть желание обновлять только отдельную запись, то можно указать полное доменное имя этой записи в строке Отдельный хост , предварительно установив галочку в напротив этого поля.

    По окончанию настройки жмем кнопку в нижнем правом углу окна.

    Окно настроек закроется и программа перечитает эти настройки.

    Теперь нажимаем на значок программы правой клавишей мыши и в контекстном меню выбираем пункт Включить автообновление .

После этого программа автоматически будет выполнять обновление с интервалом в 20 минут . Если вам не подходит такой вариант, вы можете выключить автообновление или даже не включать его вовсе. А выполнять данную операцию только когда вам потребуется, с помощью пункта контекстного меню Обновить вручную .

Обновление ДНС с использованием стандартных средств ОС

Для того, чтобы указать новый IP-адрес для вашей записи (например, после разрыва связи), достаточно зайти по специальной ссылке. Конечно, вы можете делать это каждый раз вручную, но можно настроить и автоматическое обновление.

Для пользователей Windows

Для того, чтобы ваша запись автоматически обновлялась, нужно проделать следующие действия:

    Заходим в эту папку и создаем там файл ddns.bat следующего содержания: wget "ссылка_для_обновления" del update*

    Открываем «Пуск» ⇒ «Программы» ⇒ «Стандартные» ⇒ «Служебные» ⇒ «Назначенные задания»

    Нажимаем на надпись Добавить задание , потом далее .

    Нажимаем Обзор и выбираем файл С:\ddns\ddns.bat

    В появившемся окне вводим Название задания (любое на ваш выбор) и устанавливаем переключатель в положение ежедневно .

    В следующем окошке указываем время, в которое будет выполняться обновление.

  1. (ссылка должна быть целиком заключена в двойные кавычки!)

Составление ссылки обновления DDNS

Обновление происходит посредством отправки на сервер DDNS соответствующего HTTP GET-запроса. Запрос состоит из пути до скрипта и параметров скрипта.

Параметры скрипта, относящиеся к системе обновления DDNS:

    Для идентификации при обновлении везде нужно использовать либо связку имя-пароль, либо ключ пользователя-владельца.

    Можно указать хост, который обновляется. Если хост не указан, будут обновлены все хосты данного пользователя.

    Можно указать ip-адрес, который будет назначен соответствующим A-записям ($host для записи типа A, либо ns.$host для записи типа NS). Если адрес не указан, будет использован IP-адрес, с которого пришёл запрос на обновление.

Примеры запросов:

    Обновить хост elve.сайт текущим адресом, при условии, что этот хост принадлежит пользователю с соответствующим ключем

    Указать для хоста elve..168.168.2, если этот хост принадлежит пользователю elve

Обратите внимание, что такая ссылка генерируется автоматически в панели управления Динамическим DNS . При этом, ссылка для обновления всех хостов находится на основной странице панели, а ссылка для обновления конкретного хоста - на странице редактирования этого хоста.

Иногда необходимо прописать DNS для компьютера с динамическим IP адресом. Простым путем для этого являются сервисы по типу dyndns , описанные в недавнем топике Связываем домен и динамический IP . Иногда такой подход работает достаточно плохо.

Напрмер в моей ситуации, провайдер иногда меняет мой публичный IP адрес. Это иногда случается обычно раз в несколько месяцев. Кроме того, мой домашний компьютер перезагружается крайне редко. За это время сервис dyndns, которым я пользовался ранее успевал пару раз прислать мне оповещения о неактивности с целью отключить «неиспользуемый» аккаунт. Перейти на вручную прописываемую DNS зону также не получается, потому что иногда адрес все же меняется. Причем обычно об этом узнаешь когда нужен доступ к домашнему компьютеру здесь и сейчас.

Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.

Итак:
1. Имеем установленный сервер bind9 с доменом server.org
2. Создаем зону client.server.org.zone:

$ORIGIN .
$TTL 10 ; 10 seconds
client.server.net IN SOA ns1.server.net. hostmaster.server.net. (
18 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10 ; minimum (10 seconds)
$TTL 3600 ; 1 hour
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Здесь сервера ns1.server.net и ns2.server.net - DNS сервера для нашей зоны, client.server.net - адрес нашего домашнего компьютера

3. генерим ключи на клиенте:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Создаем фаил с ключем на сервере:
server# cd /var/named/chroot/etc
server# vim keys.conf:

Key client.server.net. {
algorithm "HMAC-MD5";
secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

В данном случае использован симметричный ключ, что небезопасно: если кто-то имеет доступ к фаилу с ключами на вашем сервере, он может воспользоваться вашим ключем для изменения данных вашей зоны. В таком случае можно использовать несимметричный ключ.

Выставляем права доступа к фаилу с ключами:
server# chmod 640 keys.conf
server# chown root:named keys.conf

5. добавляем нашу зону в named.conf:
include "/etc/keys.conf"
zone "client.server.net" {
type master;
file "zones/client.server.net";
allow-update{
key client.server.net;
};
};

Здесь прописан параметр, который позволяет обновлять данные зоны. Вообще, почитав мануалы, можно найти опции этого параметра, позволяющие обновлять только одну запись в зоне для данного ключа. Т.е можно иметь зону с прописанными в ней поддоменами client1, client2, etc. которые будут авторизоваться с ключами key1, key2, etc.

6. Перезапускаем DNS сервер:
server# /etc/init.d/named reload

7. Создаем на клиенте скрипт, который будет обновлять данные зоны:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.example.com
HOSTNAME=foo.example.com
ZONE=example.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

New_ip_address=`ifconfig $IFACE | grep "inet addr:" | awk "{print $2}" | awk -F ":" "{print $2}"`
new_ip_address=${new_ip_address/ /}

Nsupdate -v -k $KEYFILE << EOF
server $SERVER
zone $ZONE
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $new_ip_address
send
EOF

В начале скрипта описаны соответствующие параметры: интерфейс, имена сервера и зоны, местоположение фаила с ключем.

8. Осталось только настроить автозапуск/автоматическую смену адреса при смене DNS.
Мы это сделаем при помощи скрипта для NetworkManager:
создадим фаил /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Iface=$1
state=$2

If [ "x$state" == "xup" ] ; then
/etc/namedb/ddns-update
elif [ "x$state" == "xdown" ]; then
true
fi

Сделаем его исполняемым и принадлежащим пользователю root.

Запускаем-проверяем-пользуемся.

Upd: Если не работает - проверяем (устанавливаем) на сервере права named на записть в папку в которой лежит фаил client.server.org.zone
named будет создавать там фаил client.server.org.zone.jnl

Использованы следующие материалы.

Среди обычных пользователей никто и никогда не задумывался о том, как работает интернет. Как происходит сёрфинг в глобальной паутине, почему браузеры попадают именно на те страницы, которые вы запрашиваете. Именно тут и вступает в игру DNS-серсер (Domain Name System). Эта система необходима для того, чтобы корректно соблюдать маршруты между адресами интернета, от ПК до запрашиваемых сайтов.

Когда и зачем возникает необходимость менять DNS-сервер

По умолчанию DNS-сервер назначается вашим провайдером, но бывают случаи перегрузки, когда конкретному сервису обращается слишком много клиентов. Из-за этого скорость загрузки и передачи пакетов данных может существенно падать. Также некоторые DNS-серверы имеют ограничения в связи с законодательством государства, в котором ведут свою деятельность. Случается, что правительства блокируют даже мировые социальные сети и мессенджеры. В отдельных случаях смена DNS может разрешить доступ к заблокированным ресурсам, а также увеличить скорость загрузки файлов и контента.

Принцип работы DNS-сервера - направить пользователя по правильному адресу интернета

Как узнать прописанный адрес DNS-сервера и как его изменить

Сейчас мировой тренд провайдеров заключается в автоматическом определении DNS-сервера, то есть, его не нужно изначально. Но все же узнать его довольно просто, всего в несколько кликов мышкой.

Windows

Узнать свой DNS-сервер и заменить его можно в соответствующей графе «Панели управления».

  1. Нажимаем комбинацию клавиш Win+R, в поле «Выполнить» прописываем control и запускаем команду в действие кнопкой OK или Enter на клавиатуре.

    Запускаем «Панель управления» через исполняющую программу

  2. Меняем вид с «Категории» на «Значки» и щёлкаем по пункту «Центр управления сетями и общим доступом».

    Выбираем элемент «Центр управления сетями и общим доступом»

  3. Откроется окно с активными (действующими, подключёнными) сетями. Нажимаем на ссылку напротив той, которая имеет доступ к интернету.

    Просматриваем список активных сетей в «Центре управления сетями и общим доступом»

  4. Откроется окно состояния сети. Кликаем кнопку «Сведения…».

    В окне «Состояние» нажимаем кнопку «Сведения»

  5. Появится ещё одно окно со всеми данными подключённой сети. В графе «DNS-серверы IPv4» знакомимся с действующими адресами сервисов, которые использует подключение в данный момент.

    Просматриваем подключенные DNS-серверы

Заменить DNS-сервер также просто. Для начала возвращаемся в окно «Состояние».

В итоге мы имеем доступ к заданному сервису преобразования доменных имён.

Ubuntuк

Чтобы изменить настройки DNS в операционных системах Ubuntu можно пользоваться разными способами. Самый простой - при помощи интерфейса.

  1. В правом верхнем углу выпадающее меню сети. Нажимаем на соответствующий значок, выбираем пункт «Изменить соединение…».

    Открываем выпадающее меню сети и нажимаем «Изменить соединение…»

  2. Выбираем активное соединение с интернетом и нажимаем «Изменить».

    Выбираем подключение к интернету и нажимаем кнопку «Изменить»

  3. Переходим во вкладку «Параметры IPv4».

    Переходим во вкладку «Параметры IPv4»

  4. Меняем фильтр «Способ настройки» на «Автоматически (DHCP, только адрес)».

    Меняем фильтр «Способ настройки» на «Автоматически (DHCP, только адрес)»

  5. В графе «Серверы DNS» прописываем нужные адреса через запятую. Затем нажимаем кнопку «Сохранить» и закрываем окно.

    В поле «Серверы DNS» прописываем соответствующие адреса

Чтобы узнать нынешний DNS-сервер в ОС Ubuntu, необходимо в терминале ввести команду $ cat /etc/resolv.conf. Это выдаст всю информацию по сети: графа nameserver и содержит доменный адрес.

На роутере

Сразу стоит отметить, что не все модели роутеров дают возможность изменять в своих настройках адрес DNS-серверов. Некоторые устройства позволяют заменить на известные сервисы, к примеру «Яндекс-DNS» или DNS Google.

  1. Для начала необходимо перейти на страницу управления роутером. Для этого в адресной строке любого браузера вводим 192.168.1.1 и нажимаем клавишу Enter.
  2. В зависимости от марки роутера дальнейшие инструкции имеют варианты. В некоторых случаях дополнительные настройки и сведения могут находиться уже на основной странице. Но чаще всего необходимо нажать некую кнопку для перехода в сопутствующее меню. Кнопка может называться Advansed, Setup, «Настройки» и так далее. Нажимаем на эту кнопку, чтобы перейти в дополнительное меню.

  3. Для смены сервиса есть несколько вариантов:

Ошибки, которые могут возникнуть при использовании DNS

Пользователь редко сталкивается с ошибками, которые связаны с DNS-сервером, но они случаются и делятся на два типа: внутренние и внешние. Под внешними разумеются неполадки самого сервиса, к которому обращается браузер. Эту проблему решить просто: необходимо поставить автоматический выбор DNS или сменить сервис на более надёжный, как показано в примерах выше.

Если же способы смены проблему не решили, значит, неполадки связаны со службой «DNS-клиента». Она может быть отключена или повреждена вирусами.


Если с перезагрузкой проблема не исчезла - значит, файлы службы повреждены и необходимо запустить проверку системы на вирусы и восстановление файлов ОС. Лучше использовать две или три антивирусные программы.


Видео: как исправить ошибки, связанные с DNS-сервером

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

http://www.dyndns.com/ .

Все самые необходимые пункты , которые вам необходимо пройти (нажать либо заполнить) будут отмечаться красной рамочкой и даны пояснения.

Итак зайдя на сайт dyndns.com видим стартовую картинку, затем если вы уже бывали тут и в дальнейшем после регистрации жмём на Sign In (Войти) . А сейчас жмём на Get a FREE Domain Name (Получить бесплатное доменное имя)

Выбираем 1й бесплатный вариант и жмём Sign up (Зарегистрироваться)

1. Вводим имя для вашего поддомена (тут как пример teamspeak3) и выбираем домен из списка возможных , который вам больше по душе.

2. Вводим текущий ip адрес вашего ПК или сервера, если вы делаете эту операцию непосредственно с него, то можно нажать на ссылку Your current location IP address is (Ваш текущий ип адрес) и система сама подставит его в поле Ip Address.

3. Жмём на Add to cart (Добавить в корзину)

Ошибки :

Please enter a valid IP address (Забыли ввести ваш ип)

This hostname already exists (Этот поддомен уже заняли)

Ещё раз проверяем имя для вашего домена и стоимость всего 0$ за данную услугу, а далее заполняем непосредственно регистрационные данные .

1. Username (Придумайте и запомните имя пользователя для данного сервиса)

2. Password (Придумайте и запомните пароль)

3. Confirm password (Ещё раз введите пароль)

4. Email (Введите ваш рабочий адрес эл. почты, на него придёт подтверждение регистрации)

5. Confirm email (Ещё раз введите ваш эл. адрес почты)

6. Enter the number from the above image (Введите цифры с картинки)

7. I agree (Обязательно поставьте галочку, что согласны с условиями сервиса, остальные галочки можно не ставить)

Затем нажмите Create Account (Создать учётную запись)

Теперь щёлкаем на My hosts (Мои домены), чтобы просмотреть и активировать наш созданный поддомен.

Кликаем на Checkout to Activate , чтобы активировать домен

Вся процедура стоит 0 у.е., просто щёлкаем Next (Далее)

Осталось нажать Activate Services (Активировать сервисы), для завершения активации вашего домена.

Теперь получаем сообщение об успешной активации , осталось немного: научиться просматривать список ваших доменов и скачать программу для ПК (Сервера), которая будет автоматически сообщать серверу об изменении ip адреса.

Иногда необходимо иметь доступ к своей машине, или машине клиента, которые имеют динамический IP адрес. Для этих целей существует масса сервисов, но бесплатных становится все меньше и меньше. Вот для этого и предназначена данная статья. Если у вас есть под рукой сервер (VDS, VPS или дедик), из которого можно сделать ДНС сервер, то с помощью данной статьи вы сможете сделать для себя такой сервис и пользоваться им как вам удобно и сколько вам хочется. В ходе создания сервиса было перерыто множество страниц в интернете, зачастую противоречащих друг другу. Поэтому, ссылки на исходники указаны не будут. Это статья как бы компиляция всех сведений, нарытых в сети.

Начало работы

Для начала работы по созданию сервиса предполагается, что у вас настроен на сервере BIND , установлены пакет dnsutils и программа Curl . Если обнаружилось вдруг, что у вас этого нет, почитайте, что написано в этой статье . Для простоты сразу договоримся, что оперировать будем доменом dyndns.my и поддоменом с динамическим IP dhost . Полный адрес получится dhost.dyndns.my . В домене должна быть запись A ns с IP вашего сервера. Или не ns, тут кому как нравится, но в этом примере дело обстоит именно так. Ну и для полной ясности, и сервер, и клиент - компы с Ubuntu. Версия уже принципиального значения не имеет.

Он сказал, поехали!

Настройка клиентской части

Раздел идет впереди настройки сервера потому, что ключи авторизации необходимо генерировать на клиенте.

Создадим отдельный каталог в /etc .

sudo mkdir / etc/ ddns/

Перейдем в него.

cd / etc/ ddns/

Генерируем пару ключей для обмена информацией между клиентом и сервером.

sudo dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST dyndns.my

В результате этой операции в каталоге появляются два файлика - Kdyndns.my.+157+48025.key и Kdyndns.my.+157+48025.private . Из первого файла нам будет необходим только набор символов после «157 ». Именно после пробела начинается тело ключа. Создаем скрипт обновления доменных зон.

sudo nano ddns.sh

Вставляем туда текст.

#!/bin/bash TTL =3600 SERVER =ns.dyndns.my HOSTNAME =dhost.dyndns.my ZONE =dyndns.my KEYFILE =Kdyndns.my.+157 +48025 .private new_ip_address =` curl http:// dyndns.my/ ip.php` #Этот файлик создадим позднее на сервере! cd / etc/ ddns nsupdate -v -k $KEYFILE << EOF server $SERVER zone $ZONE update delete $HOSTNAME A update add $HOSTNAME $TTL A $new_ip_address send EOF

Сохраняем. Затем даем права на исполнение.

sudo chmod +x ddns.sh sudo ln -s / etc/ ddns/ ddns.sh / usr/ sbin/ ddns_update

Настройка серверной части

Настройка сервера имен заключается в прописывании домена и установке разрешения на обновления записей A доменных имен с динамическими IP. Переходим в каталог bind.

cd / etc/ bind/ sudo nano dnskeys.conf

Вставляем туда текст и тело ключа, о котором упоминалось в предыдущем разделе.

Key "dyndns.my" { algorithm hmac-md5; secret "тут тело ключа" ; } ;

Добавляем в файл /etc/bind/named.conf строчку с указанием файла, где определен ключ.

Include "/etc/bind/dnskeys.conf" ;

Следующим шагом необходимо в файл /etc/bind/named.conf.local прописать доменную зону, которой мы оперируем.

Zone "dyndns.my" { type master; allow-update { key dyndns.my;} ; file "/etc/bind/pri.dyndns.my" ; } ;

Необходимо будет создать и файл /etc/bind/pri.dyndns.my с различными записями для домена. Он обычный, с минимально необходимым набором записей для функционирования домена, потому и нет необходимости рассматривать его в данной статье. Рестартуем сервер имен для завершения и применения настроек.

sudo service bind9 restart

Теперь в каталог, предназначенный для веб страниц, помещаем очень простой скрипт на php.

sudo nano / var/ www/ ip.php

Вставляем туда код.

Если вы обратитесь к этому файлу через веб, к примеру, http://dyndns.my/ip.php , то, кроме своего IP адреса ничего не увидите. Что нам и требовалось. Клиент, с помощью curl, его и получает и обновляет информацию на сервере.

Вот и все телодвижения по настройке серверной части.

Настройка заключительная

Доделываем клиента.

sudo nano / etc/ crontab

Добавляем строчку.

*/ 15 * * * * root / usr/ sbin/ ddns_update

Это означает, что раз в 15 минут скрипт будет запускаться. На этом настройка клиентской части закончена. Можно подождать 15 минут и убедиться, что наш хости работает пингом со стороннего сервера. А можно и выполнить команду.

sudo ddns_update

Для чего, собственно, мы и делали симлинк в /usr/sbin. Если вы не получили в ответ выхлоп со словом REFUSED , значит вы все сделали правильно и можете быть счастливы.

Выводы

На выходе мы получили вполне себе работающий сервис динамических имен. Есть, конечно, и существенный недостаток. Используемый ключ подходит для изменения любого поддомена из прописанных. Т.е., он один для всех. Это открывает простор для хулиганства, если кто-то упрет ключ. Поскольку, сервис делался для себя, то особых проблем это не вызовет. Ибо надо быть не совсем здоровым психически, чтоб хулиганить самому у себя. Возможно есть и решение, позволяющее каждый поддомен авторизовать по своему ключу, но целью данной статьи это не ставилось, потому гугля сильно и не терзалась.

Большая просьба, при перепечатке данной статьи, указывать источник, в частности, этот ресурс.