Beschreibung des DNSLint-Hilfsprogramms

In diesem Artikel werden das Hilfsprogramm DNSLint und seine Syntax beschrieben.

Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 321045

Zusammenfassung

DNSLint ist ein Microsoft Windows-Hilfsprogramm, mit dem Sie häufige Probleme bei der Dns-Namensauflösung (Domain Name System) diagnostizieren können.

Weitere Informationen zum Herunterladen Microsoft-Support Dateien finden Sie im folgenden Artikel:

119591 Abrufen von Microsoft-Support Dateien aus Onlinediensten

Microsoft hat diese Datei auf Viren überprüft. Microsoft verwendete die aktuellste Virenerkennungssoftware, die zum Zeitpunkt der Veröffentlichung der Datei verfügbar war. Die Datei wird auf Servern mit verbesserter Sicherheit gespeichert, die dazu beitragen, nicht autorisierte Änderungen an der Datei zu verhindern.

DNSLint-Funktionen

DNSLint verfügt über drei Funktionen, die DNS-Einträge überprüfen und einen HTML-Bericht generieren. Die drei Funktionen sind:

  • dnslint /d: Diagnostiziert mögliche Ursachen für "lahme Delegierung" und andere damit verbundene DNS-Probleme.
  • dnslint /ql: Überprüft einen benutzerdefinierten Satz von DNS-Einträgen auf mehreren DNS-Servern.
  • dnslint /ad: Überprüft DNS-Einträge, die speziell für die Active Directory-Replikation verwendet werden.

DNSLint ist ein Befehlszeilenhilfsprogramm. Die Syntax lautet:

dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file [/c [smtp,pop,imap]] [/no_open] [/r report_name] [/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]  

Geben Sie entweder /d, /adoder /ql an, wenn Sie DNSLint ausführen. Andere Schalter sind optional.

Sie verwenden den /d Switch, um Domänennamenstests anzufordern. Dieser Schalter ist nützlich, wenn Sie Probleme mit der lahmen Delegierung beheben.

  • Geben Sie einen zu testden Domänennamen an.
  • Sie können den /d Schalter nicht mit dem /ad Schalter verwenden.

Sie verwenden den /ad Switch, um Active Directory-Tests anzufordern.

  • Der /ad Switch löst DNS-Einträge auf, die für die AD-Gesamtstrukturreplikation verwendet werden.

  • Standardmäßig wird der LDAP-Dienst des lokalen Systems verwendet.

  • Sie können eine REMOTE-LDAP-Server-IP-Adresse angeben (optional).

  • Es werden nur gültige IP-Adressen akzeptiert. Namen werden nicht akzeptiert.
    In der Regel handelt es sich um einen Active Directory-Domänencontroller.

  • Verwenden Sie den /ad Switch mit der /s Option, wobei /s die IP-Adresse eines DNS-Servers angibt, der für die _msdcs Zone im STAMM der AD-Gesamtstruktur autoritativ ist.

  • Sie können den /ad Schalter nicht mit /d oder /cverwenden.

Sie verwenden den /ql Switch, um DNS-Abfragetests aus einer Liste anzufordern.

  • Der /ql Switch sendet die in einer Texteingabedatei angegebenen DNS-Abfragen.

  • Geben Sie den Pfad und namen der Eingabedatei an.

  • Der /ql Switch unterstützt A-, PTR-, CNAME-, SRV- und MX-Eintragsabfragen.

  • Sie erstellen eine Beispieleingabedatei, indem Sie den folgenden Befehl ausführen:

    dnslint /ql autocreate  
    
  • Sie können den /ql Schalter nicht mit /d, /adoder /cverwenden.

Hinweis

  • Sie können , /adund /ql nicht zusammen verwenden/d.
  • Sie können nicht zusammen mit /ad oder /qlverwenden/c.
  • Wenn Sie verwenden /ad, müssen Sie auch angeben /s.

Optionale Schalter

Verwenden Sie /c , um Konnektivitätstests auf E-Mail-Servern anzufordern.

  • Der /c Switch testet SMTP(Simple Mail Transfer Protocol), POP- und IMAP-Ports auf gefundenen E-Mail-Servern.
  • Standardmäßig werden alle drei (SMTP-, POP- und IMAP-Ports) getestet. Sie können eine oder eine Kombination angeben. Verwenden Sie dazu eine durch Trennzeichen getrennte Liste: /c pop,imap,smtp.

Verwenden Sie /no_open, um zu verhindern, dass der Bericht automatisch geöffnet wird. Der /no_open Schalter ist in Skripts nützlich.

Verwenden Sie den /r Schalter, um den Namen der erstellten Berichtsdatei anzugeben.

  • Die .htm Dateinamenerweiterung wird automatisch den Berichtsnamen hinzugefügt.
  • Der Bericht wird im HTML-Format erstellt. Der Standardname lautet Dnslint.htm
  • Der Standardspeicherort ist das aktuelle Verzeichnis.

Verwenden Sie den /s Schalter, um eine InterNIC-Suche whois zu umgehen.

  • Sie können die IP-Adresse des DNS-Servers angeben, anstatt interNIC danach abfragen zu müssen.
  • Der /s Switch beginnt mit der Überprüfung von DNS-Einträgen mithilfe der angegebenen IP-Adresse.
  • Es werden nur gültige IP-Adressen akzeptiert. Namen werden nicht akzeptiert.
  • Verwenden Sie diese Option, um Domänennamen zu überprüfen, die von InterNIC nicht unterstützt werden.
  • Wenn Sie verwenden /ad, müssen Sie verwenden /s , um einen DNS-Server anzugeben, der für die _msdcs Unterdomäne in der Stammdomäne der AD-Gesamtstruktur autoritativ ist.
  • Wenn Sie verwenden /ad, können Sie localhost ausführen /s , um zu bestimmen, ob das lokale System Datensätze auflösen kann, die in den AD-Tests gefunden wurden.

Verwenden Sie /t , um eine Ausgabe in eine Textdatei anzufordern.

  • Die Textdatei hat den gleichen Namen wie der .htm Bericht, hat aber eine .txt Dateinamenerweiterung.
  • Die Textdatei, die im selben Verzeichnis wie die .htm Berichtsdatei erstellt wird.

Verwenden Sie /test_tcp , um den TCP-Port 53 anzufordern.

  • Standardmäßig wird nur UDP-Port 53 getestet.
  • Die /test_tcp Option überprüft, ob TCP-Port 53 auf Abfragen reagiert.
  • Die /test_tcp Option kann nicht mit /qlverwendet werden.

Verwenden Sie /v , um eine ausführliche Ausgabe auf dem Bildschirm anzufordern.

Verwenden Sie /y , um eine vorhandene Berichtsdatei ohne Aufforderung zu überschreiben. Der /y Schalter ist in Skripts nützlich.

Erforderliche Parameter

Zum Ausführen von DNSLint müssen Sie einen der drei folgenden Parameter verwenden:

  1. Verwenden sie /d für Domänennamentests
  2. Verwenden Sie /ad für Active Directory-Replikationstests.
  3. Wird /ql für Tests verwendet, die in einer Abfrageliste angegeben sind.

Verwenden Sie den /d Schalter (Domänennamentest), um einen bestimmten DNS-Domänennamen zu testen. Verwenden Sie diesen Schalter, um Probleme mit der "lahmen Delegierung" und andere verwandte DNS-Probleme zu diagnostizieren. Der von Ihnen getestete Domänenname kann wie folgt sein:

  • Ein Name, der für die Verwendung im Internet registriert ist.
  • Ein Name, der in einem privaten Namespace verwendet wird.

Wenn Sie Domänennamen in einem privaten Netzwerk oder im Internet registrierte Domänennamen testen, die mehr als zwei Ebenen tief sind, müssen Sie die /s Option verwenden.

Verwenden Sie den /ad Schalter (Active Directory-Test), um die DNS-Einträge zu testen, die für die Active Directory-Gesamtstrukturreplikation verantwortlich sind. Geben Sie nach dem /ad Switch die IP-Adresse eines LDAP-Servers an, der für diesen Test verwendet wird. In der Regel handelt es sich um einen Active Directory-Domänencontroller. Wenn DNSLint auf einem Domänencontroller ausgeführt wird, ist keine IP-Adresse erforderlich, da der Standardwert für diesen Switch 127.0.0.1 ist.

Verwenden Sie den /ql Schalter (Abfragelistentest), um die in einer Texteingabedatei angegebenen DNS-Einträge zu testen. Geben Sie den vollständigen Pfad und namen der Texteingabedatei unmittelbar nach dem Schalter an. Führen Sie aus dnslint /ql autocreate , um eine Beispieltexteingabedatei namens In-dnslint.txt zu generieren. Diese Datei enthält eine Erläuterung zum erforderlichen Format. Sie können diese Datei als Vorlage verwenden, um andere Eingabedateien zu erstellen.

Weitere optionale Schalter

Der /v (ausführliche) Schalter aktiviert den "ausführlichen Modus". Wenn dieser Schalter aktiviert ist, gibt DNSLint die Schritte aus, die zum Sammeln von Daten auf dem Bildschirm ausgeführt werden. Sie können diese Ausgabe an eine Datei senden. Beispiel: dnslint /v /d msn.com. Standardmäßig ist der Name des Berichts, den DNSLint generiert, Dnslint.htm. Mit dem /r Schalter (Bericht) können Sie den Namen und speicherort der Berichtsdatei angeben, die DNSLint generiert. Sie können der Berichtsdatei den gleichen Namen wie den getesteten Domänennamen oder DNS-Server zuordnen. Die Dateinamenerweiterung ".htm" wird automatisch an den Berichtsnamen angefügt, da der Bericht im HTML-Format vorliegt.

Standardmäßig versucht DNSLint, die Berichtsdatei automatisch zu öffnen, nachdem sie generiert wurde, indem das Programm verwendet wird, das der .htm-Datei der Berichtsdatei zugeordnet ist. In der Regel ist Microsoft Internet Explorer der .htm-Erweiterung zugeordnet. Es gibt keine Möglichkeit, das Berichtsformat mit DNSLint in etwas anderes als HTML zu ändern.

Um den Speicherort zu definieren, an den die Berichtsdatei geschrieben wird, geben Sie den vollständigen Pfad und namen der Berichtsdatei an. DNSLint unterstützt sowohl lokale Laufwerke als auch UNC-Pfade (Universal Naming Convention). Der Befehl dnslint /d msn.com /r c:\reports\reskit erstellt beispielsweise einen Bericht namens Reskit.htm im Ordner C:\Reports. Der Befehl dnslint /d mydom.local /r \\\server1\reports\mydom erstellt einen Bericht auf dem Remotesystem mit dem Namen server1 in der Berichtsfreigabe. Der Berichtsname ist Mydom.htm.

Wenn Sie den /t Schalter (Text) angeben, generiert DNSLint einen Textbericht und einen HTML-Bericht. Der Textbericht verwendet denselben Namen wie der .htm Bericht, mit der Ausnahme, dass die Dateinamenerweiterung .txt ist. Die Datei wird im selben Ordner wie die .htm-Datei erstellt. Der Befehl dnslint /d msn.com /r c:\reports\reskit /t erstellt beispielsweise zwei Berichte im Ordner C:\Reports. Ein Bericht wird als Reskit.htm und der andere als Reskit.txt bezeichnet.

Wenn DNSLint erkennt, dass eine Berichtsdatei mit demselben Namen wie die, die generiert werden soll, bereits im Zielordner vorhanden ist, fordert DNSLint Sie auf, die Datei zu überschreiben. Mit der /y Option kann DNSLint eine vorhandene Berichtsdatei überschreiben, ohne Sie zur Berechtigung aufzufordern. Sowohl die .htm-Datei als auch die optionale .txt-Datei werden überschrieben, wenn Sie diese Option verwenden.

Der Befehl dnslint /y /d msn.com /r c:\reports\reskit /t erstellt zwei Berichte im Ordner C:\Reports. Ein Bericht wird als Reskit.htm und der andere als Reskit.txt bezeichnet. Vorhandene Berichtsdateien werden ohne Aufforderung überschrieben.

Der /no_open Schalter verhindert, dass DNSLint den Bericht automatisch öffnet, nachdem er generiert wurde. Diese Option ist nützlich, wenn Sie DNSLint in Skripts verwenden, wenn Sie folgendes nicht möchten:

  • Überprüfen Sie die Berichte sofort.
  • Überprüfen Sie die Berichte des Systems, von dem DNSLint ausgeführt wurde.

Der Befehl dnslint /y /d msn.com /no_open generiert beispielsweise einen Bericht namens Dnslint.htm, der einen bereits vorhandenen Bericht mit demselben Namen überschreibt, ohne den Benutzer dazu aufzufordern. DNSLint öffnet den Bericht nicht automatisch, wenn er abgeschlossen ist.

Verwenden Sie die /test_tcp Option (TCP-Port 53 testen), um anzufordern, tcp-Port 53 zu testen, wenn /d verwendet wird. Viele DNS-Server im Internet akzeptieren heutzutage keine DNS-Abfragen an TCP-Port 53, um mögliche Angriffe auf diesen Port zu vermeiden. Standardmäßig wird nur UDP-Port 53 getestet, wenn DNSLint ausgeführt wird. Wenn Sie die /test_tcp Option angeben, wird DNSLint abgerufen, um eine einzelne DNS-Abfrage per TCP zu senden und zu melden, ob eine Antwort empfangen wurde.

Sie können die /test_tcp Option mit /d und /adverwenden. Sie können die /test_tcp Option jedoch nicht mit /ql oder der /ad/s Localhost-Kombination verwenden. Mit der /ql Funktion kann TCP-Port 53 direkt aus der Eingabedatei getestet werden. Die /ad /s localhost Funktion testet, ob die lokal konfigurierten DNS-Server DNS-Einträge auflösen können, die für die Replikation der Active Directory-Gesamtstruktur verwendet werden. Sie können die TCP-Port 53-Konnektivität stattdessen mithilfe /ad/s von ip_addr testen, wobei ip_addr die IP-Adresse eines DNS-Servers ist, der für die _msdcs Zone im Stamm der Active Directory-Domäne autoritativ ist.

Beispiel: dnslint /d microsoft.com /v /test_tcp

Der /c Switch (Konnektivitätstest) fordert an, dass DNSLint bekannte E-Mail-Ports auf allen gefundenen E-Mail-Servern testet, während DNS-Server auf den angegebenen Domänennamen überprüft werden. Smtp, Post Office Protocol (POP Version 3) und Internet Message Access Protocol (IMAP Version 4) werden unterstützt. Wenn der /c Switch angegeben ist, versucht DNSLint standardmäßig, eine Verbindung mit allen drei Ports auf jedem gefundenen E-Mail-Server herzustellen:

  • TCP-Port 25 für SMTP
  • TCP-Port 110 für POP
  • TCP-Port 143 für IMAP

DNSLint meldet den Status, in dem sich jeder Port befindet: "Listening", "Not Listening" oder "No Response". Wenn DNSLint feststellt, dass ein Port lauscht, wird auch die Antwort vom Port zurückgegeben. Wenn beispielsweise ein SMTP-Port lauscht, wird in der Regel eine Antwort zurückgegeben, die mit der SMTP-Protokollspezifikation konsistent ist, wie im folgenden Beispiel:

220 mailsrv.contoso.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.3705 bereit am Mo, 13 Mai 2002 17:08:36 -0700

Wenn ein Port als "Nicht lauschend" gemeldet wird, gibt dies an, dass der abgefragte E-Mail-Server mit einem TCP-Paket mit festgelegtem Zurücksetzungsflag geantwortet hat. Es weist auch darauf hin, dass kein Dienst oder Programm am Port lauscht.

"Keine Antwort" wird gemeldet, wenn der E-Mail-Zielserver nicht auf den Verbindungsversuch reagiert. Wenn der Zielserver betriebsbereit ist und ausgeführt wird, gibt dies an, dass der Port gefiltert wird:

  • Der Zielserver.
  • Irgendwo zwischen dem Client, auf dem DNSLint ausgeführt wird, und dem Zielserver.

Der Befehl dnslint /y /v /c /d msn.com generiert einen Bericht namens Dnslint.htm, der einen bereits vorhandenen Bericht mit demselben Namen überschreibt, ohne dass der Benutzer dazu aufgefordert wird. Da die /c Option angegeben ist, wird am Ende des DNSLint-Standardberichts ein zusätzlicher Abschnitt angefügt:

Netzwerkkonnektivitätstests
E-Mail-Server: smtp-gw-4.msn.com
IP-Adresse: 207.46.181.13

SMTP-Antwort:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, Version:
5.0.2195.4905 bereit am Di, 14 Mai 2002 09:26:06 -0700

POP-Antwort: NO RESPONSE (möglicherweise gefiltert)

IMAP-Antwort: NO RESPONSE (möglicherweise gefiltert)

Hinweis

Mindestens ein POP-Server hat nicht geantwortet.
Mindestens ein IMAP-Server hat nicht geantwortet.

Wenn ein E-Mail-Zielserver nicht auf einen Verbindungsversuch an einem seiner E-Mail-Ports reagiert, wiederholt DNSLint die Verbindung dreimal. Dies ist das Standardverhalten für einen TCP-Client. Bevor DNSLint angibt, dass "Keine Antwort" aufgetreten ist, wartet es auf drei separate TCP-Verbindungsversuche, um ein Timeout zu erzielen. Dieser Prozess kann den Abschluss des Berichts verlangsamen. Um den DNSLint-Vorgang zu optimieren, können Sie angeben, welche E-Mail-Ports Sie überprüfen möchten, anstatt immer alle drei Ports zu überprüfen.

Wenn die /c Option angegeben ist, werden standardmäßig alle drei TCP-Ports (25, 110, 143) überprüft. Sie können jedoch angeben, welche Ports nach der /c Option überprüft werden sollen. Geben Sie unmittelbar nach der /c Option eine durch Trennzeichen getrennte Liste an. Geben Sie nur gültige Ports an: smtp, pop, imap. Jede Kombination dieser drei Ports funktioniert. Der Befehl dnslint /d contoso.com /c smtp gibt beispielsweise an, dass nur der SMTP-Port (TCP-Port 25) überprüft werden soll.

Der Befehl dnslint /d contoso.com /c popsmtp gibt an, dass nur der SMTP-Port (TCP-Port 25) und der POP-Port (TCP-Port 110) überprüft werden sollen.

Der Befehl dnslint /d contoso.com /c imap, pop gibt an, dass nur der IMAP-Port (TCP-Port 143) und der POP-Port (TCP-Port 110) überprüft werden sollen.

Sie können den /s Switch (Server) mit den /d Funktionen und /ad verwenden. Der /s Switch hat mehrere Zwecke, verwendet aber nur einen Datentyp, eine gültige IP-Adresse eines DNS-Servers (mit einer Ausnahme).

Wenn Sie angeben /d, umgeht die /s Option die InterNIC-Suche Whois , die DNSLint standardmäßig durchführt. Daher kann DNSLint Tests in privaten Netzwerken und domänennamen ausführen, die tiefer als die Domänen der zweiten Ebene im Internet sind. DNSLint kann auch Domänennamen testen, die von InterNIC nicht unterstützt werden. Zu dem Zeitpunkt, zu dem dieser Artikel geschrieben wurde, unterstützte Whois InterNIC Suchvorgänge für die folgenden Domänen: .biz, .com, .coop, .edu, .info, .net.int.museum, und .org.

Wenn Sie verwenden /ad, wird der /s Switch verwendet, um die IP-Adresse eines DNS-Servers anzugeben, der für die Unterdomäne autoritativ ist, in der DNS-Einträge, die für die Replikation der Active Directory-Gesamtstruktur verwendet werden, registriert werden. In der Regel handelt es sich um die _msdcs Unterdomäne unter dem Stamm der Active Directory-Gesamtstruktur. Wenn der Stamm der Active Directory-Gesamtstruktur beispielsweise heißt myad.contoso.com, kann der DNS-Server, der diese Domäne hostet, auch für die _msdcs.myad.contoso.com Zone autoritativ sein. In der Zone werden die bei der Active Directory-Replikation verwendeten DNS-Einträge registriert. Alternativ kann die _msdcs.myad.contoso.com Zone an einen anderen DNS-Server delegiert werden. Unabhängig davon, wie die DNS-Infrastruktur entworfen wurde, wird die /s Option verwendet, um einen DNS-Server anzugeben, der für die _msdcs.myad.contoso.com Zone autoritativ ist.

Die /s Option muss eine gültige IP-Adresse angeben. Die einzige Ausnahme von dieser Regel ist die folgende Kombination: dnslint /ad /s localhost

"localhost" ist keine gültige IP-Adresse. Wenn Sie diesen Parameter mit der /ad /s Kombination angeben, testet DNSLint die Fähigkeit des lokalen Systems (das System, auf dem DNSLint ausgeführt wird), die DNS-Einträge aufzulösen, die für die Replikation der Active Directory-Gesamtstruktur verwendet werden. Rekursive DNS-Abfragen werden an die konfigurierten DNS-Server des lokalen Systems gesendet, um zu bestätigen, dass das lokale System die dns-Einträge auflösen kann, die für die Active Directory-Gesamtstrukturreplikation verwendet werden. Dies kann bei der Behandlung von Problemen mit der Active Directory-Replikation auf einem bestimmten Domänencontroller hilfreich sein.

In der Regel werden während dieses Prozesses nicht alle konfigurierten DNS-Server des lokalen Systems abgefragt. Das Standardverhalten des DNS-Clientkonfliktlösers wird beobachtet. Wenn der DNS-Server am Anfang der DNS-Serverliste des lokalen Systems nicht antwortet, wird der nächste Server in der Liste verwendet.