Печать
Категория: Настройка DNS сервера
Просмотров: 3223

Рейтинг: 5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Для начала нужно установить самые последние обновления системы

sudo apt-get update
sudo apt-get upgrade

После этого установим службу DNS сервера Bind9

sudo aptitude install bind9

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

dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

выводим его на экран

cat Kdhcp_updater.*.private|grep Key

на экране вы должны увидеть ключ, что то подобно этому:

Key: 4GD8OIb8pZk4vAueACAfUQ==

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

Настраиваем DNS сервер Bind9

Открываем файл конфигурации

sudo nano /etc/bind/named.conf.options

Добавим следующий код:

 

 
forwarders{
   8.8.8.8;
   8.8.4.4;
};
listen-on{
   127.0.0.1;
   192.168.0.1;
};

Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.

Перезапустим bind9

sudo service bind9 restart

Теперь можно протестировать работу нашего DNS сервера

Добавим в фал /etc/resolv.conf строчку с нашим DNS сервером (так как файл /etc/resolv.conf при перезагрузке меняет значения на дефолтные, добавить запись нужно в тот файл из которого будут браться дефолтные значения)

sudo nano /etc/resolvconf/resolv.conf.d/tail

в этот файл пишем следующее:

domain lab.loc search lab.loc nameserver 127.0.0.1

Сохраняем файл, закрываем его и перезагружаем сервер. После перезагрузки протестируем работу сервера, выполните следующую команду:

dig ubuntu.ru

в ответ вы получите ответ с временем выполнения запроса (выделено цветом)

ответ команды digКак видите запрос был выполнен за 284 мсек. Теперь еще раз выполним этот же запрос и проверим время запроса

ответ команды dig 2Повторный запрос был выполнен за 7 мсек! Отлично! Кэширование запросов работает. Двигаемся дальше.

Настройка основного DNS сервера

Исходные данные:

Нам нужно будет указать две зоны (прямого и обратного просмотра) и прописать их в конфигурации сервера.

Я начну с конца и укажу настройки зон в файле конфигурации. Открываем его

sudo nano /etc/bind/named.conf.local

и вставляем следующее:

 
keyDHCP_UPDATER{
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret"4GD8OIb8pZk4vAueACAfUQ==";
};
 
zone"lab.loc"{
       type master;
       file"/var/lib/bind/db.lab.loc";
        allow-update{key DHCP_UPDATER;};
};
 
//reverse zone
zone"0.168.192.in-addr.arpa"{
       type master;
       file"/var/lib/bind/db.192";
        allow-update{key DHCP_UPDATER;};
};

Теперь создадим сами файлы в которых будут храниться данные зоны lab.loc. Для этого скопируем образец файла прямого просмотра:

sudo cp /etc/bind/db.local /var/lib/bind/db.lab.loc

откроем его

sudo nano /var/lib/bind/db.lab.loc

и внесем правки как у меня:

Теперь скопируем файл зоны обратного просмотра:

sudo cp /etc/bind/db.127 /var/lib/bind/db.192

откроем его

sudo nano /var/lib/bind/db.192

Вносим в него следующее:

 
;BIND reverse data file forlocal loopback interface
;
$TTL    604800
@       IN      SOA     srv-01.lab.loc.root.srv-01.lab.loc.(
                        20141126        ;Serial
                         604800         ;Refresh
                          86400         ;Retry
                        2419200         ;Expire
                         604800)       ;Negative Cache TTL
;
@       IN      NS      srv-01.
1       IN      PTR     srv-01.lab.loc.

Сохраняем, закрываем, перезапускаем Bind9

sudo /etc/init.d/bind9 restart

Сохраняем, закрываем, проверяем работу DNS сервера:

nslookup srv-01.lab.loc

в ответ вы должны увидеть следующее:

forward zone testКак видите зона прямого просмотра работает, нам показался адрес проверяемого имени. Теперь проверим работу зоны обратного просмотра

nslookup 192.168.0.1

В ответ должны получить следующее:

reverse zone testКак видите в ответ мы получили имя сервера по его адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, проверяйте что сделали не так.

Настройка динамического обновления зон DHCP сервером

Если вы вместе со мной настраивали сервер с самого начала, тогда у вас не должно возникнуть трудностей. Откроем файл /etc/dhcp/dhcpd.conf

sudo nano /etc/dhcp/dhcpd.conf

Проверяем что опция option domain-name содержит имя домена lab.loc, строку ddns-update-style none; закомментировать. Теперь добавим строчку update-static-leases on; – она отвечает за создание зон для клиентов у которых статичный IP адрес. Для автоматизации этого процесса, добавим следующий код:

 
ddns-update-style interim;
update-static-leases    on;
keyDHCP_UPDATER{
algorithm hmac-md5;
secret"CO0WnumqxGoxqGEDjaR3YA==";
}
 
zone lab.loc.{
primary127.0.0.1;
<div">key DHCP_UPDATER;
<div">}
<div"> 

<div">zone0.168.192.in-addr.arpa.{ <div">primary127.0.0.1; <div">key DHCP_UPDATER; <div">}

где secret это тот самый код который мы делали вначале статьи.

Вот пример моего файла /etc/dhcp/dhcpd.conf:

Больше никакие настройки DHCP не трогаем, перезапускаем bind9 и dhcp

sudo /etc/init.d/bind9 restart
sudo /etc/init.d/isc-dhcp-server restart

Теперь нужно проверить как все это дело работает “в бою”. Запускаем клиентскую машину, которая находиться в сети с сервером. После включения машина получит IP адрес от DHCP сервера, а DHCP сервер создаст запись вроде klient-pc.lab.loc.

На запрос nslookup yos-pc (yos-pc это имя клиентской машины), мы должны увидеть ответ от сервера

Win7Как видите по скриншоту, работает и прямой и обратный запросы к DNS.

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

запись в днс

 источник: http://faqpc.ru/nastrojka-dns-servera-ubuntu/