Назад к статьям

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

AdminGuide · 13.09.2020
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 минут.

bash
sudo systemctl stop smbd nmbd winbind
sudo systemctl disable smbd nmbd winbind
sudo systemctl mask smbd nmbd winbind

Блокируем samba-ad-dc для ручного старта, включаем сервис и включаем его автозапуск

bash
sudo systemctl unmask samba-ad-dc
sudo systemctl start samba-ad-dc
sudo systemctl enable samba-ad-dc

Настройка DNS адреса

Указываем сервером имён, свой собственный айпишник AD DC

bash
sudo nano /etc/netplan/*.yaml

Для этого необходимо сконфигурировать параметры сети по следующему принципу:

bash
            dhcp4: no
            dhcp6: no
            addresses: [192.168.1.100/24, ]
            gateway4: 192.168.1.1
            nameservers:
                    addresses: [192.168.1.100, ]

Настраиваем адрес сервера имён, не забывая указать там айпишник AD DC, приведя его к виду:

bash
sudo nano /etc/resolv.conf
bash
nameserver 192.168.1.100
search adminguide.lan

Контроллер домена Ubuntu — Настройка Kerberos

При инициализации AD DC, будет создан файл конфигурации керберос, где он расположен, указывается в конце отчета об инициализации. Дабы не делать двойную работу, заменяем существующий файл настроек Kerberos, только что созданным файлом.

bash
sudo cp /var/lib/samba/private/krb5.conf /etc/

Убеждаемся что всё работает

Смотрим имеющиеся на контроллере общие каталоги

bash
smbclient -L localhost -U%
Linux Samba4 AD-DC на Ubuntu 18.04 - Настройка - Часть 2 - Общие каталоги контроллера домена
Общие каталоги контроллера домена

Помним что они автоматически создаются в момент инициализации и если их нет, значит где-то косяк. А по причине такого косяка, ничего не будет функционировать нормально или не будет даже запускаться

Смотрим возможность подключения к netlogon

Теперь сотрим пускает ли доменного админа в каталог netlogon

bash
smbclient //localhost/netlogon -UAdministrator -c 'ls'

Когда потребуется авторизация, вводим пароль указанный в момент инициализации. Авторизовавшись успешно вы получите доступ к каталогу

Linux Samba4 AD-DC на Ubuntu 18.04 - Настройка - Часть 2 - Проверка netlogon

Проверка netlogon

Теперь роверяем правильность настройки DNS

Если bind9 был настроен некорректно, то AD DC не взлетит. Для того чтобы проверить, попытаемся извлечь из днс сервера необходимые записи

Во-первых смотрим SRV запись _ldap

bash
host -t SRV _ldap._tcp.adminguide.lan.
bash
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

bash
host -t SRV _kerberos._udp.adminguide.lan.
bash
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 запись контроллера домена

bash
host -t A ag-dc-1.adminguide.lan.
bash
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

bash
kinit administrator
bash
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

bash
klist
bash
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 сервера