Ein Domänencontroller auf einem Linux-Server?! Unmöglich! Die Reaktion gilt, insbesondere für diejenigen, die das Konzept zum ersten Mal hören. Es stellt sich heraus, dass Sie nicht nur einen Domänencontroller-Linux-Server einrichten können, sondern dies auch kostenlos tun können!
Unabhängig davon, ob Sie sich aus Kostengründen, für die Standardisierung oder für einen umweltfreundlicheren, schlankeren Tech-Stack für Linux entscheiden, das Erlernen der Einrichtung eines Linux-DC ist eine gute Fähigkeit für jeden Administrator.
Lesen Sie weiter, um zu erfahren, wie Sie Samba verwenden als zuverlässiger Domänencontroller-Linux-Server.
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie einen Ubuntu-Server haben. Dieses Tutorial verwendet einen Ubuntu Server 22.04 LTS mit der folgenden Konfiguration.
- Hostname:
oddjobs-dc
- IP-Adresse:
192.168.8.10
- Domäne:
OJI.COM
- FQDN:
oddjobs-dc.oji.com
Den Domänencontroller auf dem Linux-Server vorbereiten
Nachdem Sie alle Voraussetzungen erfüllt haben, müssen Sie sicherstellen, dass keine Standardeinstellungen des Betriebssystems vorhanden sind, die das Funktionieren des DC beeinträchtigen könnten. Mach dir keine Sorgen. Dieser Schritt ist nicht so kompliziert, wie es klingen mag. Führen Sie die folgenden Schritte aus, um diese Aufgabe auszuführen.
Richten Sie den Hosts-Dateieintrag ein
Die erste Aufgabe besteht darin, den Hostnamen und die FQDN-Einträge Ihres Servers in den lokalen Hosts hinzuzufügen (/etc/hosts
) Datei.
1. Öffnen Sie zunächst Ihren bevorzugten SSH-Client und melden Sie sich bei Ihrem Ubuntu-Server an.
2. Öffnen Sie Ihre Hosts (/etc/hosts)-Datei in einem Texteditor wie nano.
sudo nano /etc/hosts
3. Löschen Sie alle Einträge, die Ihren Hostnamen oder FQDN einer anderen IP als der statischen IP zuordnen. Die statische IP-Adresse dieses Servers lautet beispielsweise 192.168.8.10, lassen Sie diesen Eintrag also, falls vorhanden. Siehe Beispiel unten.
4. Fügen Sie als Nächstes einen Eintrag hinzu, um den FQDN und die statische IP-Adresse Ihres Hosts zuzuordnen. In diesem Tutorial lautet der FQDN des Servers oddjobs-dc.oji.com, der hinzuzufügende Eintrag lautet also:
192.168.8.10 oddjobs-dc.oji.com oddjobs-dc
5. Speichern Sie die Hosts (/etc/hosts) Datei und beenden Sie den Editor.
Hostnamen- und FQDN-Auflösung bestätigen
Führen Sie die folgenden Befehle aus, um den Hostnamen des Servers zu bestätigen und dass der FQDN in die richtige IP-Adresse aufgelöst wird.
# verify server FQDN
hostname -A
# verify FQDN resolves to your server IP address
ping -c1 oddjobs-dc.oji.com
Wie Sie unten sehen können, haben die Befehle den erwarteten FQDN und die IP-Adresse zurückgegeben.
Deaktivieren Sie den Netzwerknamenauflösungsdienst
Ubuntu hat einen Dienst namens systemd-resolved
, das sich um die Anfragen zur DNS-Auflösung kümmert. Dieser Dienst ist für Samba ungeeignet, und Sie müssen ihn deaktivieren und stattdessen den DNS-Resolver manuell konfigurieren.
1. Deaktivieren Sie den systemd-aufgelösten Dienst, indem Sie den folgenden Befehl ausführen.
sudo systemctl disable --now systemd-resolved
2. Entfernen Sie als nächstes den symbolischen Link zur Datei /etc/resolv.conf.
sudo unlink /etc/resolv.conf
3. Erstellen Sie in Ihrem Texteditor eine neue /etc/resolv.conf-Datei. Dieses Beispiel verwendet nano.
sudo nano /etc/resolv.conf
4. Füllen Sie die Datei /etc/resolv.conf mit den folgenden Informationen. Ersetzen Sie 192.168.8.10 durch die IP-Adresse Ihres Servers und oji.com durch Ihre Domain. Belassen Sie den Nameserver 1.1.1.1 als Fallback-DNS-Resolver, der der öffentliche DNS-Resolver von Cloudflare ist.
# your Samba server IP Address
nameserver 192.168.8.10
# fallback resolver
nameserver 1.1.1.1
# your Samba domain
search oji.com
Ihre /etc/resolv.conf sollte ähnlich wie im Screenshot unten aussehen.
5. Speichern Sie die Datei und beenden Sie den Editor.
Samba installieren
Nach Abschluss der Servervorbereitung ist es an der Zeit, Samba und andere erforderliche Pakete zu installieren, um den Domänencontroller bereitzustellen.
1. Stellen Sie zunächst sicher, dass der Repository-Cache auf dem neuesten Stand ist, indem Sie den folgenden Befehl ausführen.
sudo apt-get update
2. Führen Sie den folgenden Befehl aus, um die erforderlichen Pakete für einen voll funktionsfähigen Domänencontroller zu installieren.
sudo apt install -y acl attr samba samba-dsdb-modules samba-vfs-modules smbclient winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils chrony net-tools
3. Geben Sie im Schritt Konfigurieren der Kerberos-Authentifizierung die DNS-Domäne in Großbuchstaben ein. In diesem Beispiel ist die Standardbereichsdomäne OJI.COM. Markieren Sie Ok und drücken Sie die Eingabetaste, um den Wert zu akzeptieren.
4. Geben Sie auf dem nächsten Bildschirm, der nach den Kerberos-Servern für Ihren Bereich fragt, den Server-Hostnamen ein und drücken Sie die Eingabetaste.
5. Geben Sie im nächsten Bildschirm, in dem Sie nach dem Verwaltungsserver für Ihren Kerberos-Realm gefragt werden, den Hostnamen des Servers ein und drücken Sie die Eingabetaste.
6. Deaktivieren Sie nach der Konfiguration die unnötigen Dienste (winbind, smbd und nmbd).
sudo systemctl disable --now smbd nmbd winbind
7. Aktivieren und aktivieren Sie den samba-ad-dc-Dienst. Diesen Dienst benötigt Samba, um als Active Directory-Domänencontroller-Linux-Server zu fungieren.
# unmask the samba-ad-dc service
sudo systemctl unmask samba-ad-dc
# enable samba-ad-dc service
sudo systemctl enable samba-ad-dc
Bereitstellung des Domänencontroller-Linux-Servers
Mit der samba-tool-Binärdatei können Sie jetzt den Domänencontroller bei Ihrer Samba-Installation bereitstellen. Samba-auch l ist ein Konfigurationstool, um mit verschiedenen Aspekten eines Samba-basierten AD zu interagieren und es zu konfigurieren.
1. Sicherheitshalber sichern Sie die bestehenden Dateien /etc/samba/smb.conf und /etc/krb5.conf.
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo mv /etc/krb5.conf /etc/krb5.conf.bak
2. Führen Sie den folgenden Befehl aus, um Samba auf einen Active Directory-Domänencontroller-Linux-Server hochzustufen.
Der Schalter –use-rfc2307 aktiviert die Network Information Service (NIS)-Erweiterung, die es dem DC ermöglicht, UNIX-basierte Benutzerkonten angemessen zu verwalten.
sudo samba-tool domain provision --use-rfc2307 --interactive
3. Beantworten Sie die Eingabeaufforderungen wie folgt.
- Reich – das Tool erkennt automatisch Ihren Kerberos-Realm. In diesem Beispiel ist der Realm
OJI.COM
. Drücken Sie die Eingabetaste, um die Standardeinstellung zu akzeptieren.
- Domain – Das Tool erkennt automatisch den NetBIOS-Domänennamen. In diesem Beispiel ist das NetBIOS
OJI
. Drücken Sie die Eingabetaste, um fortzufahren.
- Serverrolle – Das Tool füllt automatisch die Serverrolle als Domänencontroller (
dc
). Drücken Sie die Eingabetaste, um fortzufahren.
- DNS-Backend – der Standardwert ist
SAMBA_INTERNAL
. Drücken Sie die Eingabetaste, um die Standardeinstellung zu akzeptieren.
- DNS-Weiterleitungs-IP-Adresse – Geben Sie die Fallback-Resolver-Adresse ein, die Sie in
resolve.conf
angegeben haben früher, also1.1.1.1
. Drücken Sie die Eingabetaste, um fortzufahren.
- Administratorpasswort – Legen Sie das Passwort des Standarddomänenadministrators fest. Das von Ihnen angegebene Kennwort muss die Mindestanforderungen von Microsoft an die Komplexität erfüllen. Drücken Sie die Eingabetaste, um fortzufahren.
- Passwort erneut eingeben – geben Sie das standardmäßige Domain-Administratorpasswort erneut ein und drücken Sie die Eingabetaste.
Am Ende der Konfiguration sehen Sie die folgenden Informationen.
4. Der samba-tool-Befehl generierte die Samba-AD-Kerberos-Konfigurationsdatei unter /var/lib/samba/private/krb5.conf. Sie müssen diese Datei nach /etc/krb5.conf kopieren. Führen Sie dazu den folgenden Befehl aus.
sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
5. Starten Sie abschließend den Dienst samba-ad-dc.
sudo systemctl start samba-ad-dc
sudo systemctl status samba-ad-dc
Wie Sie unten sehen können, ist der Dienststatus jetzt aktiv (wird ausgeführt).
Testen des Domänencontroller-Linux-Servers
Der Samba AD DC-Server läuft jetzt. In diesem Abschnitt führen Sie einige Tests nach der Installation durch, um zu bestätigen, dass wichtige Komponenten wie gewünscht funktionieren. Ein solcher Test besteht darin, zu versuchen, sich bei den Standardnetzwerkfreigaben auf dem DC anzumelden.
Führen Sie den Befehl smbclient aus, um sich als Standard-Administratorkonto anzumelden, und listen Sie (ls) den Inhalt der netlogon-Freigabe auf.
smbclient //localhost/netlogon -U Administrator -c 'ls'
Geben Sie das Standard-Admin-Passwort ein. Die Freigabe sollte fehlerfrei zugänglich sein, wenn der DC in einem guten Zustand ist. Wie Sie unten sehen können, listet der Befehl das Netlogon-Freigabeverzeichnis auf.
Überprüfen der DNS-Auflösung für Schlüsseldomäneneinträge
Führen Sie die folgenden Befehle aus, um die folgenden DNS-Einträge nachzuschlagen.
- TCP-basierter LDAP-SRV-Eintrag für die Domain.
- UDP-basierter Kerberos-SRV-Eintrag für die Domäne.
- Ein Datensatz des Domänencontrollers.
host -t SRV _ldap._tcp.oji.com
host -t SRV _kerberos._udp.oji.com
host -t A oddjobs-dc.oji.com
Jeder Befehl sollte die folgenden Ergebnisse zurückgeben, die anzeigen, dass die DNS-Auflösung funktioniert.
Kerberos testen
Der letzte Test besteht darin, zu versuchen, ein Kerberos-Ticket erfolgreich auszustellen.
1. Führen Sie den kinit-Befehl für den Administrator-Benutzer aus. Der Befehl fügt den Realm automatisch an das Benutzerkonto an. Beispielsweise wird der Administrator zu [email protected], wobei OJI.com der Realm ist.
kinit administrator
2. Geben Sie an der Eingabeaufforderung das Administratorkennwort ein und drücken Sie die Eingabetaste. Wenn das Passwort korrekt ist, sehen Sie eine Warnmeldung zum Ablauf des Passworts, wie unten gezeigt.
3. Führen Sie den folgenden klist-Befehl aus, um alle Tickets im Ticket-Cache aufzulisten.
klist
Der folgende Screenshot zeigt, dass sich das Kerberos-Ticket für das Administratorkonto im Ticket-Cache befindet. Dieses Ergebnis weist darauf hin, dass die Kerberos-Authentifizierung auf dem Linux-Server Ihres Domänencontrollers funktioniert.
Schlussfolgerung
Herzlichen Glückwunsch, Sie haben das Ende dieses Tutorials erreicht. Sie haben jetzt gelernt, schnell einen Active Directory-Domänencontroller-Linux-Server einzurichten. Vertiefen Sie Ihr Wissen zu diesem Thema, indem Sie lernen, Benutzer zu erstellen und Client-Computern in der Domäne beizutreten.