Резервный 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
network: ethernets: ens160: dhcp4: no dhcp6: no addresses: [192.168.1.101/24, ] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.101, ] version: 2
Сохраняем с помощью
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:~$ 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
11 комментариев
Дошёл до финальной проверки и что-то не так:
s2:~$host -t A localhost 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
Host localhost not found: 2(SERVFAIL)
не пойму, почему он localhost не может разрешить.
Если
s2:~$ host -t A s2 127.0.0.1
то ответ:
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
s2.mydomain.lan has address 192.168.1.26
Всё проверил, ошибок нет. Куда смотреть?
А что показывает команда
sudo cat /etc/hosts
?
s2:~$ sudo cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.26 s2.mydomain.lan s2
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Очень странно, а есть что-то интересное в syslog после запуска host -t A localhost 127.0.0.1 ?
как посмотреть?
tail -n 250 /var/log/syslog
🙂
Вот эти команды у меня не прокатили: sudo systemctl unmask bind9, sudo systemctl enable bind9 (В итоге получил сообщение Unit bind9.service does not exist, proceeding anyway.) Использовал systemctl unmask named и systemctl enable named
Настраиваю на Debian11, до этого места все шло как по маслу. Но сейчас не запускается bind9, замена на named, как советовали выше не помогает. Посоветуйте что ни будь, пожалуйста.
user@fs:~$ sudo systemctl unmask bind9
user@fs:~$ sudo systemctl enable bind9
Failed to enable unit: Refusing to operate on alias name or linked unit file: bind9.service
user@fs:~$ sudo service bind9 start
user@fs:~$ sudo systemctl status bind9
● named.service — BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2021-11-06 21:33:29 MSK; 7s ago
Docs: man:named(8)
Process: 956 ExecStart=/usr/sbin/named -f $OPTIONS (code=exited, status=1/FAILURE)
Main PID: 956 (code=exited, status=1/FAILURE)
CPU: 10ms
ноя 06 21:33:29 fs systemd[1]: named.service: Scheduled restart job, restart counter is at 5.
ноя 06 21:33:29 fs systemd[1]: Stopped BIND Domain Name Server.
ноя 06 21:33:29 fs systemd[1]: named.service: Start request repeated too quickly.
ноя 06 21:33:29 fs systemd[1]: named.service: Failed with result ‘exit-code’.
ноя 06 21:33:29 fs systemd[1]: Failed to start BIND Domain Name Server.
user@fs:~$
Добрый день! Покажите что вам вываливается в syslog сразу после попытки запустить бинд?
user@fs:~$ sudo tail -n 50 /var/log/syslog
Nov 10 20:57:00 fs named[6164]: corporation. Support and training for BIND 9 are
Nov 10 20:57:00 fs named[6164]: available at https://www.isc.org/support
Nov 10 20:57:00 fs named[6164]: —————————————————-
Nov 10 20:57:00 fs named[6164]: adjusted limit on open files from 524288 to 1048576
Nov 10 20:57:00 fs named[6164]: found 2 CPUs, using 2 worker threads
Nov 10 20:57:00 fs named[6164]: using 2 UDP listeners per interface
Nov 10 20:57:00 fs named[6164]: using up to 21000 sockets
Nov 10 20:57:00 fs named[6164]: loading configuration from ‘/etc/bind/named.conf’
Nov 10 20:57:00 fs named[6164]: /etc/bind/named.conf:12: open: /var/lib/samba/bind-dns/named.conf: permission denied
Nov 10 20:57:00 fs named[6164]: loading configuration: permission denied
Nov 10 20:57:00 fs named[6164]: exiting (due to fatal error)
Nov 10 20:57:00 fs systemd[1]: named.service: Main process exited, code=exited, status=1/FAILURE
Nov 10 20:57:00 fs systemd[1]: named.service: Failed with result ‘exit-code’.
Nov 10 20:57:00 fs systemd[1]: named.service: Scheduled restart job, restart counter is at 4.
Nov 10 20:57:00 fs systemd[1]: Stopped BIND Domain Name Server.
Nov 10 20:57:00 fs systemd[1]: Started BIND Domain Name Server.
Nov 10 20:57:00 fs named[6170]: starting BIND 9.16.22-Debian (Extended Support Version)
Nov 10 20:57:00 fs named[6170]: running on Linux x86_64 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
Nov 10 20:57:00 fs named[6170]: built with ‘—build=x86_64-linux-gnu’ ‘—prefix=/usr’ ‘—includedir=/usr/include’ ‘—mandir=/usr/share/man’ ‘—infodir=/usr/share/info’ ‘—sysconfdir=/etc’ ‘—localstatedir=/var’ ‘—disable-option-checking’ ‘—disable-silent-rules’ ‘—libdir=/usr/lib/x86_64-linux-gnu’ ‘—runstatedir=/run’ ‘—disable-maintainer-mode’ ‘—disable-dependency-tracking’ ‘—libdir=/usr/lib/x86_64-linux-gnu’ ‘—sysconfdir=/etc/bind’ ‘—with-python=python3’ ‘—localstatedir=/’ ‘—enable-threads’ ‘—enable-largefile’ ‘—with-libtool’ ‘—enable-shared’ ‘—enable-static’ ‘—with-gost=no’ ‘—with-openssl=/usr’ ‘—with-gssapi=/usr’ ‘—with-libidn2’ ‘—with-json-c’ ‘—with-lmdb=/usr’ ‘—with-gnu-ld’ ‘—with-maxminddb’ ‘—with-atf=no’ ‘—enable-ipv6’ ‘—enable-rrl’ ‘—enable-filter-aaaa’ ‘—disable-native-pkcs11’ ‘—enable-dnstap’ ‘build_alias=x86_64-linux-gnu’ ‘CFLAGS=-g -O2 -ffile-prefix-map=/build/bind9-MVs3R6/bind9-9.16.22=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE’ ‘LDFLAGS=-Wl,-z,relro -Wl,-z,now’ ‘CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2’
Nov 10 20:57:00 fs named[6170]: running as: named -f -u bind
Nov 10 20:57:00 fs named[6170]: compiled by GCC 10.2.1 20210110
Nov 10 20:57:00 fs named[6170]: compiled with OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021
Nov 10 20:57:00 fs named[6170]: linked to OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021
Nov 10 20:57:00 fs named[6170]: compiled with libxml2 version: 2.9.10
Nov 10 20:57:00 fs named[6170]: linked to libxml2 version: 20910
Nov 10 20:57:00 fs named[6170]: compiled with json-c version: 0.15
Nov 10 20:57:00 fs named[6170]: linked to json-c version: 0.15
Nov 10 20:57:00 fs named[6170]: compiled with zlib version: 1.2.11
Nov 10 20:57:00 fs named[6170]: linked to zlib version: 1.2.11
Nov 10 20:57:00 fs named[6170]: —————————————————-
Nov 10 20:57:00 fs named[6170]: BIND 9 is maintained by Internet Systems Consortium,
Nov 10 20:57:00 fs named[6170]: Inc. (ISC), a non-profit 501(c)(3) public-benefit
Nov 10 20:57:00 fs named[6170]: corporation. Support and training for BIND 9 are
Nov 10 20:57:00 fs named[6170]: available at https://www.isc.org/support
Nov 10 20:57:00 fs named[6170]: —————————————————-
Nov 10 20:57:00 fs named[6170]: adjusted limit on open files from 524288 to 1048576
Nov 10 20:57:00 fs named[6170]: found 2 CPUs, using 2 worker threads
Nov 10 20:57:00 fs named[6170]: using 2 UDP listeners per interface
Nov 10 20:57:00 fs named[6170]: using up to 21000 sockets
Nov 10 20:57:00 fs named[6170]: loading configuration from ‘/etc/bind/named.conf’
Nov 10 20:57:00 fs named[6170]: /etc/bind/named.conf:12: open: /var/lib/samba/bind-dns/named.conf: permission denied
Nov 10 20:57:00 fs named[6170]: loading configuration: permission denied
Nov 10 20:57:00 fs named[6170]: exiting (due to fatal error)
Nov 10 20:57:00 fs systemd[1]: named.service: Main process exited, code=exited, status=1/FAILURE
Nov 10 20:57:00 fs systemd[1]: named.service: Failed with result ‘exit-code’.
Nov 10 20:57:01 fs systemd[1]: named.service: Scheduled restart job, restart counter is at 5.
Nov 10 20:57:01 fs systemd[1]: Stopped BIND Domain Name Server.
Nov 10 20:57:01 fs systemd[1]: named.service: Start request repeated too quickly.
Nov 10 20:57:01 fs systemd[1]: named.service: Failed with result ‘exit-code’.
Nov 10 20:57:01 fs systemd[1]: Failed to start BIND Domain Name Server.
user@fs:~$
user@fs:~$
user@fs:~$ sudo ls -l /var/lib/samba/bind-dns/named.conf
-rw-r—r— 1 root bind 1087 ноя 6 09:07 /var/lib/samba/bind-dns/named.conf
user@fs:~$
Я настриваю тоже на дебе, только на 10-ом. Сам дня три мучаслся с этой строкой -> /etc/bind/named.conf:12: open: /var/lib/samba/bind-dns/named.conf: permission denied пока не подсмотрел права на работающем бинде. Посмотрите права на папку stat /var/lib/samba/bind-dns/. Они должны быть 770 + группа пользователе должна быть bind. Уверен что у Вас руты и права 750. Поэтому делаем следующее:
1. chmod 770 /var/lib/samba/bind-dns/
2. chown root:bind /var/lib/samba/bind-dns/
3. systemctl restart bind9
Профит…!