Снова настраиваем BIND9 для Linux AD-DC на Ubuntu 18.04. Да, мы уже прошли почти половину пути. В первой статье мы сделали предварительную настройку BIND9. Предварительная настройка позволила нам инициализировать контроллер домена Active Directory. Теперь нам необходимо донастроить bind9 таким образом, чтобы он был готов принять на себя роль полноценного DNS сервера контроллера домена и обслуживать как локальную зону, так и перенаправлять неизвестные ему запросы на DNS форвардер.
Настраиваем BIND9 для Linux AD-DC – Активируем интеграцию DLZ
sudo nano /var/lib/samba/private/named.conf
Если всё было сделано правильно, там автоматом будет раскомменчена строка отвечающая за интеграцию нашей версии самбы с нашей версией bind9.
Этот же файл надо заинклудить в основную конфигурацию named
sudo nano /etc/bind/named.conf
Добавляем в конец
include "/var/lib/samba/private/named.conf";
Проверяем права на dns.keytab
ls -l /var/lib/samba/private/dns.keytab
AdminGuide.Ru@ag-dc-1:~$ ls -l /var/lib/samba/private/dns.keytab
-rw-r----- 2 root bind 802 Apr 3 19:36 /var/lib/samba/private/dns.keytab
Проверяем права на папку /bind-dns/
ls -ld /var/lib/samba/private
adminguideru@ag-dc-1:~$ ls -ld /var/lib/samba/private
drwxr-xr-x 6 root root 4096 авг 25 20:43 /var/lib/samba/private
Смотрим права на /etc/krb5.conf
ls -l /etc/krb5.conf
AdminGuide.Ru@ag-dc-1:~$ ls -l /etc/krb5.conf
-rw-r--r-- 1 root bind 2891 Apr 3 17:51 /etc/krb5.conf
В случае несоответствия
sudo chown root:bind /etc/krb5.conf
Проверяем наличие утилиты nsupdate
which nsupdate
AdminGuide.Ru@ag-dc-1:~$ which nsupdate
/usr/bin/nsupdate
Настраиваем BIND9 для Linux AD-DC Загружаем список корневых днс серверов
sudo wget -q -O /var/cache/bind/named.root http://www.internic.net/zones/named.root
sudo chown root:bind /var/cache/bind/named.root
sudo chmod 640 /var/cache/bind/named.root
Настраиваем BIND9 для Linux AD-DC Проверяем конфиг
sudo named-checkconf
sudo service bind9 start
Если ошибок не будет обнаружено, то named-checkconf не выдаст никакой информации, можно пытаться запустить сервис. Если попытка запуска тоже не выдаст никаких критов прямо в терминал – значит хорошо. DNS сервер почти готов к работе
Настраиваем BIND9 для Linux AD-DC – Создаём файлы зон
sudo mkdir /var/cache/bind/master
sudo chown bind:bind /var/cache/bind/master
localhost
sudo nano /var/cache/bind/master/localhost.zone
Форматирование ниже идущего блока критично для работы DNS сервера но к несчастью дзен не имеет тэга <code>. Правильно отформатированный блок вы можете найти у меня на сайте.
$TTL 3D
$ORIGIN localhost.
@ 1D IN SOA @ root (
2013050101 ; serial
8H ; refresh
2H ; retry
4W ; expiry
1D ; minimum
)
@ IN NS @
IN A 127.0.0.1
Изменяем владельца и права доступа
sudo chown bind:bind /var/cache/bind/master/localhost.zone
sudo chmod 640 /var/cache/bind/master/localhost.zone
0.0.127.in-addr.arpa
sudo nano /var/cache/bind/master/0.0.127.zone
Форматирование ниже идущего блока критично для работы DNS сервера но к несчастью дзен не имеет тэга <code>. Правильно отформатированный блок вы можете найти у меня на сайте.
$TTL 3D
@ IN SOA localhost. root.localhost. (
2013050101 ; Serial
8H ; Refresh
2H ; Retry
4W ; Expire
1D ; Minimum TTL
)
IN NS localhost.
1 IN PTR localhost.
sudo chown bind:bind /var/cache/bind/master/0.0.127.zone
sudo chmod 640 /var/cache/bind/master/0.0.127.zone
Запускаем\перезапускаем bind9, проверяем созданные зоны
sudo service bind9 restart
host -t A localhost 127.0.0.1
host -t PTR 127.0.0.1 127.0.0.1
AdminGuide.Ru@ag-dc-1:~$ sudo service bind9 restart
AdminGuide.Ru@ag-dc-1:~$ host -t A localhost 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
localhost has address 127.0.0.1
AdminGuide.Ru@ag-dc-1:~$ host -t PTR 127.0.0.1 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
1.0.0.127.in-addr.arpa domain name pointer localhost.
Если же на host запросы вы видите следующую ошибку:
;; connection timed out; no servers could be reached
Значит вероятнее всего у вас шалит apparmor.
Смотрим лог с помощью команды:
tail -n 50 /var/log/syslog
Если вы видите там строки по типу:
Aug 25 20:48:53 ag-dc-1 kernel: [ 6806.022442] audit: type=1400 audit(1598377733.390:19): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/lib/samba/private/named.conf" pid=4028 comm="isc-worker0001" requested_mask="r" denied_mask="r" fsuid=111 ouid=0
Это значит что AppArmor исправно работает и защищает ваш сервер. Т.к. настройки AppArmor не являются предметом данной статьи, то просто отключите его и повторно выполните текущий пункт.
Отключение AppArmor
С помощью systemctl останавливаем, отключаем и запрещаем автозапуск для AppArmor
sudo systemctl stop apparmor && sudo systemctl disable apparmor && sudo systemctl mask apparmor
Перезагружаем сервер
sudo reboot -h now
Переходим к разделу: “Контроллер домена Ubuntu – Настройка – Часть 2”
Оригинал статьи через неделю будет опубликован на AdminGuide.Ru