Linux Samba4 AD-DC на Ubuntu 18.04 — Настройка — Часть 2

Linux Samba4 AD-DC на Ubuntu 18.04 это четвёртая из пяти существующих у меня на данный момент статей по настройке Linux AD-DC на Ubuntu Server 18.04 . На данный момент, вспоминая первые три статьи, подведём промежуточный итог. Во-первых мы установили и преднастроили bind9. Во-вторых установили samba4 и инициализировали домен. В третьих в третьей статье была завершена настройка bind9. Он стал готов обслуживать локальную зону нашего бесплатного контроллера домена. Под бесплатным я понимаю не только великую силу но и большую ответственность. Ведь его бесплатность сулит вам не только экономию денег но и особые ритуалы связанные с его обслуживанием. Потому что наравне с ними вы получаете и ограничения.
В отличии от виндового контроллера домена вы не сможете загнать в линуксовый контроллер несколько десятков тысяч машин и нормально их обслуживать. Так как упрётесь в ограничения Bind9 и DLZ модуля идущего в комплекте. Не сможете установить доверие между доменами. И прочие ограничения необходимые сверхбольшим энтерпрайзам. Но доколе вы рулите маленькой сетью малого бизнеса, вам ничего грозит. Ну а ваша жёпка плавающая под белым флагом в нейтральных водах опенсорса ко всему прочему ещё и становится хорошо защищённой от риска схлопотать административку или того хуже посадку.
Linux Samba4 AD-DC — Настройка — Часть 2
Настройка запуска
Для корректной работы, все процессы самбы должна запускать сама самба и никто иной. Если процесс самбы будет запущен не самбой, а например от рута и этот процесс сгенерит какой-нибудь нужный для работы контроллера домена фаел, то после этого вы можете хоть взрывать весь домен, т.к. больше у вас он не взлетит. Из-за этого, для возвращения работоспособсности, придётся вручную дебажить, искать где косяк, просто реально до посинения выискивать причину ошибки. Я занимался этим у нескольких заказчиков, потому не пожелаю этого никому. Проще сразу же сделать нормально. Или если на этом этапе допущена ошибка, потратить 20 минут и переделать всё с нуля. И не рассказывайте мне что дел далеко не на 10 минут. Самый долгий вебинар по настройке контроллера домена от и до, с перерывами на теорию, занимает у меня не более 60 минут.
sudo systemctl stop smbd nmbd winbind
sudo systemctl disable smbd nmbd winbind
sudo systemctl mask smbd nmbd winbind
Блокируем samba-ad-dc для ручного старта, включаем сервис и включаем его автозапуск
sudo systemctl unmask samba-ad-dc
sudo systemctl start samba-ad-dc
sudo systemctl enable samba-ad-dc
Настройка DNS адреса
Указываем сервером имён, свой собственный айпишник AD DC
sudo nano /etc/netplan/*.yaml
Для этого необходимо сконфигурировать параметры сети по следующему принципу:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24, ]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.100, ]
Настраиваем адрес сервера имён, не забывая указать там айпишник AD DC, приведя его к виду:
sudo nano /etc/resolv.conf
nameserver 192.168.1.100
search adminguide.lan
Контроллер домена Ubuntu — Настройка Kerberos
При инициализации AD DC, будет создан файл конфигурации керберос, где он расположен, указывается в конце отчета об инициализации. Дабы не делать двойную работу, заменяем существующий файл настроек Kerberos, только что созданным файлом.
sudo cp /var/lib/samba/private/krb5.conf /etc/
Убеждаемся что всё работает
Смотрим имеющиеся на контроллере общие каталоги
smbclient -L localhost -U%

Помним что они автоматически создаются в момент инициализации и если их нет, значит где-то косяк. А по причине такого косяка, ничего не будет функционировать нормально или не будет даже запускаться
Смотрим возможность подключения к netlogon
Теперь сотрим пускает ли доменного админа в каталог netlogon
smbclient //localhost/netlogon -UAdministrator -c 'ls'
Когда потребуется авторизация, вводим пароль указанный в момент инициализации. Авторизовавшись успешно вы получите доступ к каталогу

Проверка netlogon
Теперь роверяем правильность настройки DNS
Если bind9 был настроен некорректно, то AD DC не взлетит. Для того чтобы проверить, попытаемся извлечь из днс сервера необходимые записи
Во-первых смотрим SRV запись _ldap
host -t SRV _ldap._tcp.adminguide.lan.
adminguideru@ag-dc-1:~$ host -t SRV _ldap._tcp.adminguide.lan.
_ldap._tcp.adminguide.lan has SRV record 0 100 389 ag-dc-1.adminguide.lan.
Во-вторых смотрим SRV запись _kerberos
host -t SRV _kerberos._udp.adminguide.lan.
adminguideru@ag-dc-1:~$ host -t SRV _kerberos._udp.adminguide.lan.
_kerberos._udp.adminguide.lan has SRV record 0 100 88 ag-dc-1.adminguide.lan.
В-третьих проверяем A запись контроллера домена
host -t A ag-dc-1.adminguide.lan.
adminguideru@ag-dc-1:~$ host -t A ag-dc-1.adminguide.lan.
ag-dc-1.adminguide.lan has address 192.168.1.100
Linux Samba4 AD-DC — Проверяем работоспособность Kerberos
kinit administrator
adminguideru@ag-dc-1:~$ kinit administrator
Password for administrator@ADMINGUIDE.LAN:
Warning: Your password will expire in 39 days on Вт 06 окт 2020 18:59:04
Linux Samba4 AD-DC — Смотрим кеш авторизационных тикетов Kerberos
klist
adminguideru@ag-dc-1:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: administrator@ADMINGUIDE.LAN
Valid starting Expires Service principal
27.08.2020 19:10:16 28.08.2020 05:10:16 krbtgt/ADMINGUIDE.LAN@ADMINGUIDE.LAN
renew until 28.08.2020 19:10:14
На этом этапе у нас есть контроллер домена который обновляет свою локальную зону, и в ней регулярно актуализируются именя членов домена и их ip адреса. Но как быть с устройствами не состоящими в домене? Например сетевыми принтерами или невендовыми машинами банально не нуждающимися в присоединении к домену? Конечно же я сейчас не говорю про маки. Маки это рачина которая должна выжигаться из корпоративной сети.
Переходим к настройке DHCP сервера