Настройка DNS сервера Ubuntu Server

Содержание статьи:


Настройка кеширующего DNS сервера

Устанавливаем службу DNS сервера Bind9, командой:

sudo apt-get install bind9

При установке сервера Bind9 система может потребовать от вас вписать свое согласие Yes, а не просто нажать кнопку Y.

Генерируем ключ для обновления DNS записей, следующей командой:

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

Показать этот ключ можно командой:

cat Kdhcp_updater.*.private|grep Key

Отобразится ключ вида вида sWAQagEOVTtRQpCekhNsJQ==, данный ключ понадобится нам позже. Либо скопируйте данный ключ, либо запомните команду отображения ключа.

Ununtu Server установка DNS сервера и генерация ключа - Mhelp.kz
Ununtu Server: Установка DNS сервера Bind9 и генерация ключа обновления записей

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

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

Именно в этом файле прописываются внешние DNS сервера, к которым будет обращаться наш локальный сервер.

forwarders — вы можете установить сервера своего провайдера, или DNS сервера компании Google (8.8.8.8 и 8.8.4.4. в некоторых случаях они работают стабильней или снимают ограничения вашего провайдера) .

Так как я настраиваю сервер школы, я буду использовать «семейные» DNS сервера компании Яндекс (об этом сервисе для домашних пользователей, я уже упоминал).

Это будет самым первым уровнем защиты и первым фильтром контента школы.

listen-on — адреса через которые будет обслуживаться наш DNS сервер.

Закомментируем строку dnssec-validation auto.

Перед последней закрывающей скобкой в файле конфигурации Bind9 вставляем следующий текст:

forwarders {
77.88.8.7;
77.88.8.3;
};
listen-on {
127.0.0.1;
192.168.137.1;
};

Ununtu Server конфигурирование DNS сервера используя Яндекс DNS - Mhelp.kz
Ununtu Server: Конфигурирование DNS сервера используя Яндекс DNS

Перезапускаем службу DNS, командой:

 sudo service bind9 restart

Далее требуется ввести изменения в системный файл конфигурации resolv.conf, но так как значения этого файла берется из другого, вносим изменения  в изначальный файл, командой:

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

Вносим в него следующие значения, для нашей сети.

domain school.loc
search school.loc
nameserver 127.0.0.1

Ubuntu Server настройка DNS сервера resolv.conf - Mhelp.kz
Ubuntu Server: Настройка DNS сервера, файл resolv.conf

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

sudo service bind9 restart

Проверяем работу нашего DNS сервера, командой:

dig ubuntu.com

После чего повторно вводим эту же команду:

dig ubuntu.com

Нас интересует поле Query time (Время запроса) обеих команд, если время выполнения второго запроса уменьшилось, значит наш DNS сервер работает нормально.

Ubuntu Server проверка командой dig работы DNS сервиса - Mhelp.kz
Ubuntu Server: Проверка командой dig работы DNS сервиса

Для проверок используйте менее популярные домены, чем mail.ru, ya.ru, google.com.

Перезагрузите сервер (команда reboot) и выполните проверку еще раз (необязательно, но поможет диагностировать на каком этапе настройки появилась ошибка)

Создание зон прямого и обратного просмотра

Указываем зоны прямого и обратного просмотра и прописываем их в файле конфигурации.

Создаем  зону прямого просмотра.

Копируем образец файла по адресу /etc/bind/db.local в наше расположение, одновременно переименовывая его в /var/lib/bind/prime_zone:

sudo cp /etc/bind/db.local /var/lib/bind/prime_zone

и открываем его:

sudo nano /var/lib/bind/prime_zone

Изменяем файл, приводя к следующему виду, не забывая вставлять свои значения (если название сервера, домена и IP адресация отличается от моего примера):

Ubuntu Server Настройка DNS сервера, настройка зоны прямого просмотра - Mhelp.kz
Ubuntu Server: Файл конфигурации зоны прямого просмотра

Внимание: Linux очень «нежная» ОС, пропущенная или удаленная точка в файле конфигурации, приведет к ошибкам.

Создаем зону обратного просмотра.

Так же копированием и переименованием файла образца, командой:

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

Открываем его:

sudo nano /var/lib/bind/reverse_zone

Приводим файл к виду:

Ubuntu Server Настройка DNS сервера, настройка зоны обратного просмотра - Mhelp.kz
Ubuntu Server: Файл конфигурации зоны обратного просмотра

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

В файле конфигурации Bind9 указываем зоны просмотра (используемый мною в этом примере ключ, отличается от созданного в начале статьи, ваш отличаться не должен) :

sudo nano /etc/bind/named.conf.local
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «c0fLwUnt918/w5F+a1xrqQ==«;
};
zone «school.loc» {
type master;
file «/var/lib/bind/prime_zone«;
allow-update { key DHCP_UPDATER; };
};
//reverse zone
zone «137.168.192.in-addr.arpa» {
type master;
file «/var/lib/bind/reverse_zone«;
allow-update { key DHCP_UPDATER; };
};

Где:
secret — указываем ключ обновления DNS записей, созданный ранее
zone «school.loc«  — название вашего домена с указанием пути до файла конфигурации зоны прямого просмотра
zone «137.168.192.in-addr.arpa» — зона обратного просмотра (обратите внимание, адресация указывается «задом наперёд») с указанием пути до файла конфигурации зоны. 

Перезапускаем службу Bing9 сервер, командой:

sudo /etc/init.d/bind9 restart

Проверяем работу созданных зон, зоны прямого просмотра (преобразования имен):

nslookup gate.school.loc

Если зона настроена правильно, то будет отображен следующий результат:

Ubuntu Server Nslookup правильная работа зоны прямого просмотра - Mhelp.kz
Ubuntu Server: Правильная работа зоны прямого просмотра

И проверяем зону обратного просмотра:

nslookup 192.168.137.1

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

Ubuntu Server Nslookup правильная работа зоны обратного просмотра - Mhelp.kz
Ubuntu Server: Правильная работа зоны обратного просмотра

DNS сервер — настроен.


Дополнительно и полезно:

named-checkzone school.loc /var/lib/bind/prime_zone — проверка корректности работы зоны прямого просмотра;

named-checkzone 137.168.192.in-addr.arpa /var/lib/bind/reverse_zone — проверка корректности работы зоны обратного просмотра;

Поиск проблем в Bind9: После попытки рестарта сервиса командой sudo /etc/init.d/bind9 restart , выполните команду tail /var/log/syslog  для просмотра возможных ошибок;

Команды службы Bing:

  • sudo service bind9 start — запуск службы
  • sudo service bind9 stop — остановка службы
  • sudo service bind9 status — статус службы (с выводом имеющихся ошибок)
  • sudo service bind9 restart — перезапуск службы

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

Настроим автоматизацию создания прямых и обратных зон DNS для клиентов, с помощью DHCP.

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

sudo nano /etc/dhcp/dhcpd.conf

Закомментируем в файле строку:

#ddns-update-style none;

Добавляем в наш конфигурационный файл следующие строки:

ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «c0fLwUnt918/w5F+a1xrqQ==«;
}

zone school.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

zone 137.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

Перезапускаем службы DNS и DHCP:

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

С клиентского ПК с названием teacher проверим работу прямой и обратной зоны, командами nslookup:

Ubuntu Server Проверка работы прямой и зоный обратного просмотра на клиентском ПК - Mhelp.kz
Ubuntu Server: Проверка корректной работы зоны прямого и обратного просмотра с клиентского ПК

Если получен отклик, как на скриншоте, то на этом эту часть настройки Ubuntu Server будем считать законченной.

Переходим к следующей части настройки Ubuntu Server — Настройка интернет шлюза на Ubuntu Server.

Большинство «не работает» вызвано невнимательностью! Внимательно проверяйте команды и не допускайте в файлах конфигурации лишних символов.

 

[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]

Если проблема решена, один из способов сказать «Спасибо» автору — здесь.

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

[nx_box title=»Поделиться этой статьей» style=»glass» box_color=»#ED303C»]Если данная статья вам помогла и вы хотели бы в ответ помочь проекту Mhelp.kz, поделитесь этой статьей с другими:

[/nx_box]
Настройка DNS на Ubuntu Server - Mhelp.kz