Резервный Ubuntu AD-DC нуждается в рабочем DNS сервере. При этом этот DNS сервер не должен быть независимым. Он должен работать совместно с другими серверами домена. В связи с этим мы и настраивали репликацию SysVol. Теперь, прежде чем впервые включить установленный ранее на резервный Ubuntu AD-DC BIND9, мы должны проверить, реплицируется ли наша днс зона на наш резервный контроллер домена.
Резервный Ubuntu AD-DC – Проверяем репликацию DNS записей
На ag-dc-2 запускаем команду:
sudo samba-tool drs showrepl
Во входящих соединениях смотрим:
DC=ForestDnsZones,DC=adminguide,DC=lan
Default-First-Site-Name\AG-DC-1 via RPC
DSA object GUID: 953d05c6-b395-4b24-93bc-9f2d46ac256d
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
и
DC=DomainDnsZones,DC=adminguide,DC=lan
Default-First-Site-Name\AG-DC-1 via RPC
DSA object GUID: 953d05c6-b395-4b24-93bc-9f2d46ac256d
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
Даты Last attempt и Last success должны быть актуальными, consecutive failure(s) должно быть равно нулю. Если что-то не соответствует ожидаемому результату – ищите где вы сделали ошибку ранее.
Запускаем bind9, допиливаем apparmor
Первой командой запустим сервер. Именно запустим. До этого он всё время был выключен.
sudo systemctl unmask bind9
sudo systemctl enable bind9
sudo service bind9 start
Далее можно посмотреть логи на предмет строк в которых фигурирует apparmor=“DENIED”.
tail -n 50 /var/log/syslog
Всё потому что аппармор вообще не в курсе что вы там химичите. И вы ли вообще это химичите. Поэтому при попытке дёрнуть тот или иной файл или неизвестную аппармору ранее директорию, он всё блочит. Чтобы “дообучить” аппармор нужна команда aa-logprof из пакета apparmor-utils. Если её нету на сервере, доставляем командой sudo apt install apparmor-utils
sudo aa-logprof
Оно будет задавать вам всякие вопросы, а вы если не хотите вникать в суть, должны везде жать всё похожее на (A)llow, (I)nherit и (S)ave Changes. В общем всячески соглашаться с машинами, будущими нашими хозяевами. Когда аппармор прошерстит сислог и получит ответы на все интересующие его вопросы, перезапустим его командой:
sudo systemctl restart apparmor
или с помощью команды
sudo /etc/init.d/apparmor stop && sudo /etc/init.d/apparmor start
Резервный Ubuntu AD-DC – Финальная проверка
Теперь снова перезапускаем bind9 и проверяем несколько запросов к только что сконфигурированному (ещё не полностью) bind9
sudo service bind9 restart
host -t A localhost 127.0.0.1
host -t PTR 127.0.0.1 127.0.0.1
Вы должны видеть следующий ответ от нашего DNS сервера
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.
Всё работает. Теперь необходимо перенастроить ag-dc-2 чтобы для работы он использовал собственный DNS сервер
Изменяем параметры адаптера
sudo nano /etc/netplan/*.yaml
Заменяем указанный DNS сервер со 192.168.1.100 на IP адрес текущего контроллера домена, 192.168.1.101
Сохраняем с помощью
sudo netplan apply
Открываем на редактирование resolv.conf
sudo nano /etc/resolv.conf
И точно так же меняем там адрес DNS сервера с 192.168.1.100 на 192.168.1.101
nameserver 192.168.1.101
search adminguide.lan
Проверяем ещё раз, но теперь без указания IP адреса DNS сервера куда будет отправлен запрос:
sudo service bind9 restart
host -t A localhost
host -t PTR 127.0.0.1
nslookup adminguide.ru 192.168.1.100
nslookup adminguide.ru
Ответ должен быть следующим:
adminguideru@ag-dc-2:~$ host -t A localhost
localhost has address 127.0.0.1
adminguideru@ag-dc-2:~$ host -t PTR 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
adminguideru@ag-dc-2:~$ nslookup adminguide.ru 192.168.1.100
Server: 192.168.1.100
Address: 192.168.1.100 # 53
Non-authoritative answer:
Name: adminguide.ru
Address: 31.31.196.248
adminguideru@ag-dc-2:~$ nslookup adminguide.ru
Server: 192.168.1.101
Address: 192.168.1.101 # 53
Non-authoritative answer:
Name: adminguide.ru
Address: 31.31.196.248
Проверяем работоспособность kerberos
Запрашиваем тикет для учётной записи администратора домена
kinit administrator
Вводим пароль администратора домена
Надо убедиться что всё работает, потому проверяем кеш с тикетами керберос
klist
Ожидаемый результат выглядит так:
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: administrator@ADMINGUIDE.LAN
Valid starting Expires Service principal
01/02/21 08:17:24 01/02/21 18:17:24 krbtgt/ADMINGUIDE.LAN@ADMINGUIDE.LAN
renew until 01/03/21 08:17:17
Если что-то не так, пишите, будем разбираться.
Если всё хорошо, значит я няшечка. Лайк, репост, подписка. Так же для добровольцев на сайте есть яндекс форма с донатом, а потом будет патреон 🙂
Переходим к следующей статье.
Ещё больше интересного контента в моём блоге в Zen и на моём канале YouTube. Подписывайтесь на канал, ставьте лайки, делайте репосты, это поможет развитию контента проекта AdminGuide.Ru