DNS kann den Hostnamen nicht auflösen. nslookup kann

9

Ich habe einen Benutzer unter Windows 7, der versucht, auf einen lokalen Server mit dem DNS-Namen windows.cs zuzugreifen. Wir haben zwei interne DNS-Server. Der DHCP-Server weist den Benutzern die beiden internen DNS-Server als primären und sekundären Server und dann den DNS unserer ISPs als tertiären DNS-Server zu.

Hin und wieder kann der Benutzer unter windows.cs nicht auf die Website zugreifen. Wenn ich es anpinge, heißt es, dass der Hostname nicht aufgelöst werden kann. Ich entleere den DNS-Cache und wenn ich dann den DNS-Cache anzeige, hat er Folgendes:

windows.cs - Name existiert nicht

Wenn ich jedoch nslookup verwende, das standardmäßig den primären DNS-Server (unseren internen) abfragt und windows.cs abfragt, wird die richtige IP-Adresse zurückgegeben.

Warum kann Windows den Hostnamen nicht mit Ping auflösen, aber mit dem nslookup-Tool? Und wie behebe ich das?

Safado
quelle
1
+1, ich habe dieses Problem oft ... sogar mit Hostnamen, die ich vor 5 Minuten verwendet habe!
Brad

Antworten:

12

Wie Sie sagen, wird die Anforderung für windows.cs ab und zu an den DNS-Server des Internetdienstanbieters gesendet. Das nxdomain-Ergebnis wird dann vom Windows-DNS-Client zwischengespeichert und somit für alle Wiederholungsversuche mit einem Webbrowser, Ping usw. verwendet. Durch das Löschen des Caches (ipconfig / flushdns) sollte der Windows-DNS-Client gezwungen werden, die Abfrage erneut zu versuchen, es gibt jedoch keine Garantie dafür wird nicht wieder zum ISP-DNS-Server gehen.

Der Grund, warum Ping den Hostnamen nicht auflösen kann, nslookup jedoch, ist, dass nslookup ein Low-Level-Tool ist, das den Windows-DNS-Client umgeht. Es verwendet den DNS-Server, den Sie ihm mitteilen (standardmäßig den ersten), und führt die Abfrage im laufenden Betrieb durch. Sie können den abgefragten DNS-Server ändern, indem Sie server <host>an der Eingabeaufforderung nslookup eingeben , wobei Host die IP oder der vollqualifizierte Domänenname ist.

Der Windows-DNS-Client führt jedoch nur Abfragen für Einträge durch, die sich nicht im Cache befinden (oder abgelaufen sind). Andernfalls wird das zwischengespeicherte Ergebnis zurückgegeben.

Es ist nicht sofort ersichtlich, warum der Windows-Client den ISP-DNS-Server verwendet. Möglicherweise konnte der lokale Server in letzter Zeit nicht aufgelöst werden (möglicherweise aufgrund eines anderen Netzwerks). Möglicherweise hat der lokale Server Fehler zurückgegeben. Oder es ist möglicherweise nicht korrekt unter Erweiterte TCP / IP-Einstellungen> DNS sortiert.

Persönlich bevorzuge ich es, nur lokale DNS-Serveradressen auf Workstations (von DHCP weitergegeben) zu verwenden, um die Konfiguration zu vereinfachen und solche Probleme zu vermeiden. Ich wäre gespannt auf die Gründe für die Einrichtung des DNS-Servers des Internetdienstanbieters auf Desktops. Ich kann mir nicht vorstellen, dass es gültige Leistungsgründe gibt, und was die Redundanz betrifft, reichen zwei in den meisten Netzwerken aus (wenn nicht ein dritter).

Alex Forbes
quelle
Sie sprechen einen guten Punkt an. Es gibt keinen besonderen Grund, warum der DHCP-Server ihn als tertiär zuweist. Und das scheint eine vernünftige Erklärung dafür zu sein, warum es nicht aufgelöst wird (aber warum es zum 3. DNS-Server geht? Wer weiß ..). Danke für die Richtung. Ich werde den öffentlichen DNS-Server von dem zugewiesenen DNS-Server entfernen, der über DHCP ausgegeben wird, und prüfen, ob das Problem behoben ist. Die internen DNS-Server sollten alle Anfragen weiterleiten, die sie ohnehin nicht an diesen DNS-Server beantworten können, daher sollte dies kein Problem sein.
Safado
Update: Dies scheint unser Problem behoben zu haben. Danke für den Vorschlag!
Safado
0

Die Ergebnisse von nslookupunterscheiden sich von denen pingaufgrund von nslookupEigenheiten und Fehlern . Sie sind jedoch für Ihr Hauptproblem nicht wirklich relevant. Sie haben also gegen die Regel verstoßen, dass Ihre Fallback-Proxy-DNS-Server dieselbe Ansicht des DNS-Namespace bieten müssen wie Ihr Haupt-Namespace . Der Proxy-DNS-Server Ihres Internetdienstanbieters bietet nicht die gleiche Ansicht des DNS-Namespace wie Ihre eigenen Proxy-DNS-Server in Ihrem LAN.

Es scheint, dass ein weiterer Systemadministrator gegen die von My ISP bereitgestellten und dokumentierten Informationen verstoßen hat, daher muss ich sie verwenden. Irrtum. ☺

JdeBP
quelle
Laien sagen also, Sie weisen meinen Benutzern keine DNS-Server zu, es sei denn, ich weiß, dass diese DNS-Server dieselben Informationen haben? Ihre Links funktionieren nicht.
Safado
0

TL; DR-Version: IPv6 hat in meinem Fall das DNS-Abfrageproblem verursacht. Durch Deaktivieren wurde das DNS-Abfrageproblem behoben.

Ich hatte das gleiche Problem auf meiner Entwicklungsmaschine. Immer wenn ich mich in unserem Unternehmensnetzwerk anmeldete, konnte ich die internen Hostnamen nicht auflösen, alle externen Hostnamen / URIs konnten aufgelöst werden. Ich habe die DNS-Server überprüft, die für die VPN-Verbindung zugewiesen wurden, und sie haben gezeigt, dass die DNS-Server des Unternehmens als primär und sekundär konfiguriert wurden. Ich konnte auch verwenden nslookup, musste aber den Server manuell ändern server X.X.X.X, um die DNS-Auflösung zu erhalten.

Am Ende stellte ich fest, dass IPv6 die Probleme mit der Namensauflösung verursachte: Bei jeder DNS-Abfrage wurde das IPv6-DNS abgefragt und nicht die DNS-Server der IPv4-Firma. Nach dem Deaktivieren von IPv6 müssen Sie ipconfig /flushdnsansonsten abgefragte Adressen möglicherweise noch nicht auflösen.

SaschaM78
quelle
0

Ich konnte das Problem einfach beheben, indem ich den DNS-Eintrag löschte und die Befehle flushdns und registerdns ausführte. Dadurch wurde das Problem behoben. Der Grund dafür ist das Agein auf DNS selbst. Der DNS hat den Eintrag nach Ablauf des Mietvertrags nicht gelöscht und wurde nicht erneuert, wodurch der Name nicht aufgelöst werden konnte, da er dafür verkauft wurde. Ich hoffe, das hilft Ihnen bei der Behebung Ihrer Probleme.

Mohamed
quelle