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