Обновление зон DNS с помощью nsupdate

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

 

Зачем это вообще нужно? Ну например у вас есть некие клиенты хостинга ( 🙂 )  которым помимо их красивых доменных имен надо бы выдать еще и тестовый домен в вашей доменной зоне. или любой другой пример, где вы добавляете доменные зоны с помощью скриптов в автоматическом режиме.

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

После выполнения команды в текущей директории вы найдете 2 файла с именем Kdnsupdater.+153+01214.key и Kdnsupdater.+153+01214.private, последние пять цифр в имени меняются каждый раз при генерации, и у вас они будут другие. Файл с расширением .key является публичным ключем, он используется на сервере dns, файл с расширением .private нужен для авторизации клиента.

Перейдем к настройке сервера, в директории с конфигурационными файлами bind9 (обычно это либо /etc/bind, /etc/namedb, /var/named)

 

Создайте файл dnskeys.conf в директории /etc/named, затем впишите туда данные о нашем ключе, сгенерированном на машине клиента

Так выглядит наш ключ, нам нужна только часть, а именно ASDkjnsadkk222hdsajdhc==

В файл /etc/named/dnskeys.conf впишите следующее (замените имя ключа и secret на ваши)

Затем в файл /etc/named/named.conf впишите в самый конец файла

Затем настроим зоны которые будут обновляться удаленно, в нашем примере это зона для домена domain.com

 

Создадим простой скрипт который будет парсить файл с командами для обновления зон, в нем нам понадобится путь до второго ключа, с расширением .private, вы можете положить его в директорию /etc/named, и не забудьте сменить имя ключа в скрипте на ваше.

Сохраним данный скрипт с именем zone_change_named.sh и сделаем его исполняемым командой chmod +x zone_change_named.sh

Затем создадим файл обновления зон, обновлять можно сразу несколько зон, по очереди. В примере мы добавим обратную зону для адреса 192.168.0.1, удалим обратную зону для адреса 192.168.0.15, и добавим поддомен test.example.com. Для обновления существующих записей нужно сначала удалить старую, затем добавить новую.

 

Созраним данные в файл changes, ароверим работу скрипта, выполнив команду для отправки запроса на обновление наших зон на сервер

Код:

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

Вы можете оставить комментарий, или отправить trackback с Вашего собственного сайта.

Написать комментарий