Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft bei der Behandlung von Problemen mit der Dns-Clientnamenauflösung .This article helps troubleshoot Domain Name System (DNS) client name resolution issues.
Dns-Lösungsprobleme (Domain Name System) können für die folgenden drei primären Ursachen auftreten:
- DNS-Clientprobleme oder -konfigurationen.
- DNS-Serverprobleme oder -konfigurationen.
- Zwischengeräte oder Konfigurationen zwischen einem DNS-Client und einem DNS-Server oder zwischen einem DNS-Server und externen Resolvern (z. B. Stammhinweise, Weiterleitungen und bedingten Weiterleitungen), die möglicherweise eine weitere Untersuchung erfordern.
Notiz
Dieser Artikel konzentriert sich auf DNS-Lösungsprobleme, die durch DNS-Clientprobleme oder -konfigurationen verursacht werden. Informationen zu DNS-Serverproblemen finden Sie unter Problembehandlung für DNS-Server.
DNS-Lösungsprobleme können in den folgenden Szenarien auftreten:
Szenario 1: Firewallregel blockiert ausgehende Verbindungen auf UDP-Port 53
Gehen Sie davon aus, dass es eine ausgehende Firewallregel gibt, die ausgehende Verbindungen mit DEM UDP-Port 53 (User Datagram Protocol) blockiert.
In diesem Fall wird beim Ausführen des Resolve-DnsName contoso.com
PowerShell-Cmdlets mit Wireshark die folgende Fehlermeldung angezeigt:
resolve-dnsname : contoso.com : This operation returned because the timeout period expired
At line:1 char:1
+ resolve-dnsname contoso.com
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationTimeout: (contoso.com:String) [Resolve-DnsName], Win32Exception
+ FullyQualifiedErrorId : ERROR_TIMEOUT,Microsoft.DnsClient.Commands.ResolveDnsName
Wenn Sie die Wireshark-Ablaufverfolgung überprüfen, gibt es keinen ausgehenden DNS-Datenverkehr an den Domänencontroller (DC).
Überprüfen Sie in diesem Fall die Windows-Firewallregeln, und überprüfen Sie alle Sicherheitsprodukte von Drittanbietern auf Paketabbrüche auf UDP- oder TCP-Port 53 (Transmission Control Protocol).
Wenn Sie eine DNS-Auflösungsanforderung ohne Antwort bemerken, ist es hilfreich, Wireshark-Ablaufverfolgungen von einem Switch mithilfe der Portspiegelung zu sammeln, um zu bestätigen, dass das DNS UDP-Paket den Clientcomputer verlassen hat. Die Anforderungen ähneln den folgenden Anforderungen:
139 3.149039 10.0.1.10 10.0.1.2 DNS 71 Standard query 0xcdc6 A contoso.com
140 3.149192 10.0.1.10 10.0.1.2 DNS 71 Standard query 0x8168 AAAA contoso.com
Hierbei handelt es sich um Standardabfrageanforderungen für Host A und Host AAAA ohne Antwort. Die Überprüfung der Ablaufverfolgung kann das Problem isolieren. Wenn das UDP-Paket auf dem Switch angezeigt wird, bedeutet dies, dass das Paket den Clientcomputer bereits verlassen hat und das Problem über den Clientcomputer hinausgeht.
Szenario 2: Es gibt einen Eintrag für den Domänennamen in der Hosts-Datei.
Gehen Sie davon aus, dass die Hosts-Datei unter C:\Windows\System32\drivers\usw . einen Eintrag für den Domänennamen aufweist, den Sie auflösen möchten. Zum Beispiel:
192.168.1.10
contoso.com
In diesem Fall erhalten Sie beim Auflösen des Domänennamens contoso.com
, in dem Wireshark ausgeführt wird, die folgende Ausgabe:
PS C:\Windows\System32\drivers\etc> Resolve-DnsName contoso.com
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
contoso.com A 60440 Answer 192.168.1.10
Darüber hinaus kann kein Datenverkehr in Wireshark erkannt werden.
Dies liegt daran, dass der DNS-Client beim Auflösen von Namen die folgende Sequenz verwendet:
- Überprüfen Sie den Cache.
- Überprüfen Sie die Hosts-Datei.
- Senden Sie die Abfrage an den DNS-Server.
Da in der Hosts-Datei ein Eintrag vorhanden ist, fragt der DNS-Clientdienst den DNS-Server nicht ab.
Szenario 3: Der Client verweist auf einen falschen oder nicht erreichbaren DNS-Server.
Gehen Sie davon aus, dass der DNS-Server auf der Netzwerkschnittstellenkarte (Network Interface Card, NIC) des DNS-Clients mit der IP eines nicht erreichbaren DNS-Servers konfiguriert ist. Die Client-IP-Konfiguration sieht wie im folgenden Beispiel aus:
IPv4 Address. . . . . . . . . . . : 10.0.1.10<Preferred>
Default Gateway . . . . . . . . . : 10.0.1.1
DNS Servers . . . . . . . . . . . : 192.168.0.1
Da der DNS-Server nicht erreichbar ist, empfängt der Client keine Antwort und führt zu einem Timeout der Abfrage. Dieses Timeout kann in Wireshark beobachtet werden. Die DNS-Standardabfragen ohne Antwort:
439 14.482923 10.0.1.10 192.168.0.1 DNS 71 Standard query 0xa384 A contoso.com
440 14.482923 10.0.1.10 192.168.0.1 DNS 71 Standard query 0x4fe0 AAAA contoso.com
In diesem Fall erhalten Sie beim Ausführen des Resolve-DnsName contoso.com
PowerShell-Cmdlets die folgende Ausgabe:
PS C:\Windows\System32\drivers\etc> Resolve-DnsName contoso.com
Resolve-DnsName : contoso.com : This operation returned because the timeout period expired
At line:1 char:1
+ Resolve-DnsName contoso.com
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationTimeout: (contoso.com:String) [Resolve-DnsName], Win32Exception
+ FullyQualifiedErrorId : ERROR_TIMEOUT,Microsoft.DnsClient.Commands.ResolveDnsName
Szenario 4: Mehrere DNS-Server sind auf der NIC konfiguriert, von denen einige nicht erreichbar sind.
Gehen Sie davon aus, dass die Client-DNS-Einstellungen wie folgt mit einigen nicht erreichbaren DNS-Servern konfiguriert sind:
DNS Servers . . . . . . . . . . . : 192.168.0.1
172.16.1.1
192.168.1.20
10.0.1.2
Wenn Sie in diesem Fall eine DNS-Auflösung mithilfe des Resolve-DnsName contoso.com
PowerShell-Cmdlets ausführen, sind alle diese DNS-Serveradressen außer 10.0.1.2
erreichbar.
Standardmäßig sendet der DNS-Client diese Abfrage an die DNS-Server, die in einer bestimmten Reihenfolge konfiguriert sind, und wartet innerhalb einer bestimmten Nachfrist auf eine Antwort.
Dieser Prozess kann in Wireshark mit dem Filter dns.qry.name == contoso.com
gesehen werden.
Die Wireshark-Ausgabe zeigt, dass die Abfrage fast vier Sekunden dauert, bis sie abgeschlossen ist. Aus Netzwerkperspektive kann diese Dauer lang sein und kann dazu führen, dass einige Anwendungen zeitüberschreitungen.
30 03:56:58.634623 10.0.1.10 192.168.0.1 DNS 71 Standard query 0x9f32 A contoso.com
33 03:56:59.643171 10.0.1.10 172.16.1.1 DNS 71 Standard query 0x9f32 A contoso.com
38 03:57:02.646443 10.0.1.10 192.168.0.1 DNS 71 Standard query 0x9f32 A contoso.com
42 03:57:02.646556 10.0.1.10 172.16.1.1 DNS 71 Standard query 0x9f32 A contoso.com
43 03:57:02.646573 10.0.1.10 192.168.1.20 DNS 71 Standard query 0x9f32 A contoso.com
47 03:57:02.646684 10.0.1.10 10.0.1.2 DNS 71 Standard query 0x9f32 A contoso.com
Notiz
In diesem Szenario gilt die Verwendung nslookup
nicht und schlägt immer fehl. Dies liegt daran, dass nslookup
nslookup.exe verwendet, um nur den primären DNS-Server zu kontaktieren, der in diesem Fall konfiguriert ist 192.168.0.1
.
Szenario 5: Suchliste für lange DNS-Suffixe
Gehen Sie davon aus, dass die DNS-Suffixsuchliste auf dem DNS-Client wie folgt konfiguriert ist:
Notiz
contoso.com
ist das richtige DNS-Suffix.
DNS Suffix Search List. . . . . . : microsoft.com
ms.com
azure.com
ms.local
contoso.local
contoso.com
Wenn Sie in diesem Fall eine Namensauflösung mithilfe des Resolve-DnsName internal
PowerShell-Cmdlets ausführen, fügt der DNS-Client die DNS-Suffixe in der Reihenfolge an, was möglicherweise zu Verzögerungen führt, wenn die erforderliche Abfrage in der Liste niedriger ist. Mithilfe des Filters dns.qry.name contains internal
in Wireshark wird die Abfrage wie folgt angezeigt:
116 04:33:38.164251 10.0.1.10 10.0.1.2 DNS 82 Standard query 0xc557 A internal.microsoft.com
120 04:33:38.177186 10.0.1.10 10.0.1.2 DNS 75 Standard query 0x0a4b A internal.ms.com
124 04:33:38.453625 10.0.1.10 10.0.1.2 DNS 78 Standard query 0x4245 A internal.azure.com
128 04:33:38.466154 10.0.1.10 10.0.1.2 DNS 77 Standard query 0xfaca A internal.ms.local
131 04:33:38.471033 10.0.1.10 10.0.1.2 DNS 82 Standard query 0xa9d6 A internal.contoso.local
136 04:33:38.476248 10.0.1.10 10.0.1.2 DNS 80 Standard query 0x611f A internal.contoso.com
Notiz
Wenn Sie eine bestimmte Abfrage testen müssen, können Sie am Ende einen nachgestellten Punkt (.) hinzufügen. Beispiel: internal.contoso.com.
Messen der Dauer einer DNS-Auflösungsabfrage
Führen Sie das folgende PowerShell-Cmdlet aus, um die Zeit zu messen, die für eine DNS-Auflösungsabfrage erforderlich ist:
Notiz
Ein Ergebnis unter einer Sekunde gilt als akzeptabel.
(Measure-Command {Resolve-DnsName -Name contoso.com -Server <IP Address> -DnsOnly}).TotalMilliseconds
Informationen zum Haftungsausschluss von Drittanbietern
Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.