Verbinden eines zusätzlichen Ubuntu-Domänencontrollers mit einem Samba4 AD-Domänencontroller für die FailOver-Replikation - Teil 5
In diesem Tutorial erfahren Sie, wie Sie der vorhandenen Samba AD DC-Gesamtstruktur einen zweiten Samba4-Domänencontroller hinzufügen, der auf einem Ubuntu 16.04-Server bereitgestellt wird, um ein gewisses Maß an Lastausgleich/Failover für einige wichtige AD DC-Dienste bereitzustellen, insbesondere für Dienste wie DNS und AD DC LDAP-Schema mit SAM-Datenbank.
Anforderungen
- Erstellen einer Active Directory-Infrastruktur mit Samba4 auf Ubuntu – Teil 1
Dieser Artikel ist Teil 5 der Samba4 AD DC-Serie wie folgt:
Schritt 1: Erstkonfiguration für das Samba4-Setup
1. Bevor Sie mit dem eigentlichen Domänenbeitritt für den zweiten Domänencontroller beginnen, müssen Sie sich um einige anfängliche Einstellungen kümmern. Stellen Sie zunächst sicher, dass der Hostname des Systems, das in Samba4 AD DC integriert wird, einen beschreibenden Namen enthält.
Unter der Annahme, dass der Hostname des ersten bereitgestellten Bereichs adc1 heißt, können Sie den zweiten Domänencontroller mit adc2 benennen, um ein konsistentes Benennungsschema für Ihre Domänencontroller bereitzustellen.
Um den Hostnamen des Systems zu ändern, können Sie den folgenden Befehl ausführen.
# hostnamectl set-hostname adc2
Andernfalls können Sie die Datei /etc/hostname manuell bearbeiten und eine neue Zeile mit dem gewünschten Namen hinzufügen.
# nano /etc/hostname
Fügen Sie hier den Hostnamen hinzu.
adc2
2. Öffnen Sie als Nächstes die lokale Systemauflösungsdatei, und fügen Sie einen Eintrag mit der IP-Adresse hinzu, die auf den Kurznamen und den FQDN des Hauptdomänencontrollers verweist, wie im folgenden Screenshot dargestellt.
In diesem Tutorial lautet der primäre DC-Name adc1.tecmint.lan und wird in die IP-Adresse 192.168.1.254 aufgelöst.
# nano /etc/hosts
Fügen Sie die folgende Zeile hinzu:
IP_of_main_DC FQDN_of_main_DC short_name_of_main_DC
3. Öffnen Sie im nächsten Schritt /etc/network/interfaces und weisen Sie Ihrem System eine statische IP-Adresse zu, wie im folgenden Screenshot dargestellt.
Achten Sie auf dns-nameserver und dns-search-Variablen. Diese Werte sollten so konfiguriert werden, dass sie auf die IP-Adresse des primären Samba4 AD-DC und -Bereichs verweisen, damit die DNS-Auflösung ordnungsgemäß funktioniert.
Starten Sie den Netzwerk-Daemon neu, um die Änderungen zu übernehmen. Überprüfen Sie die Datei /etc/resolv.conf, um sicherzustellen, dass beide DNS-Werte von Ihrer Netzwerkschnittstelle in diese Datei aktualisiert werden.
# nano /etc/network/interfaces
Bearbeiten und ersetzen Sie sie durch Ihre benutzerdefinierten IP-Einstellungen:
auto ens33
iface ens33 inet static
address 192.168.1.253
netmask 255.255.255.0
brodcast 192.168.1.1
gateway 192.168.1.1
dns-nameservers 192.168.1.254
dns-search tecmint.lan
Starten Sie den Netzwerkdienst neu und bestätigen Sie die Änderungen.
# systemctl restart networking.service
cat /etc/resolv.conf
Der dns-search-Wert hängt automatisch den Domänennamen an, wenn Sie einen Host anhand seines Kurznamens abfragen (bildet den FQDN).
4. Um zu testen, ob die DNS-Auflösung wie erwartet funktioniert, geben Sie eine Reihe von Ping-Befehlen für den Kurznamen, den FQDN und den Realm Ihrer Domain aus, wie im folgenden Screenshot gezeigt.
In all diesen Fällen sollte der Samba4 AD DC DNS-Server mit der IP-Adresse Ihres Haupt-DC antworten.
5. Der letzte zusätzliche Schritt, um den Sie sich kümmern müssen, ist die Zeitsynchronisierung mit Ihrem Hauptdomänencontroller. Dies kann erreicht werden, indem Sie das NTP-Client-Dienstprogramm auf Ihrem System installieren, indem Sie den folgenden Befehl eingeben:
# apt-get install ntpdate
6. Angenommen, Sie möchten die Zeitsynchronisierung mit samba4 AD DC manuell erzwingen, führen Sie den Befehl ntpdate für den primären DC aus, indem Sie den folgenden Befehl ausgeben.
# ntpdate adc1
Schritt 2: Installieren von Samba4 mit den erforderlichen Abhängigkeiten
7. Um das Ubuntu 16.04-System in Ihrer Domäne zu registrieren, installieren Sie zuerst Samba4, den Kerberos-Client und einige andere wichtige Pakete für die spätere Verwendung aus den offiziellen Ubuntu-Repositories, indem Sie den folgenden Befehl eingeben:
# apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind
8. Während der Installation müssen Sie den Namen des Kerberos-Bereichs angeben. Schreiben Sie Ihren Domainnamen in Großbuchstaben und drücken Sie die [Enter]-Taste, um den Installationsvorgang abzuschließen.
9. Überprüfen Sie nach Abschluss der Paketinstallation die Einstellungen, indem Sie mit dem Befehl kinit ein Kerberos-Ticket für einen Domänenadministrator anfordern. Verwenden Sie den Befehl klist, um das erteilte Kerberos-Ticket aufzulisten.
# kinit domain-admin-user@YOUR_DOMAIN.TLD
klist
Schritt 3: Beitreten zu Samba4 AD DC als Domänencontroller
10. Bevor Sie Ihren Rechner in Samba4 DC integrieren, stellen Sie zunächst sicher, dass alle Samba4-Daemons, die auf Ihrem System laufen, gestoppt sind, und benennen Sie auch die Standard-Samba-Konfigurationsdatei um, um sauber zu starten. Beim Bereitstellen des Domänencontrollers erstellt Samba eine neue Konfigurationsdatei von Grund auf neu.
# systemctl stop samba-ad-dc smbd nmbd winbind
mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
11. Um den Domänenbeitrittsprozess zu starten, starten Sie zuerst nur den samba-ad-dc-Daemon, danach führen Sie den Befehl samba-tool aus, um dem Bereich mit einem Konto mit Administratorrechten in Ihrer Domäne beizutreten.
# samba-tool domain join your_domain DC -U "your_domain_admin"
Auszug aus der Domain-Integration:
# samba-tool domain join tecmint.lan DC -U"tecmint_user"
Beispiel-Ausgabe
Finding a writeable DC for domain 'tecmint.lan'
Found DC adc1.tecmint.lan
Password for [WORKGROUP\tecmint_user]:
workgroup is TECMINT
realm is tecmint.lan
checking sAMAccountName
Deleted CN=ADC2,CN=Computers,DC=tecmint,DC=lan
Adding CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Adding CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding CN=NTDS Settings,CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding SPNs to CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Setting account password for ADC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Provision OK for domain DN DC=tecmint,DC=lan
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[402/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[804/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1206/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1550/1550] linked_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[402/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[804/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1206/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1608/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1614/1614] linked_values[28/0]
Replicating critical objects from the base DN of the domain
Partition[DC=tecmint,DC=lan] objects[97/97] linked_values[24/0]
Partition[DC=tecmint,DC=lan] objects[380/283] linked_values[27/0]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=tecmint,DC=lan
Partition[DC=DomainDnsZones,DC=tecmint,DC=lan] objects[45/45] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=tecmint,DC=lan
Partition[DC=ForestDnsZones,DC=tecmint,DC=lan] objects[18/18] linked_values[0/0]
Committing SAM database
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC
12. Nachdem die Software Ubuntu mit samba4 in die Domäne integriert wurde, öffnen Sie die Samba-Hauptkonfigurationsdatei und fügen Sie die folgenden Zeilen hinzu:
# nano /etc/samba/smb.conf
Fügen Sie der Datei smb.conf den folgenden Auszug hinzu.
dns forwarder = 192.168.1.1
idmap_ldb:use rfc2307 = yes
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
Ersetzen Sie die IP-Adresse der DNS-Weiterleitung durch Ihre eigene IP-Adresse der DNS-Weiterleitung. Samba leitet alle DNS-Auflösungsanfragen, die sich außerhalb Ihrer autoritativen Domain-Zone befinden, an diese IP-Adresse weiter.
13. Starten Sie abschließend den Samba-Daemon neu, um die Änderungen widerzuspiegeln und die Active Directory-Replikation zu überprüfen, indem Sie die folgenden Befehle ausführen.
# systemctl restart samba-ad-dc
samba-tool drs showrepl
14. Benennen Sie außerdem die anfängliche Kerberos-Konfigurationsdatei aus dem Pfad /etc um und ersetzen Sie sie durch die neue Konfigurationsdatei krb5.conf, die von Samba beim Bereitstellen der Domäne generiert wurde.
Die Datei befindet sich im Verzeichnis /var/lib/samba/private. Verwenden Sie den Linux-Symlink, um diese Datei mit dem Verzeichnis /etc zu verknüpfen.
# mv /etc/krb5.conf /etc/krb5.conf.initial
ln -s /var/lib/samba/private/krb5.conf /etc/
cat /etc/krb5.conf
15. Überprüfen Sie außerdem die Kerberos-Authentifizierung mit der Samba-Datei krb5.conf. Fordern Sie ein Ticket für einen Administratorbenutzer an, und listen Sie das zwischengespeicherte Ticket auf, indem Sie die folgenden Befehle ausführen.
# kinit administrator
klist
Schritt 4: Zusätzliche Validierungen von Domain Services
16. Der erste Test, den Sie durchführen müssen, ist die Samba4 DC DNS-Auflösung. Um die DNS-Auflösung Ihrer Domäne zu validieren, fragen Sie den Domänennamen mithilfe des Befehls host anhand einiger wichtiger AD-DNS-Einträge ab, wie im folgenden Screenshot dargestellt.
Der DNS-Server sollte jetzt mit einem Paar von zwei IP-Adressen für jede Abfrage wiedergegeben werden.
# host your_domain.tld
host -t SRV _kerberos._udp.your_domain.tld # UDP Kerberos SRV record
host -t SRV _ldap._tcp.your_domain.tld # TCP LDAP SRV record
17. Diese DNS-Einträge sollten auch von einem registrierten Windows-Computer aus sichtbar sein, auf dem RSAT-Tools installiert sind. Öffnen Sie den DNS-Manager, und erweitern Sie ihn auf Ihre Domänen-TCP-Einträge, wie in der folgenden Abbildung gezeigt.
18. Der nächste Test sollte zeigen, ob die LDAP-Replikation der Domäne wie erwartet funktioniert. Erstellen Sie mithilfe von samba-tool ein Konto auf dem zweiten Domänencontroller, und überprüfen Sie, ob das Konto automatisch auf dem ersten Samba4 AD-Domänencontroller repliziert wird.
Auf adc2:
# samba-tool user add test_user
Auf adc1:
# samba-tool user list | grep test_user
19. Sie können auch ein Konto über eine Microsoft AD UC-Konsole erstellen und überprüfen, ob das Konto auf beiden Domänencontrollern angezeigt wird.
Standardmäßig sollte das Konto auf beiden Samba-Domänencontrollern automatisch erstellt werden. Fragen Sie den Kontonamen von adc1 mit dem Befehl wbinfo ab.
20. Öffnen Sie die AD UC-Konsole unter Windows, erweitern Sie sie zu Domänencontroller, und Sie sollten beide registrierten DC-Computer sehen.
Schritt 5: Aktivieren des Samba4 AD DC-Diensts
21. Um samba4 AD DC-Dienste systemweit zu aktivieren, deaktivieren Sie zunächst einige alte und ungenutzte Samba-Daemons und aktivieren Sie nur den samba-ad-dc-Dienst, indem Sie die folgenden Befehle ausführen:
# systemctl disable smbd nmbd winbind
systemctl enable samba-ad-dc
22. Wenn Sie den Samba4-Domänencontroller von einem Microsoft-Client aus remote verwalten oder andere Linux- oder Windows-Clients in Ihre Domäne integriert haben, stellen Sie sicher, dass Sie die IP-Adresse des adc2-Rechners in den IP-Einstellungen des DNS-Servers der Netzwerkschnittstelle angeben, um ein gewisses Maß an Redundanz zu erreichen.
Die folgenden Screenshots veranschaulichen die Konfigurationen, die für einen Windows- oder einen Debian/Ubuntu-Client erforderlich sind.
Unter der Annahme, dass der erste Domänencontroller mit 192.168.1.254 offline geht, kehren Sie die Reihenfolge der IP-Adressen des DNS-Servers in der Konfigurationsdatei um, damit nicht zuerst versucht wird, einen nicht verfügbaren DNS-Server abzufragen.
Wenn Sie eine lokale Authentifizierung auf einem Linux-System mit einem Samba4 Active Directory-Konto durchführen oder Root-Rechte für AD LDAP-Konten unter Linux erteilen möchten, lesen Sie die Schritte 2 und 3 aus dem Tutorial Verwalten der Samba4 AD-Infrastruktur über die Linux-Befehlszeile.




















