schlurfi
Goto Top

DNS-Timeouts verringern

Hallo Forum,

habe ein einfaches Active-Directory-Setup mit nur einem Standort und einer Domäne.

Es gibt 3 DCs, die alle auch DNS-Server sind, und eine AD-integrierte DNS-Zone betreiben.

Die DNS-Auflösung klappt auch soweit.

Der DC, der die FSMO-Rollen betreibt, ist der organisatorische Haupt-DNS-Server (ich schreibe "organisatorisch", weil es ja eigentlich keinen Haupt- oder Neben-DNS-Server gibt, sondern alle drei die primäre, weil AD-integrierte Zone beschreiben können).
Was ihn also zum Haupt-DNS-Server macht ist, dass die anderen DCs, alle Memberserver und alle Clients ihn als ersten DNS-Server in den Netzwerkeinstellungen eingetragen haben (die Server statisch, die Windows 7-Rechner per DHCP).

Ich hadere nun mit sehr langen Timeout-Zeiten bei Netzlaufwerkszugriffen der Clients, wenn dieser Haupt-DNS-Server nicht verfügbar ist (Wartung, Defekt, whatever). Besonders ärgerlich ist, dass diese Verzögerungen dann bei jedem Zugriff in bspw. untergeordnete Dateien oder Ordner auftreten. Wenn es wenigstens nur einmal wäre - so z.B.:
- Client greift auf Netzwerkfreigabe zu
- Netzwerkfreigabe kann nicht aufgelöst werden, da erster DNS-Server nicht da ist
- Wartezeit -- Ladebalken im Windows Explorer -- Freigabe wird schließlich nach 15sek. angezeigt (wohl Auflösung über zweiten oder dritten DNS-Server erfolgt)
- Weitere Zugriffe werden direkt über den DNS-Server aufgelöst, der die erste Auflösung erfolgreich vorgenommen hat.

(So ist es z.B. beim DFS, wenn es mit einem Node ein Problem gibt -- dann "sucht" der Client sich den Weg über den zweiten DFS-Node -- und behält den auch, wodurch die weiteren Zugriffe ohne Verzögerungen ablaufen).

Stattdessen ist es aber so, dass jeder nachfolgende Zugriff den elend langen Timeout erfährt.

Ich habe gelesen, dass sich die Timeouts mittels des Keys HKLM\System\CurrentControlSet\Services\dnscache\Parameters\DNSQueryTimeouts verringern lassen. Was ich eigentlich möchte ist, dass die anfragenden Clients in gar keinen (oder höchstens 1 Sekunde dauernden) Timeout laufen, falls der erste DNS-Server nicht verfügbar ist.

Bleibt mir da nur die Einrichtung eines DNS-Load-Balancing-Systems, falls es das gibt oder gibt es in einer normalen Implementierung mit mehreren DNS-Servern wenigstens eine Lösung dafür, dass ein Client den DNS-Sever, der zuletzt erfolgreich aufgelöst hat, als Numero Uno befragt?

Vielen Dank schonmal für eure Anregungen.

Gruß
schlurfi

Content-Key: 212684

Url: https://administrator.de/contentid/212684

Printed on: April 25, 2024 at 06:04 o'clock

Member: MrNetman
MrNetman Jul 27, 2013 at 15:43:30 (UTC)
Goto Top
Sorry, das ist die Implementierung von DNS in Windows.
Und deine Beobachtung ist richtig.
Jeder DNS Aufruf läuft ins timeout und das dreimal bevor der zweite DNS benutzt wird.
Dein Beispiel war ja nur eine Netzwerkfreigabe. Und da wird die Information nicht jedes mal abgefragt, wozu auch.
Aber das surfen wird auch zur Qual.
Also steht eine Designänderung an oder je nach Netzwrkgröße endlich ein DNS, der sich mit solche Kleinigkeiten nicht rumschlagen muss. Da gibt es viele Derivate von Bind. z. B. Infoblox. DIe umgehen das Problem indem sie als Cluster laufen.

Gruß
Netman
Mitglied: 108012
108012 Jul 27, 2013 at 18:26:27 (UTC)
Goto Top
Hallo,

ich sehe das genau so wie MrNetmann, man sollte einen gut ausgestatteten DNS in das Netz stellen und wenn es nötig
werden sollte auch gerne zwei die zusammen dann die ganze Last abfangen. Unter Linux oder OpenBSD mit Bind.

Gruß
Dobby
Member: schlurfi
schlurfi Jul 28, 2013 at 08:13:10 (UTC)
Goto Top
Danke Netman für die Antwort.

Dann bleibt wohl nur die Kröte zu schlucken, wenn man die AD-integrierte Zone behalten möchte.
Member: schlurfi
schlurfi Jul 28, 2013 at 08:15:35 (UTC)
Goto Top
Danke auch dir Dobby. Vielleicht mal ein schönes Testprojekt mit dem BIND-Cluster.