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.
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.