Hlavní navigace

Linux a Samba v roli primárního řadiče domény Active Directory

31. 3. 2022
Doba čtení: 4 minuty

Sdílet

 Autor: Depositphotos
Toto je pohled na mé pokusy se sambou v roli primárního řadiče domény Active Directory. Jde o základní postup rozchození domény, který funguje. Vyzkoušeno připojení dvou Windows klientů.

Rozhodl jsem se zveřejnit své experimenty se Sambou. Tento postup funguje a zprovozní doménu active directory. Vyzkoušeno pouze ve virtuálním prostředí. Přejít k větší instalaci možnost nemám. Proto zveřejňuji v tomhle stavu, snad se bude někomu hodit. Návod je psán pro Ubuntu server a odzkoušen i v dosud nevydaném 22.04.

Přípravné práce

Pro server potřebujeme pevnou síťovou adresu. Tohle platí jako základ pro absolutně naprostou většinu serverových služeb. V Ubuntu LTS se od verze 18.04 pro určení síťové adresy používá program netplan s konfiguračním souborem  /etc/netplan/50-cloud-init.yaml.

Přepíšeme podle těchto vzorů:

Vzor pro 22.04 pravděpodobně funguje i ve 20.04.

# This is the network config written by 'subiquity'
network:
 ethernets:
   enp0s3:
     addresses:
     - 192.168.0.191/24
     nameservers:
         addresses:
         - 192.168.0.191
         - 192.168.0.1
         search: []
     routes:
         - to: default
           via: 192.168.0.1
     optional: true
 version: 2

Vzor pro 20.04 – ve 22 hází varování o zastaralé definici gateway.

# This is the network config written by 'subiquity'
network:
 ethernets:
   enp0s3:
     addresses:
     - 192.168.0.190/24
     gateway4: 192.168.0.1
     nameservers:
       addresses:
       - 192.168.0.190
       - 192.168.0.50
       search: []
     optional: true
version: 2

Vzory je nutné upravit. Držte se vytvořené struktury. Údaje doplnit podle vaší síťové infrastruktury. Následně změny konfigurace síťového rozhraní aktivujeme příkazem netplan aply nebo provedeme reboot

Dále se musíme zbavit služby systemd-resolve která pro localhost používá port 53 – budeme potřebovat pro DNS server samby. Musíme službu zastavit a nepovolit další spuštění. Provedeme postupně tyto příkazy a kroky:

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop

Smažeme symlink: rm /etc/resolv.conf

Soubor /etc/resolv.conf znovu vytvoříme. Dále naplníme podle vzoru – údaje opět opravíme podle vlastních parametrů.

nameserver 127.0.0.53
nameserver 192.168.0.1
domain DOMOV.TEST

Dbejte na to aby druhý Nameserver byl již plně funkční, localhost zatím nefunguje.

Provedeme změnu jména počítače na plné jméno včetně domény. Nejdříve musíme zrušit ochranu změny hesla. V souboru  /etc/cloud/cloud.cfg:

preserve_hostname: false

změníme na

preserve_hostname: true

Do souboru /etc/hostname zapíšeme celé jméno našeho serveru, nastavte podle vlastních údajů

Domena.domov.test

Provedeme úpravu souboru /etc/hosts.Doplníme řádek domény.

127.0.0.1 localhost
192.168.0.190 Domena.domov.test
127.0.0.1 Domena.domov.test

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Provedeme restart serveru.

Instalace Samby

Základní přípravné práce máme za sebou a můžeme jít instalovat sambu.

Začneme instalací:

apt-get update
apt-get dist-upgrade
apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind
systemctl unmask samba-ad-dc.service

V konfiguračních nastaveních Kerberos zadáme default realm velkými písmeny náš název domény. DOMOV.TEST. Další dotazy na servery Kerberos server a Administrative Kerberos server zadáme již stejně jako plné jméno našeho počítače.  Domena.domov.test

Provedeme přípravu pro nastavení Samby jako domény.

sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service
sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

Nyní můžeme přistoupit přímo k provedení operace

sudo samba-tool domain provision --use-rfc2307 --interactive

Parametr –use-rfc2307 umožňuje ukládání informací o uživatelích a skupinách do adresáře LDAP. Pro účely našeho příkladu zadáme postupně konfigurační údaje které vycházejí z předchozí konfigurace.

Realm: DOMOV.TEST
Domain: DOMOV
Server role: dc
DNS Backend: SAMBA_INTERNAL
DNS forwarder 192.168.0.1
Administrator password: ….
Retype password: ….

Nakonfigurujeme Kerberos

Základní konfiguraci pro Kerberos připravenou na spolupráci se sambou máme již předpřipravenou v adresáři samby. Nezapomeneme zazálohovat stávající základní stav. Potom zkopírujeme připravený soubor místo základního konfiguračního souboru. I tak si tuto konfiguraci budeme muset dále trochu upravit.

sudo mv /etc/krb5.conf /etc/krb5.conf.initial
cp /var/lib/samba/private/krb5.conf /etc/

Překopírovaný soubor /etc/krb5.conf lehce upravíme podle tohoto vzoru

[libdefaults]
    default_realm = DOMOV.TEST
    dns_lookup_realm = false
    dns_lookup_kdc = false

[realms]
    DOMOV.LOCAL = {
        kdc = Domena.domov.test
        admin_server = Domena.domov.test
        default_domain = domov.local
    }

[domain_realm]
    .domov.local = DOMOV.TEST
    domov.local = DOMOV.TEST

Tak a trochu si naše nastavení krb5.conf rozebereme.

  • Sekce [libdefaults] nastaví potřebné parametry pro Kerberos. Dns_lookup volby zakazuji. Potřebné kontaktní údaje předány již v tomto nastavení. Nepoužita možnost přebrání s DNS SRV záznamů.
  • Sekce [realms] nastavuje kontaktní údaje pro servery a oblasti.
  • Sekce [domain_realm] mapuje názvy hostitelů

Veškerá nastavení pro nový start Samby máme připraveno. Proto jí znovu nastartujeme.

sudo systemctl start samba-ad-dc.service
sudo systemctl status samba-ad-dc.service
sudo systemctl enable samba-ad-dc.service

Nyní je na čase provést kontroly činnosti Kerberos.

kinit administrator@DOMOV.LOCAL

Příkaz požádá o přihlášení heslem administrátora domény. Po přihlášení mimo jiné zobrazí dobu platnosti hesla.

skoleni

Některé další možnosti kontroly:

sudo samba-tool domain level show
klist

Tak a máme k dispozici funkční systém řadiče domény. Doufám, že někomu tento návod pomůže a bude moci tuto funkcionalitu použít.

Autor článku

Od roku 2008 se zabývá Linuxem a open-source softwarem. Má zkušenost systémového administrátora Linuxu z příspěvkové organizace. Ve volném čase se kromě počítačů věnuje také fotografování a úpravě fotografií.