Найти тему

Настраиваем BIND9 для Linux AD-DC на Ubuntu 18.04 – Часть 2

Оглавление

Снова настраиваем 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.

Интеграция DLZ
Интеграция DLZ

Этот же файл надо заинклудить в основную конфигурацию named

sudo nano /etc/bind/named.conf

Добавляем в конец

include "/var/lib/samba/private/named.conf";
Добавляем файл с интеграцией в named.conf
Добавляем файл с интеграцией в 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

Видеоурок по данной статье