Install samba-dc and provision master into LXC container
apt-get install samba-dc
rm -rf /etc/samba/smb.conf samba-tool domain provision --domain DEV --realm=dev.srt.basealt.ru --site infra --dns-backend=SAMBA_INTERNAL --server-role=dc --function-level=2016 --use-rfc2307 --backend-store=mdb --option="ad dc functional level = 2016" sed -i '/[global]/a \tad dc functional level = 2016' /etc/samba/smb.conf
systemctl enable samba.service systemctl start samba.service
Install bind dns
apt-get install bind control bind-chroot disabled sed -i '/options {/a \ttkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";' /etc/bind/options.conf sed -i '/options {/a \tminimal-responses yes;' /etc/bind/options.conf sed -i -E 's/^([ \t])(listen-on\s+{.};)$/\1//\2/g' /etc/bind/options.conf sed -i -E 's/^([ \t])(listen-on-v6\s+{.};)$/\1//\2/g' /etc/bind/options.conf sed -i -E 's/^([ \t])//(forwarders\s+{).(};)$/\1\2 10.64.224.3; 10.64.0.16; 10.64.0.17; \3/g' /etc/bind/options.conf sed -i -E 's/^([ \t])//(allow-query\s+{).(};)$/\1\2 any; \3/g' /etc/bind/options.conf sed -i -E 's/^([ \t])//(allow-recursion\s+{).(};)$/\1\2 any; \3/g' /etc/bind/options.conf echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/bind/named.conf sed -i -E '/[global]/a \tserver services = -dns' /etc/samba/smb.conf
systemctl stop samba systemctl start bind systemctl start samba
Domain auth in DC
apt-get install task-auth-ad-winbind gpupdate alterator-roles-common sed -i -E 's/^[ #]?(dns_lookup_realm)\s+=\s+[a-zA-Z]+$/ \1 = false/' /etc/krb5.conf sed -i -E 's/^[ #]+(default_realm)\s+=\s+[a-zA-Z.-]+$/ \1 = DEV.SRT.BASEALT.RU/' /etc/krb5.conf
/etc/samba/smb.conf: [Global] ## Local domain auth kerberos method = dedicated keytab dedicated keytab file = /etc/krb5.keytab template shell = /bin/bash template homedir = /home/%D/%U wins support = no winbind use default domain = yes winbind enum users = no winbind enum groups = no winbind refresh tickets = yes winbind offline logon = yes
/etc/nsswitch.conf: passwd: files winbind systemd shadow: tcb files winbind group: files [SUCCESS=merge] winbind systemd role
control system-auth winbind control sudowheel enabled net ads keytab create roleadd 'domain users' users roleadd 'domain admins' localadmins systemctl restart samba.service gpupdate-setup enable --local-policy ad-domain-controller