Installation und Konfiguration eines Samba Active Directory Domain Controllers (AD DC) unter CentOS 8 / RHEL 8
Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung eines vollwertigen Active Directory Domain Controllers (AD DC) mittels Samba unter CentOS 8 bzw. Red Hat Enterprise Linux 8 (RHEL 8).
Voraussetzungen & Beispieldaten
Für dieses Tutorial nutzen wir folgende Beispiel-Netzwerkdaten (bitte an Ihre Umgebung anpassen):
- Hostname:
dc1 - Domain Name (FQDN):
dc1.corp.beispiel.local - AD Realm / Domain:
CORP.BEISPIEL.LOCAL - NetBIOS-Name:
CORP - Statische IP-Adresse:
192.168.1.10/24 - DNS-Server:
192.168.1.10(zeigt auf sich selbst) und ein Gateway/Upstream-DNS (z. B.192.168.1.1)
Schritt 1: Netzwerk und Hostname konfigurieren
Ein Domain Controller benötigt zwingend eine statische IP-Adresse sowie einen vollständig qualifizierten Domänennamen (FQDN).
-
Hostname setzen:
hostnamectl set-hostname dc1.corp.beispiel.local -
/etc/hosts-Datei bearbeiten: Öffnen Sie die Datei/etc/hostsund stellen Sie sicher, dass der FQDN und die statische IP korrekt eingetragen sind.127.0.0.1 localhost localhost.localdomain 192.168.1.10 dc1.corp.beispiel.local dc1 -
Prüfen:
hostname -f # Ausgabe sollte sein: dc1.corp.beispiel.local
Schritt 2: SELinux anpassen
Für den reibungslosen Betrieb eines Samba AD DC empfiehlt es sich, SELinux auf permissive zu setzen, da Standard-Richtlinien oft Konflikte mit den AD-Diensten verursachen.
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Schritt 3: Repositories aktivieren und Samba installieren
Red Hat / CentOS 8 benötigt Zugriff auf die Standard-Paketquellen sowie PowerTools/CRB und EPEL.
-
EPEL und PowerTools aktivieren:
dnf install -y epel-release dnf config-manager --set-enabled powertools # Bei CentOS Stream / Rocky / Alma: crb -
Erforderliche Samba- und Kerberos-Pakete installieren: (Hinweis: RHEL liefert Samba in der Regel ohne integriertes AD DC Feature im Basis-Paket aus. Stellen Sie sicher, dass Samba mit AD-Unterstützung bereitgestellt wird, bzw. installieren Sie die Winbind- und DC-Komponenten).
dnf install -y samba samba-winbind samba-winbind-clients krb5-workstation bind-utils chrony -
Zeitsynchronisation (Chrony) starten: Active Directory ist strikt auf synchrone Uhren angewiesen (Kerberos-Toleranz max. 5 Minuten).
systemctl enable --now chronyd
Schritt 4: Samba AD DC provisionieren
Vor der Provisionierung muss die standardmäßige Konfigurationsdatei von Samba entfernt oder umbenannt werden.
-
Bestehende
smb.confsichern:mv /etc/samba/smb.conf /etc/samba/smb.conf.bak -
Domain provisionieren: Nutzen Sie das Werkzeug
samba-tool. Der Parameter--interactiveleitet Sie durch den Prozess:samba-tool domain provision --use-rfc2307 --interactiveAbgefragte Werte eingeben:
- Realm:
CORP.BEISPIEL.LOCAL(Großbuchstaben beachten) - Domain:
CORP - Server Role:
dc - DNS Backend:
SAMBA_INTERNAL(einfachste Variante für kleinere Setups) - DNS Forwarder IP: Die IP-Adresse Ihres Internet-Routers (z. B.
192.168.1.1oder8.8.8.8) - Administrator password: Vergeben Sie ein sicheres Kennwort (Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen)
- Realm:
Schritt 5: Kerberos konfigurieren
Samba hat während der Provisionierung eine passende krb5.conf generiert. Diese muss in das Systemverzeichnis verlinkt werden.
-
Standard-Kerberos-Datei sichern:
mv /etc/krb5.conf /etc/krb5.conf.bak -
Samba-Kerberos-Datei verlinken:
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Schritt 6: DNS-Auflösung anpassen
Der Server muss sich selbst als primären DNS-Server nutzen, um Active-Directory-Abfragen auflösen zu können.
Bearbeiten Sie die Datei /etc/resolv.conf:
search corp.beispiel.local
nameserver 127.0.0.1
(Optional: Sperren Sie die Datei mittels chattr +i /etc/resolv.conf, damit der NetworkManager sie nicht überschreibt, oder konfigurieren Sie den DNS-Server direkt im NetworkManager).
Schritt 7: Dienste konfigurieren und starten
Ein Domain Controller nutzt nicht die Standard-Dienste smb und nmb, sondern den zentralen Prozess samba.
-
Standard-Dienste deaktivieren und maskieren:
systemctl stop smb nmb winbind systemctl disable smb nmb winbind systemctl mask smb nmb winbind -
Samba AD DC Dienst aktivieren und starten:
systemctl unmask samba systemctl enable --now samba
Schritt 8: Firewall konfigurieren
Ein Active Directory Domain Controller benötigt diverse offene Ports für LDAP, Kerberos, DNS und SMB.
Führen Sie folgende Befehle aus, um die Ports in der Firewall freizuschalten:
firewall-cmd --permanent --add-service={dns,ldap,ldaps,kerberos,kpasswd,samba}
firewall-cmd --permanent --add-port={389/udp,636/tcp,3268/tcp,3269/tcp,445/tcp,139/tcp,137-138/udp,88/udp,88/tcp,464/tcp,464/udp,53/tcp,53/udp}
firewall-cmd --reload
Schritt 9: Funktionstest durchführen
-
DNS-Einträge testen: Prüfen Sie, ob die SRV-Einträge des AD aufgelöst werden können:
host -t SRV _ldap._tcp.corp.beispiel.local. host -t SRV _kerberos._udp.corp.beispiel.local. host -t A dc1.corp.beispiel.local.Ergebnis: Alle Abfragen müssen eine Antwort mit den korrekten Namen und IPs liefern.
-
Kerberos-Authentifizierung testen: Fordern Sie ein Kerberos-Ticket für das Administrator-Konto an:
kinit administrator@CORP.BEISPIEL.LOCAL(Geben Sie das bei Schritt 4 vergebene Passwort ein. Bleibt die Ausgabe leer, war der Vorgang erfolgreich).
Ticket anzeigen:
klist -
Samba-Freigaben testen:
smbclient -L localhost -U%Hier sollten die Verzeichnisse
netlogonundsysvolaufgelistet sein.
Fazit
Ihr Samba Active Directory Domain Controller ist nun voll einsatzfähig. Sie können nun:
- Windows-Clients oder Linux-Maschinen der Domäne
corp.beispiel.localbeitreten lassen. - Das Active Directory über die Microsoft RSAT-Tools (Remote Server Administration Tools) von einem Windows-Client aus verwalten.
- Benutzer und Gruppen über den Befehl
samba-tool user adddirekt auf der Linux-Konsole anlegen.