Samba DC
Установка:
sudo apt update
sudo apt install samba-ad-dc krb5-user bind9-dnsutils
sudo apt install bind9
Обычные демоны Samba (smbd, nmbd, winbind) должны быть остановлены и отключены, так как их функции будет выполнять контроллер домена:
sudo systemctl disable --now smbd nmbd winbind
sudo systemctl mask smbd nmbd winbind
Включите, но пока не запускайте основной сервис:
sudo systemctl unmask samba-ad-dc
sudo systemctl enable samba-ad-dc
backup conf samba:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
создается домен и указывается BIND9_DLZ в качестве бэкенда DNS:
sudo samba-tool domain provision
--domain=A
--realm=A.SAM
--adminpass='Pa$$word'
--server-role=dc
--use-rfc2307
--dns-backend=BIND9_DLZ
sudo samba-tool domain provision
--domain=B
--realm=B.SAM
--adminpass='Pa$$word'
--server-role=dc
--use-rfc2307
--dns-backend=BIND9_DLZ
Удалите текущий /etc/resolv.conf, если это ссылка, и создайте новый:
sudo unlink /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
echo "search a.sam" | sudo tee -a /etc/resolv.conf
Отключите systemd-resolved, чтобы он не конфликтовал:
sudo systemctl disable --now systemd-resolved
Замените системный файл конфигурации Kerberos на тот, что сгенерировала Samba:
sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Посмотреть есть ли в файле настройки bind (include "/var/lib/samba/bind-dns/named.conf";) если нет добавить.
echo 'include "/var/lib/samba/private/named.conf";' | sudo tee -a /etc/bind/named.conf
include "/var/lib/samba/bind-dns/named.conf";
echo 'include "/var/lib/samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
Отключение валидации DNSSEC в BIND9 (Обязательно на обеих сторонах):
/etc/bind/named.conf.options
в разделе options добавить строчьку: dnssec-validation no;
Запуск службы:
sudo systemctl start samba-ad-dc
------------------------Проверка работоспособности
Проверка Kerberos:
kinit Administrator
klist
Проверка DNS:
for srv in _ldap._tcp _kerberos._tcp _kerberos._udp _kpasswd._udp; do echo -n "${srv}.a.sam: " && dig @localhost +short -t SRV ${srv}.a.sam; done
for srv in _ldap._tcp _kerberos._tcp _kerberos._udp _kpasswd._udp; do echo -n "${srv}.b.sam: " && dig @localhost +short -t SRV ${srv}.b.sam; done
Настройка файрвола:
sudo ufw allow 53,88,135,139,389,445,464,636,3268,3269/tcp
sudo ufw allow 53,88,123,137,138,389,445,464/udp
----------------------Настройка доверия
samba-tool domain trust create B.SAM
--type=forest
--direction=both
--create-location=both
--username=Administrator@B.SAM