Warum führt das Hinzufügen sowohl privater als auch öffentlicher DNS-Server in Windows zu unerwartetem Verhalten?

Warum führt das Hinzufügen sowohl privater als auch öffentlicher DNS-Server in Windows zu unerwartetem Verhalten?

Ich habe unter den Netzwerkeinstellungen in Windows zwei DNS-Server konfiguriert:

  • Preferred DNS server:Mein DNS-Server
  • Alternate DNS server:Öffentliches DNS, bereitgestellt vom ISP

Während ich eine Intranet-Site öffne, die über meinen privaten DNS-Server aufgelöst werden sollte, öffnet mein Browser eine öffentliche Internet-Website. Wenn ich den alternativen DNS-Server, den öffentlichen DNS, entferne, öffnet er die Intranet-Site.

Nach meinem Verständnis sollte der private DNS, sobald er die IP auflöst, nicht versuchen, sie mit dem öffentlichen DNS aufzulösen. Wenn ich in der Eingabeaufforderung nachschaue, wird sie nur ins Intranet aufgelöst, aber im Browser ist das nicht dasselbe.

Warum passiert das und wie kann ich es beheben?

Antwort1

1) So funktioniert das nicht.

Ich habe eine harte Lektion gelernt: WindowsnichtVerwenden Sie diese DNS-Serverliste der Reihe nach. Siekann nichtGehen Sie davon aus, dass es einfach die Liste durchgeht, wenn es einen Namen nicht auflösen kann.

Es gibt eine recht ausführliche Erklärung auf TechNet, die Sie finden könnenHier. Das Problem, das ich persönlich hatte, wurde durch diesen kleinen Codeausschnitt hier verursacht:

Der DNS-Clientdienst verfolgt, welche Server Namensabfragen schneller beantworten, und verschiebt Server in der Liste nach oben oder unten, je nachdem, wie schnell sie auf Namensabfragen antworten.

In unseren DHCP-Einstellungen waren fünf DNS-Server aufgeführt, die letzten beiden waren die des lokalen ISPs. Unsere anderen drei waren sehr alte Rechner, und wir dachten, es wäre am besten, die Server des lokalen ISPs als Backup hinzuzufügen. Raten Sie mal, wer schneller war?

Es macht keinen Spaß, wenn Server keine internen Namen mehr auflösen.

Dies veranlasste mich zu der Drohung,Wechseln Sie zu Linux.

2) Warum hat es also in der Eingabeaufforderung funktioniert?

Ich gehe davon aus, dass Sie verwendet haben nslookup, wasstetsVerwenden Sie den ersten Server in Ihrer DNS-Liste, sofern Sie nichts anderes angeben. Da Sie immer Ihren privaten DNS-Server überprüft haben, hat es immer funktioniert. Sobald Sie Internet Explorer öffnen und tatsächlich versuchen, Namen aufzulösen, ist das Verhalten anders (wie im ausführlichen Flussdiagramm oben angegeben).

Ist das nicht wunderbar verwirrend? Ich habe eine Woche lang Namensauflösungsprobleme verfolgt und mich gefragt, warum es immer funktionierte, nslookupobwohl Lotus Notes aus irgendeinem Grund seinen Mailserver nie finden konnte. Ich habe es erst herausgefunden, als ich mit Wireshark überprüfte, wie die Namen tatsächlich aufgelöst wurden.

3) Wie kann ich das Problem beheben?

Sie können Ihr spezielles Problem beheben, indem Sie Ihren DNS-Server mit einer Weiterleitung konfigurieren. Wenn Ihr privater DNS-Server einen Namen nicht finden kann, leitet er die Anfrage an den von Ihnen angegebenen Server weiter. Auf diese Weise können Sie einfach Ihren DNS-Server und nichts anderes verwenden und das seltsame Verhalten verhindern, das auftritt.

Antwort2

Anstatt zwei DNS-Server einzurichten, sollten Sie lieber nur Ihren privaten DNS verwenden und diesen DNS-Server dann die ihm unbekannten Ergebnisse mit dem externen DNS überprüfen lassen. Die genaue Konfigurationsmethode hängt von Ihrem privaten DNS-Server ab, sollte aber einheitlichere Ergebnisse liefern, da Ihr alternativer DNS-Server verwendet werden kann, wenn er denkt, dass der primäre Server ausgelastet ist.

verwandte Informationen