NT-STATUS-IO-TIMEOUT bei Samba-AD-DC am zweiten Standort
Hallochen Gemeinde!
Gegeben ist ein Windows-AD, das ausschließlich von vier Samba-AD-DC's verwaltet wird. Windows-DC's gibt es nicht (mehr). Von den vier Samba-AD-DC's basieren zwei auf Ubuntu 20.04 und waren schon länger als Tandem vorhanden. Einer dieser beiden DC's hat alle FSMO-Rollen. Die anderen beiden beruhen auf Debian 12 und sind in den letzten zwei Monaten hinzugekommen. Das Netzwerk hat zwei (physische) Standorte, wobei die beiden Ubuntu-DC's und einer der Debian-DC am (Haupt)Standort 1 werkeln und der andere Debian-DC am Standort 2 agiert. Beide Standorte haben eigene/abweichende private 24er IPv4- / 64er IPv6-Netzwerkbereiche und sind durch eine site-to-site-Verbindung (sowohl IPv4- als auch IPv6-Tunnel) permanent verbunden. Die Tunnel haben keine Regelbeschränkungen seitens der Firewalls. Die Netzwerkbereiche sind als Subnets im AD eingetragen. Weil beide (physischen) Standorte zum selben Domainbereich gehören, gibt es auch nur einen (logischen) AD-Standort. Das ist auch deshalb wichtig, weil es mehrere Clients gibt, die sich an beiden (physischen) Standorten einloggen.
Die beiden Debian-DC's sind identisch konfiguriert und unterscheiden sich lediglich im Hostname und den zugewiesenen IP-Adressen.
Mit dem Befehl samba-tool visualize [ntdsconn | reps | uptodateness] -r kann der Replikationsstatus abgerufen werden. Bei den drei DC's am Standort 1 läuft dieser Befehl sauber durch. Alle Replikationsverbindungen (source <-> destination / DC <-> out-of-date-ness) zwischen den vier DC's werden angezeigt und es gibt keine Fehlermeldungen. Der DC des Standorts 2 hingegen meldet für sich selbst:
Ebenso läuft der Befehl samba-tool drs showrepl [--summary] auf den drei DC's des Standorts 1 ohne Fehlermeldungen durch, während der DC des Standorts 2 meldet:
Wird der Befehl samba-tool drs replicate Ziel-DC Quell-DC [--full-sync --sync-all] für den DC des Standorts 2 in beiden Richtungen für die jeweilige AD-Partition auf ihm selbst ausgeführt, funktioniert alles fehlerfrei. Ebenso klappt es fehlerfrei, wenn dieser Befehl in seinen Varianten auf einem anderen DC ausgeführt wird.
Folgelich kann konstatiert werden, dass die Replikation als solche nicht nur zwischen den drei DC's des Standorts 1, sondern genauso in beiden Richtungen mit dem DC des Standorts 2 funktioniert. Das ist beispielsweise über die RSAT-Tools für die Replikation der DNS-Einträge nachvollziehbar, wenn sich am Standort 2 ein Client anmeldet und eine IP zugewiesen bekommt, ist nicht nur ein entsprechender DNS-Eintrag beim DC des Standorts 2 vorhanden, sondern wenige Augenblicke später auch bei den drei anderen DC' am Standort 1. Das Ganze gilt auch umgekehrt. Insgesamt funktioniert die Namensauflösung an beiden Standorten einschränkungslos und erwartungsgemäß.
Soweit ich bei meiner Recherche bisher herausgefunden habe, kann der time-out-Fehler an den abweichenden IP-Bereichen für den Standort 2 liegen. Ich habe sogar eine gepostete Frage gefunden, die genau meine Fehlerkonstellation beschreibt. Aber darauf gab es leider keine Antworten. Bisher konnte ich mir nicht erschließen, was der Grund für dieses time-out-Problem ist und wie es abgestellt werden könnte.
Wer hat einen Tipp für mich oder weiß sonstigen Rat?
Vielen Dank im Voraus für Euren Input und viele Grüße
HansDampf06
Gegeben ist ein Windows-AD, das ausschließlich von vier Samba-AD-DC's verwaltet wird. Windows-DC's gibt es nicht (mehr). Von den vier Samba-AD-DC's basieren zwei auf Ubuntu 20.04 und waren schon länger als Tandem vorhanden. Einer dieser beiden DC's hat alle FSMO-Rollen. Die anderen beiden beruhen auf Debian 12 und sind in den letzten zwei Monaten hinzugekommen. Das Netzwerk hat zwei (physische) Standorte, wobei die beiden Ubuntu-DC's und einer der Debian-DC am (Haupt)Standort 1 werkeln und der andere Debian-DC am Standort 2 agiert. Beide Standorte haben eigene/abweichende private 24er IPv4- / 64er IPv6-Netzwerkbereiche und sind durch eine site-to-site-Verbindung (sowohl IPv4- als auch IPv6-Tunnel) permanent verbunden. Die Tunnel haben keine Regelbeschränkungen seitens der Firewalls. Die Netzwerkbereiche sind als Subnets im AD eingetragen. Weil beide (physischen) Standorte zum selben Domainbereich gehören, gibt es auch nur einen (logischen) AD-Standort. Das ist auch deshalb wichtig, weil es mehrere Clients gibt, die sich an beiden (physischen) Standorten einloggen.
Die beiden Debian-DC's sind identisch konfiguriert und unterscheiden sich lediglich im Hostname und den zugewiesenen IP-Adressen.
Mit dem Befehl samba-tool visualize [ntdsconn | reps | uptodateness] -r kann der Replikationsstatus abgerufen werden. Bei den drei DC's am Standort 1 läuft dieser Befehl sauber durch. Alle Replikationsverbindungen (source <-> destination / DC <-> out-of-date-ness) zwischen den vier DC's werden angezeigt und es gibt keine Fehlermeldungen. Der DC des Standorts 2 hingegen meldet für sich selbst:
Failed to connect to ldap URL 'ldap://DC4.domain.tld' - LDAP client internal error: NT_STATUS_IO_TIMEOUT
Failed to connect to 'ldap://DC4.domain.tld' with backend 'ldap': LDAP client internal error: NT_STATUS_IO_TIMEOUT
Could not contact ldap://DC4.domain.tld ((1, 'LDAP client internal error: NT_STATUS_IO_TIMEOUT'))
Ebenso läuft der Befehl samba-tool drs showrepl [--summary] auf den drei DC's des Standorts 1 ohne Fehlermeldungen durch, während der DC des Standorts 2 meldet:
ERROR(<class 'samba.drs_utils.drsException'>): DRS connection to DC4.domain.tld failed - drsException: DRS connection to DC4.domain.tld failed: (3221225653, '{Device Timeout} The specified I/O operation on %hs was not completed before the time-out period expired.')
Wird der Befehl samba-tool drs replicate Ziel-DC Quell-DC [--full-sync --sync-all] für den DC des Standorts 2 in beiden Richtungen für die jeweilige AD-Partition auf ihm selbst ausgeführt, funktioniert alles fehlerfrei. Ebenso klappt es fehlerfrei, wenn dieser Befehl in seinen Varianten auf einem anderen DC ausgeführt wird.
Folgelich kann konstatiert werden, dass die Replikation als solche nicht nur zwischen den drei DC's des Standorts 1, sondern genauso in beiden Richtungen mit dem DC des Standorts 2 funktioniert. Das ist beispielsweise über die RSAT-Tools für die Replikation der DNS-Einträge nachvollziehbar, wenn sich am Standort 2 ein Client anmeldet und eine IP zugewiesen bekommt, ist nicht nur ein entsprechender DNS-Eintrag beim DC des Standorts 2 vorhanden, sondern wenige Augenblicke später auch bei den drei anderen DC' am Standort 1. Das Ganze gilt auch umgekehrt. Insgesamt funktioniert die Namensauflösung an beiden Standorten einschränkungslos und erwartungsgemäß.
Soweit ich bei meiner Recherche bisher herausgefunden habe, kann der time-out-Fehler an den abweichenden IP-Bereichen für den Standort 2 liegen. Ich habe sogar eine gepostete Frage gefunden, die genau meine Fehlerkonstellation beschreibt. Aber darauf gab es leider keine Antworten. Bisher konnte ich mir nicht erschließen, was der Grund für dieses time-out-Problem ist und wie es abgestellt werden könnte.
Wer hat einen Tipp für mich oder weiß sonstigen Rat?
Vielen Dank im Voraus für Euren Input und viele Grüße
HansDampf06
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93324665550
Url: https://administrator.de/contentid/93324665550
Ausgedruckt am: 23.11.2024 um 12:11 Uhr
7 Kommentare
Neuester Kommentar
Hallöle,
bin in dem Feld leider noch recht frisch.
Das hier haste nach dem Join gemacht?
https://wiki.samba.org/index.php/Joining_a_Samba_DC_to_an_Existing_Activ ...
Viele Grüße, commodity
bin in dem Feld leider noch recht frisch.
Das hier haste nach dem Join gemacht?
If you are joining a new DC the 'nameserver' you set in '/etc/resolv.conf' must be another AD DC, otherwise the join will not be work. Once the new join has succeeded, you need to change the 'nameserver' to the new DCs ipaddress, do not use '127.0.0.1' or any other IP.
Viele Grüße, commodity
Hast du da Firewallregeln, die LDAP nur für bestimmte IP-Adressen freigeben? So, dass nur die Replikation funktioniert?
Oder wird eventuell nur LDAPS (das ist ein anderer Port) bedient?
Kannst du von Linux aus mit Traceroutes testen:
Oder wird eventuell nur LDAPS (das ist ein anderer Port) bedient?
Kannst du von Linux aus mit Traceroutes testen:
# Schauen wo LDAP versandet
traceroute -T -p ldap ip.des.servers
# Gegenproben mit LDAPS und ICMP
traceroute -T -p ldaps ip.des.servers
traceroute -I ip.des.servers
Hallo,
https://www.wireshark.org/faq.html#_can_wireshark_read_capture_files_fro ...
https://www.wireshark.org/
Gruß,
Peter
Zitat von @HansDampf06:
Ein tcpdump -i für die LAN-Schnittstelle hat gleichfalls für mich nicht wahrnehmbar werden lassen, dass die DNS-Auflösung scheitern würde. Ebenso ist den relevanten log-Dateien nichts zu entnehmen.
Würde/Könnte/Dürfte ist alles Glückskecks lesen. Ein Wireshark hilft dir mehr. https://wiki.ubuntuusers.de/Wireshark/Ein tcpdump -i für die LAN-Schnittstelle hat gleichfalls für mich nicht wahrnehmbar werden lassen, dass die DNS-Auflösung scheitern würde. Ebenso ist den relevanten log-Dateien nichts zu entnehmen.
https://www.wireshark.org/faq.html#_can_wireshark_read_capture_files_fro ...
https://www.wireshark.org/
Gruß,
Peter