Dela via


Beskrivning av DNSLint-verktyget

I den här artikeln beskrivs DNSLint-verktyget och dess syntax.

Gäller för: Windows Server 2012 R2
Ursprungligt KB-nummer: 321045

Sammanfattning

DNSLint är ett Microsoft Windows-verktyg som hjälper dig att diagnostisera vanliga dns-namnmatchningsproblem (Domain Name System).

Mer information om hur du laddar ned Microsoft Support filer finns i följande artikel:

119591 Hämta Microsoft Support-filer från onlinetjänster

Microsoft genomsökt den här filen efter virus. Microsoft använde den senaste virusidentifieringsprogramvaran som var tillgänglig samma dag som filen publicerades. Filen lagras på säkerhetsförbättrade servrar som hjälper till att förhindra obehöriga ändringar i filen.

DNSLint-funktioner

DNSLint har tre funktioner som verifierar DNS-poster och genererar en HTML-rapport. De tre funktionerna är:

  • dnslint /d: Diagnostiserar potentiella orsaker till "lam delegering" och andra relaterade DNS-problem.
  • dnslint /ql: Verifierar en användardefinierad uppsättning DNS-poster på flera DNS-servrar.
  • dnslint /ad: Verifierar DNS-poster som används specifikt för Active Directory-replikering.

DNSLint är ett kommandoradsverktyg. Syntaxen är:

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]  

Ange antingen /d, /adeller /ql när du kör DNSLint. Andra växlar är valfria.

Du använder växeln /d för att begära domännamnstester. Den här växeln är användbar när du felsöker problem med lame-delegering.

  • Ange ett domännamn som ska testas.
  • Du kan inte använda växeln /d med växeln /ad .

Du använder växeln /ad för att begära Active Directory-tester.

  • Växeln /ad matchar DNS-poster som används för AD-skogsreplikering.

  • Som standard används det lokala systemets LDAP-tjänst.

  • Du kan ange en fjärr-LDAP-server-IP-adress (valfritt).

  • Endast giltiga IP-adresser accepteras. Namn accepteras inte.
    Vanligtvis är det en Active Directory-domänkontrollant.

  • Använd växeln /ad med /s alternativet där /s anger IP-adressen för en DNS-server som är auktoritativ för _msdcs-zonen i AD-skogsroten.

  • Du kan inte använda växeln /ad med /d eller /c.

Du använder växeln /ql för att begära DNS-frågetester från en lista.

  • Växeln /ql skickar DNS-frågorna som anges i en textinmatningsfil

  • Ange sökvägen och namnet på indatafilen.

  • växeln /ql stöder A-, PTR-, CNAME-, SRV- och MX-postfrågor.

  • Du skapar en exempelindatafil genom att köra följande kommando:

    dnslint /ql autocreate  
    
  • Du kan inte använda växeln /ql med /d, /adeller /c.

Obs!

  • Du kan inte använda /d, /adoch /ql tillsammans.
  • Du kan inte använda /c tillsammans med /ad eller /ql.
  • När du använder /admåste du också ange /s.

Valfria växlar

Använd /c för att begära anslutningstester på e-postservrar.

  • Växeln /c testar SMTP-portar (Simple Mail Transfer Protocol), POP- och IMAP-portar på e-postservrar.
  • Som standard testas alla tre (SMTP-, POP- och IMAP-portarna). Du kan ange en eller en kombination. Det gör du genom att använda en kommaavgränsad lista: /c pop,imap,smtp.

Om du vill förhindra att rapporten öppnas automatiskt använder du /no_open. Växeln /no_open är användbar i skript.

Använd växeln /r för att ange namnet på den rapportfil som skapas.

  • Filnamnstillägget .htm läggs automatiskt till i rapportnamn.
  • Rapporten skapas i HTML-format. Standardnamnet är Dnslint.htm
  • Standardplatsen är den aktuella katalogen.

Använd växeln /s för att kringgå en InterNIC-sökning whois .

  • Du kan ange DNS-serverns IP-adress i stället för att fråga InterNIC om en.
  • Växeln /s börjar kontrollera DNS-poster med hjälp av den angivna IP-adressen.
  • Endast giltiga IP-adresser accepteras. Namn accepteras inte.
  • Använd det här alternativet om du vill kontrollera domännamn som inte stöds av InterNIC.
  • När du använder /admåste du använda /s för att ange en DNS-server som är auktoritativ för _msdcs-underdomänen i AD-skogens rotdomän.
  • När du använder /adkan du köra /s localhost för att avgöra om det lokala systemet kan matcha poster som finns i AD-testerna.

Använd /t för att begära utdata till en textfil.

  • Textfilen delar samma namn som .htm rapport, men den har ett filnamnstillägg för .txt.
  • Textfilen som skapats i samma katalog som den .htm rapportfilen.

Använd /test_tcp för att begära att testa TCP-port 53.

  • Som standard testas endast UDP-port 53.
  • Alternativet /test_tcp kontrollerar om TCP-port 53 svarar på frågor.
  • Alternativet /test_tcp kan inte användas med /ql.

Använd /v för att begära utförliga utdata till skärmen.

Använd /y för att skriva över en befintlig rapportfil utan att uppmanas att göra det. Växeln /y är användbar i skript.

Obligatoriska parametrar

Om du vill köra DNSLint måste du använda någon av följande tre parametrar:

  1. Använda /d för domännamnstester
  2. Använd /ad för Active Directory-replikeringstester.
  3. Använd /ql för tester som anges i en frågelista.

Använd växeln /d (domännamnstest) för att testa ett visst DNS-domännamn. Använd den här växeln för att diagnostisera problem med "lame delegering" och andra relaterade DNS-problem. Det domännamn som du testar kan vara:

  • Ett namn som är registrerat för användning på Internet.
  • Ett namn som används i ett privat namnområde.

När du testar domännamn i ett privat nätverk, eller domännamn som är registrerade på Internet som är mer än två nivåer djupa, måste du använda /s alternativet .

Använd växeln /ad (Active Directory-test) för att testa DNS-posterna som ansvarar för Active Directory-skogsreplikering. Efter växeln /ad anger du IP-adressen för en LDAP-server som används för det här testet. Vanligtvis är det en Active Directory-domänkontrollant. Om DNSLint körs på en domänkontrollant krävs ingen IP-adress eftersom standardvärdet för den här växeln är 127.0.0.1.

Använd växeln /ql (frågelisttest) för att testa de DNS-poster som anges i en textinmatningsfil. Ange den fullständiga sökvägen och namnet på textinmatningsfilen direkt efter växeln. Kör dnslint /ql autocreate för att generera en textinmatningsfil med namnet In-dnslint.txt. Den här filen innehåller en förklaring av det format som krävs. Du kan använda den här filen som en mall för att skapa andra indatafiler.

Fler valfria växlar

Växeln /v (utförlig) aktiverar "utförligt läge". Med den här växeln aktiverad matar DNSLint ut de steg som krävs för att samla in data på skärmen. Du kan skicka utdata till en fil. Till exempel dnslint /v /d msn.com. Som standard är namnet på rapporten som DNSLint genererar Dnslint.htm. Med växeln /r (rapport) kan du ange namn och plats för rapportfilen som DNSLint genererar. Du kan ge rapportfilen samma namn som domännamnet eller DNS-servern som testades. Filnamnstillägget ".htm" läggs automatiskt till i rapportnamnet eftersom rapporten är i HTML-format.

Som standard försöker DNSLint att automatiskt öppna rapportfilen när den har genererats, genom att använda det program som är associerat med rapportfilens .htm fil. Microsoft Internet Explorer är vanligtvis associerat med tillägget .htm. Det finns inget sätt att ändra rapportformatet till något annat än HTML med hjälp av DNSLint.

Om du vill definiera den plats som rapportfilen skrivs till anger du den fullständiga sökvägen och namnet på rapportfilen. DNSLint stöder både lokala enheter och UNC-sökvägar (Universal Naming Convention). Kommandot dnslint /d msn.com /r c:\reports\reskit skapar till exempel en rapport med namnet Reskit.htm i mappen C:\Reports. Kommandot dnslint /d mydom.local /r \\\server1\reports\mydom skapar en rapport på fjärrsystemet server1 i rapportresursen. Rapportnamnet är Mydom.htm.

Om du anger växeln /t (text) genererar DNSLint en textrapport och en HTML-rapport. Textrapporten använder samma namn som den .htm rapporten förutom att filnamnstillägget är .txt. Filen skapas i samma mapp som den .htm filen. Kommandot dnslint /d msn.com /r c:\reports\reskit /t skapar till exempel två rapporter i mappen C:\Reports. En rapport heter Reskit.htm och den andra kallas Reskit.txt.

När DNSLint identifierar att en rapportfil med samma namn som den som den ska generera redan finns i målmappen uppmanas du som standard av DNSLint att skriva över filen. Med alternativet /y kan DNSLint skriva över en befintlig rapportfil utan att du uppmanas att ange behörighet. Både .htm-filen och den valfria .txt-filen skrivs över när du använder det här alternativet.

Kommandot dnslint /y /d msn.com /r c:\reports\reskit /t skapar två rapporter i mappen C:\Reports. En rapport heter Reskit.htm och den andra kallas Reskit.txt. Befintliga rapportfiler skrivs över utan att du uppmanas att göra det.

Växeln /no_open hindrar DNSLint från att automatiskt öppna rapporten när den har genererats. Det här alternativet är användbart när du använder DNSLint i skript om du inte vill:

  • Granska rapporterna omedelbart.
  • Granska rapporterna från systemet som DNSLint kördes från.

Kommandot dnslint /y /d msn.com /no_open genererar till exempel en rapport med namnet Dnslint.htm som skriver över en befintlig rapport med samma namn, utan att användaren uppmanas att göra det. DNSLint öppnar inte rapporten automatiskt när den är klar.

/test_tcp Använd alternativet (testa TCP-port 53) för att begära att testa TCP-port 53 när /d används. Många DNS-servrar på Internet accepterar i dag inte DNS-frågor på TCP-port 53 för att undvika eventuella attacker på porten. Som standard testas endast UDP-port 53 när DNSLint körs. Om du anger /test_tcp alternativet hämtas DNSLint för att skicka en enskild DNS-fråga av TCP och rapportera om ett svar har tagits emot.

Du kan använda /test_tcp alternativet med /d och /ad. Du kan dock inte använda /test_tcp alternativet med /ql eller /ad/s localhost-kombinationen. /ql Med funktionen kan TCP-port 53 testas direkt från indatafilen. Funktionen /ad /s localhost testar om de lokalt konfigurerade DNS-servrarna kan matcha DNS-poster som används för Active Directory Forest-replikering. Du kan testa TCP-port 53-anslutningen med hjälp /ad/s av ip_addr i stället, där ip_addr är IP-adressen för en DNS-server som är auktoritativ för _msdcs-zonen i active directory-domänens rot.

Till exempel: dnslint /d microsoft.com /v /test_tcp

Växeln /c (anslutningstestet) begär att DNSLint testar välkända e-postportar på alla e-postservrar som hittas vid granskning av DNS-servrar för det angivna domännamnet. SMTP, Post Office Protocol (POP version 3) och Internet Message Access Protocol (IMAP version 4) stöds. När växeln /c har angetts försöker DNSLint som standard ansluta till alla tre portarna på varje e-postserver som hittas:

  • TCP-port 25 för SMTP
  • TCP-port 110 för POP
  • TCP-port 143 för IMAP

DNSLint rapporterar tillståndet som varje port är i: "Lyssnar", "Lyssnar inte" eller "Inget svar". Om DNSLint upptäcker att en port är Lyssnar returnerar den också svaret från porten. Om en SMTP-port till exempel lyssnar returneras vanligtvis ett svar som är konsekvent med SMTP-protokollspecifikationen, till exempel följande exempel:

220 mailsrv.contoso.com Microsoft ESMTP MAIL Service, version: 5.0.2195.3705 klar mån 13 maj 2002 17:08:36 -0700

När en port rapporteras som "Lyssnar inte" anger den att e-postservern som efterfrågas har svarat med ett TCP-paket med flaggan Återställ inställd. Det anger också att det inte finns någon tjänst eller program som lyssnar på porten.

"Inget svar" rapporteras när mål-e-postservern inte svarar på anslutningsförsöket. Om målservern fungerar och körs indikerar det att porten filtreras på:

  • Målservern.
  • Någonstans mellan klienten som kör DNSLint och målservern.

Kommandot dnslint /y /v /c /d msn.com genererar en rapport med namnet Dnslint.htm som skriver över en befintlig rapport med samma namn, utan att användaren uppmanas att göra det. Eftersom alternativet /c har angetts läggs ett extra avsnitt till längst ned i standard-DNSLint-rapporten:

Nätverksanslutningstester
E-postserver: smtp-gw-4.msn.com
IP-adress: 207.46.181.13

SMTP-svar:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, version:
5.0.2195.4905 klart tis den 14 maj 2002 09:26:06 -0700

POP-svar: INGET SVAR (eventuellt filtrerat)

IMAP-svar: INGET SVAR (eventuellt filtrerat)

Obs!

En eller flera POP-servrar svarade inte.
En eller flera IMAP-servrar svarade inte.

När en mål-e-postserver inte svarar på ett anslutningsförsök på någon av dess e-postportar försöker DNSLint ansluta igen tre gånger. Det är standardbeteende för en TCP-klient. Innan DNSLint anger att det inte fanns något svar väntar det på tre separata TCP-anslutningar som försöker överskrida tidsgränsen. Den här processen kan göra rapporten långsammare. För att optimera DNSLint-åtgärden kan du ange vilken e-postport eller vilka portar du vill kontrollera i stället för att alltid kontrollera alla tre portarna.

När alternativet har angetts kontrolleras som standard /c alla tre TCP-portar (25, 110, 143). Men du kan ange vilka portar som ska kontrolleras efter /c alternativet. Ange en kommaavgränsad lista direkt efter alternativet /c . Ange endast giltiga portar: smtp, pop, imap. Alla kombinationer av dessa tre portar fungerar. Kommandot dnslint /d contoso.com /c smtp anger till exempel att endast SMTP-porten (TCP-port 25) ska kontrolleras.

Kommandot dnslint /d contoso.com /c popsmtp anger att endast SMTP-porten (TCP-port 25) och POP-porten (TCP-port 110) ska kontrolleras.

Kommandot dnslint /d contoso.com /c imap, pop anger att endast IMAP-porten (TCP-port 143) och POP-porten (TCP-port 110) ska kontrolleras.

Du kan använda växeln /s (server) med /d funktionerna och /ad . Växeln /s har flera syften, men den tar bara en typ av data, en giltig IP-adress för en DNS-server (med ett undantag).

När du anger /d/s kringgår alternativet den InterNIC-sökning Whois som DNSLint gör som standard. Därför kan DNSLint köra tester på privata nätverk och på domännamn som är djupare än domänerna på andra nivån på Internet. DNSLint kan också testa domännamn som inte stöds av InterNIC. När den här artikeln skrevs stödde Whois InterNIC sökningar för följande domäner: .biz, , .com.coop, .edu, .info, .int, , .museum, .netoch .org.

När du använder /adanvänds växeln /s för att ange IP-adressen för en DNS-server som är auktoritativ för underdomänen där DNS-poster som används för Active Directory-skogsreplikering registreras. Vanligtvis är det den _msdcs underdomänen under roten i Active Directory-skogen. Om till exempel roten i Active Directory-skogen heter myad.contoso.comkan dns-servern som är värd för den här domänen _msdcs.myad.contoso.com också vara auktoritativ för zonen. I zonen registreras de DNS-poster som används i Active Directory-replikering. Eller så _msdcs.myad.contoso.com kan zonen delegeras till en annan DNS-server. Men DNS-infrastrukturen har utformats /s används alternativet för att ange en DNS-server som är auktoritativ för _msdcs.myad.contoso.com zonen.

Alternativet /s måste ange en giltig IP-adress. Det enda undantaget till den här regeln är följande kombination: dnslint /ad /s localhost

"localhost" är inte en giltig IP-adress. När du anger den /ad /s här parametern med kombinationen testar DNSLint det lokala systemets (det system som kör DNSLint) möjlighet att matcha DNS-posterna som används för Active Directory-skogsreplikering. Rekursiva DNS-frågor skickas till det lokala systemets konfigurerade DNS-servrar för att bekräfta att det lokala systemet kan matcha DNS-posterna som används för Active Directory-skogsreplikering. Det kan vara användbart när du felsöker Active Directory-replikeringsproblem på en viss domänkontrollant.

Normalt efterfrågas inte alla av det lokala systemets konfigurerade DNS-servrar under den här processen. Standardbeteendet för DNS-klientmatchare observeras. Om DNS-servern högst upp i det lokala systemets DNS-serverlista inte svarar används nästa server i listan.