Opis narzędzia DNSLint

W tym artykule opisano narzędzie DNSLint i jego składnię.

Dotyczy: Windows Server 2012 R2
Oryginalny numer KB: 321045

Podsumowanie

DNSLint to narzędzie systemu Microsoft Windows, które ułatwia diagnozowanie typowych problemów z rozpoznawaniem nazw systemu NAZW DOMEN (DNS).

Aby uzyskać więcej informacji na temat pobierania plików pomoc techniczna firmy Microsoft, zobacz następujący artykuł:

119591 Jak uzyskać pliki pomoc techniczna firmy Microsoft z usług online

Firma Microsoft przeskanowała ten plik pod kątem wirusów. Firma Microsoft użyła najnowszego oprogramowania do wykrywania wirusów, które było dostępne w dniu opublikowania pliku. Plik jest przechowywany na serwerach z rozszerzonymi zabezpieczeniami, które pomagają zapobiec nieautoryzowanym zmianom w pliku.

Funkcje DNSLint

System DNSLint ma trzy funkcje, które weryfikują rekordy DNS i generują raport HTML. Trzy funkcje to:

  • dnslint /d: Diagnozuje potencjalne przyczyny "lame delegowania" i innych powiązanych problemów DNS.
  • dnslint /ql: weryfikuje zdefiniowany przez użytkownika zestaw rekordów DNS na wielu serwerach DNS.
  • dnslint /ad: weryfikuje rekordy DNS używane specjalnie do replikacji usługi Active Directory.

DNSLint to narzędzie wiersza polecenia. Składnia to:

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]  

Określ wartość /d, /adlub /ql po uruchomieniu elementu DNSLint. Inne przełączniki są opcjonalne.

Użyj przełącznika, /d aby zażądać testów nazw domen. Ten przełącznik jest przydatny podczas rozwiązywania problemów z delegowaniem lame.

  • Określ nazwę domeny do przetestowania.
  • Nie można używać przełącznika /d z przełącznikiem /ad .

Użyj przełącznika, /ad aby zażądać testów usługi Active Directory.

  • Przełącznik /ad rozpoznaje rekordy DNS, które są używane do replikacji lasu usługi AD.

  • Domyślnie jest używana usługa LDAP systemu lokalnego.

  • Możesz określić adres IP zdalnego serwera LDAP (opcjonalnie).

  • Akceptowane są tylko prawidłowe adresy IP. Nazwy nie są akceptowane.
    Zazwyczaj jest to kontroler domeny usługi Active Directory.

  • Użyj przełącznika /ad z opcją /s , gdzie /s określa adres IP serwera DNS, który jest autorytatywny dla strefy _msdcs w katalogu głównym lasu usługi AD.

  • Nie można użyć przełącznika /ad z elementem /d lub /c.

Przełącznik służy /ql do żądania testów zapytań DNS z listy.

  • Przełącznik /ql wysyła zapytania DNS określone w pliku wejściowym tekstu

  • Określ ścieżkę i nazwę pliku wejściowego.

  • /ql Przełącznik obsługuje zapytania rekordów A, PTR, CNAME, SRV i MX.

  • Przykładowy plik wejściowy można utworzyć, uruchamiając następujące polecenie:

    dnslint /ql autocreate  
    
  • Nie można użyć przełącznika /ql z elementami /d, /adlub /c.

Uwaga

  • Nie można używać wartości /d, /adi /ql razem.
  • Nie można używać razem /c z /ad programem lub /ql.
  • W przypadku korzystania z programu /adnależy również określić /swartość .

Przełączniki opcjonalne

Służy /c do żądania testów łączności na serwerach poczty e-mail.

  • Przełącznik /c testuje porty protokołu SMTP (Simple Mail Transfer Protocol), POP i IMAP na serwerach poczty e-mail.
  • Domyślnie testowane są wszystkie trzy porty (porty SMTP, POP i IMAP). Można określić jedną lub kombinację. W tym celu użyj listy rozdzielonej przecinkami: /c pop,imap,smtp.

Aby zapobiec automatycznemu otwieraniu raportu, użyj polecenia /no_open. Przełącznik /no_open jest przydatny w skryptach.

Użyj przełącznika /r , aby określić nazwę utworzonego pliku raportu.

  • Rozszerzenie nazwy pliku .htm jest automatycznie dodawane do nazw raportów.
  • Raport jest tworzony w formacie HTML. Nazwa domyślna to Dnslint.htm
  • Lokalizacja domyślna to bieżący katalog.

Użyj przełącznika, /s aby pominąć wyszukiwanie międzynic whois .

  • Można określić adres IP serwera DNS zamiast wykonywania zapytań międzynic dla jednego.
  • Przełącznik /s rozpoczyna sprawdzanie rekordów DNS przy użyciu podaneego adresu IP.
  • Akceptowane są tylko prawidłowe adresy IP. Nazwy nie są akceptowane.
  • Użyj tej opcji, aby sprawdzić nazwy domen, które nie są obsługiwane przez funkcję InterNIC.
  • W przypadku korzystania z programu /adnależy użyć polecenia /s , aby określić serwer DNS autorytatywny dla poddomeny _msdcs w domenie głównej lasu usługi AD.
  • W przypadku korzystania z programu /admożna uruchomić polecenie /s localhost, aby określić, czy system lokalny może rozpoznawać rekordy znalezione w testach usługi AD.

Użyj polecenia /t , aby zażądać danych wyjściowych do pliku tekstowego.

  • Plik tekstowy ma taką samą nazwę jak raport .htm, ale ma .txt rozszerzenie nazwy pliku.
  • Plik tekstowy utworzony w tym samym katalogu co plik raportu .htm.

Użyj polecenia /test_tcp , aby zażądać przetestowania portu TCP 53.

  • Domyślnie testowany jest tylko port UDP 53.
  • Opcja /test_tcp sprawdza, czy port TCP 53 odpowiada na zapytania.
  • Nie /test_tcp można użyć opcji z elementem /ql.

Użyj polecenia /v , aby zażądać pełnych danych wyjściowych do ekranu.

Użyj polecenia /y , aby zastąpić istniejący plik raportu bez monitu. Przełącznik /y jest przydatny w skryptach.

Wymagane parametry

Aby uruchomić narzędzie DNSLint, należy użyć jednego z trzech następujących parametrów:

  1. Używanie /d na potrzeby testów nazw domen
  2. Służy do /ad testów replikacji usługi Active Directory.
  3. Użyj dla /ql testów określonych na liście zapytań.

Użyj przełącznika /d (test nazwy domeny), aby przetestować określoną nazwę domeny DNS. Użyj tego przełącznika, aby ułatwić diagnozowanie problemów z "delegowaniem lame" i innych powiązanych problemów z usługą DNS. Testowana nazwa domeny może być następująca:

  • Nazwa zarejestrowana do użycia w Internecie.
  • Nazwa używana w prywatnej przestrzeni nazw.

Podczas testowania nazw domen w sieci prywatnej lub nazw domen zarejestrowanych w Internecie, które mają więcej niż dwa poziomy głębokości, należy użyć /s tej opcji.

Użyj przełącznika /ad (test usługi Active Directory), aby przetestować rekordy DNS odpowiedzialne za replikację lasu usługi Active Directory. Po przełączeniu /ad określ adres IP serwera LDAP, który jest używany do tego testu. Zazwyczaj jest to kontroler domeny usługi Active Directory. Jeśli system DNSLint działa na kontrolerze domeny, nie jest wymagany żaden adres IP, ponieważ wartość domyślna tego przełącznika to 127.0.0.1.

Użyj przełącznika /ql (test listy zapytań), aby przetestować rekordy DNS określone w pliku wejściowym tekstu. Określ pełną ścieżkę i nazwę pliku wejściowego tekstu bezpośrednio po przełączniku. Uruchom dnslint /ql autocreate polecenie , aby wygenerować przykładowy plik wejściowy tekstowy o nazwie In-dnslint.txt. Ten plik zawiera wyjaśnienie wymaganego formatu. Ten plik można użyć jako szablonu do tworzenia innych plików wejściowych.

Bardziej opcjonalne przełączniki

Przełącznik /v (pełny) włącza tryb "tryb pełnego". Po włączeniu tego przełącznika system DNSLint wyświetli kroki, które należy wykonać w celu zebrania danych na ekranie. Możesz wysłać te dane wyjściowe do pliku. Na przykład dnslint /v /d msn.com. Domyślnie nazwa raportu wygenerowanego przez usługę DNSLint jest Dnslint.htm. Za pomocą przełącznika /r (raportu) można określić nazwę i lokalizację pliku raportu wygenerowanego przez usługę DNSLint. Możesz nadać plikowi raportu taką samą nazwę jak nazwa domeny lub serwer DNS, który został przetestowany. Rozszerzenie nazwy pliku ".htm" jest dołączane do nazwy raportu automatycznie, ponieważ raport ma format HTML.

Domyślnie system DNSLint próbuje automatycznie otworzyć plik raportu po jego wygenerowaniu przy użyciu dowolnego programu skojarzonego z plikiem .htm pliku raportu. Zazwyczaj program Microsoft Internet Explorer jest skojarzony z rozszerzeniem .htm. Nie ma możliwości zmiany formatu raportu na inny niż HTML przy użyciu języka DNSLint.

Aby zdefiniować lokalizację, w której jest zapisywany plik raportu, określ pełną ścieżkę i nazwę pliku raportu. System DNSLint obsługuje zarówno dyski lokalne, jak i ścieżki uniwersalnej konwencji nazewnictwa (UNC). Na przykład polecenie dnslint /d msn.com /r c:\reports\reskit tworzy raport o nazwie Reskit.htm w folderze C:\Reports. Polecenie dnslint /d mydom.local /r \\\server1\reports\mydom tworzy raport w systemie zdalnym o nazwie server1 w udziale Raporty. Nazwa raportu to Mydom.htm.

Jeśli określisz /t przełącznik (tekstowy), system DNSLint wygeneruje raport tekstowy i raport HTML. Raport tekstowy używa tej samej nazwy co raport .htm, z tą różnicą, że jego rozszerzenie nazwy pliku jest .txt. Plik jest tworzony w tym samym folderze co plik .htm. Na przykład polecenie dnslint /d msn.com /r c:\reports\reskit /t tworzy dwa raporty w folderze C:\Reports. Jeden raport jest nazywany Reskit.htm, a drugi jest nazywany Reskit.txt.

Domyślnie, gdy system DNSLint wykryje, że plik raportu o takiej samej nazwie jak ten, który ma zostać wygenerowany, już istnieje w folderze docelowym, usługa DNSLint monituje o zastąpienie pliku. Dzięki tej /y opcji usługa DNSLint może zastąpić istniejący plik raportu bez monitowania o uprawnienie. Zarówno plik .htm, jak i opcjonalny plik .txt są zastępowane podczas korzystania z tej opcji.

Polecenie dnslint /y /d msn.com /r c:\reports\reskit /t tworzy dwa raporty w folderze C:\Reports. Jeden raport jest nazywany Reskit.htm, a drugi jest nazywany Reskit.txt. Istniejące pliki raportów są zastępowane bez monitowania.

Przełącznik /no_open uniemożliwia systemowi DNSLint automatyczne otwieranie raportu po jego wygenerowaniu. Ta opcja jest przydatna w przypadku używania języka DNSLint w skryptach, jeśli nie chcesz:

  • Natychmiast przejrzyj raporty.
  • Przejrzyj raporty z systemu, z których uruchomiono system DNSLint.

Na przykład polecenie dnslint /y /d msn.com /no_open generuje raport o nazwie Dnslint.htm, który zastępuje wcześniej istniejący raport o tej samej nazwie, bez monitowania użytkownika. System DNSLint nie otwiera automatycznie raportu po jego zakończeniu.

/test_tcp Użyj opcji (testowy port TCP 53), aby zażądać przetestowania portu TCP 53, gdy /d jest używany. Wiele serwerów DNS w Internecie obecnie nie akceptuje zapytań DNS na porcie TCP 53, aby uniknąć możliwych ataków na ten port. Domyślnie tylko port UDP 53 jest testowany podczas uruchamiania elementu DNSLint. Określenie /test_tcp opcji spowoduje, że usługa DNSLint wyśle pojedyncze zapytanie DNS przez protokół TCP i zgłosi, czy odebrano odpowiedź.

Możesz użyć /test_tcp opcji z wartościami /d i /ad. Jednak nie można użyć /test_tcp opcji z /ql lub kombinacji /ad/s localhost. Za pomocą /ql funkcji port TCP 53 można przetestować bezpośrednio z pliku wejściowego. Funkcja /ad /s localhost sprawdza, czy lokalnie skonfigurowane serwery DNS mogą rozpoznać rekordy DNS używane do replikacji lasu usługi Active Directory. Zamiast tego można przetestować łączność z portem TCP 53 przy użyciu /ad/sip_addr , gdzie ip_addr jest adresem IP serwera DNS autorytatywnym dla strefy _msdcs w katalogu głównym domeny usługi Active Directory.

Przykład: dnslint /d microsoft.com /v /test_tcp

Przełącznik /c (test łączności) żąda, aby system DNSLint testował dobrze znane porty poczty e-mail na wszystkich serwerach poczty e-mail, które znajduje podczas inspekcji serwerów DNS pod kątem określonej nazwy domeny. Obsługiwane są protokoły SMTP, Post Office Protocol (POP w wersji 3) i Internet Message Access Protocol (IMAP w wersji 4). Domyślnie, gdy /c przełącznik jest określony, DNSLint próbuje nawiązać połączenie ze wszystkimi trzema portami na każdym serwerze poczty e-mail, który znajduje:

  • Port TCP 25 dla protokołu SMTP
  • Port TCP 110 dla punktu pop
  • Port TCP 143 dla protokołu IMAP

System DNSLint zgłasza stan, w którym znajduje się każdy port: "Nasłuchiwanie", "Nie nasłuchuje" lub "Brak odpowiedzi". Jeśli system DNSLint wykryje, że port nasłuchuje, zwraca również odpowiedź z portu. Jeśli na przykład port SMTP nasłuchuje, zwykle zwraca odpowiedź zgodną ze specyfikacją protokołu SMTP, na przykład w następującym przykładzie:

220 mailsrv.contoso.com Microsoft ESMTP MAIL Service, wersja: 5.0.2195.3705 ready at Mon, 13 May 2002 17:08:36 -0700

Gdy port jest zgłaszany jako "Nie nasłuchuje", oznacza to, że wysyłany serwer poczty e-mail odpowiedział pakietem TCP z ustawioną flagą Resetuj. Oznacza to również, że na porcie nie ma żadnej usługi ani programu.

Komunikat "Brak odpowiedzi" jest zgłaszany, gdy docelowy serwer poczty e-mail nie odpowiada na próbę połączenia. Jeśli serwer docelowy działa i działa, oznacza to, że port jest filtrowany:

  • Serwer docelowy.
  • Gdzieś między klientem z systemem DNSLint i serwerem docelowym.

Polecenie dnslint /y /v /c /d msn.com generuje raport o nazwie Dnslint.htm, który zastępuje wcześniej istniejący raport o tej samej nazwie, bez monitowania użytkownika. /c Ponieważ ta opcja jest określona, dodatkowa sekcja jest dołączana do dolnej części standardowego raportu DNSLint:

Testy łączności sieciowej
Serwer poczty e-mail: smtp-gw-4.msn.com
Adres IP: 207.46.181.13

Odpowiedź SMTP:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, wersja:
5.0.2195.4905 ready at Tue, 14 may 2002 09:26:06 -0700

Odpowiedź POP: BRAK ODPOWIEDZI (prawdopodobnie filtrowane)

Odpowiedź IMAP: BRAK ODPOWIEDZI (prawdopodobnie przefiltrowana)

Uwaga

Co najmniej jeden serwer POP nie odpowiedział.
Co najmniej jeden serwer IMAP nie odpowiedział.

Gdy docelowy serwer poczty e-mail nie odpowiada na próbę połączenia na jednym z portów poczty e-mail, usługa DNSLint ponawia próbę połączenia trzy razy. Jest to standardowe zachowanie klienta TCP. Zanim system DNSLint wskaże, że nie ma odpowiedzi, czeka na trzy oddzielne próby przekroczenia limitu czasu połączeń TCP. Ten proces może spowolnić ukończenie raportu. Aby zoptymalizować operację DNSLint, można określić port lub porty poczty e-mail, które chcesz sprawdzić, zamiast zawsze sprawdzać wszystkie trzy porty.

Domyślnie po /c podaniu opcji są sprawdzane wszystkie trzy porty TCP (25, 110, 143). Można jednak określić porty do sprawdzenia po wybraniu /c opcji. Określ listę rozdzielaną przecinkami bezpośrednio po /c opcji. Określ tylko prawidłowe porty: smtp, pop, imap. Każda kombinacja tych trzech portów działa. Na przykład polecenie dnslint /d contoso.com /c smtp określa, że należy sprawdzić tylko port SMTP (port TCP 25).

Polecenie dnslint /d contoso.com /c popsmtp określa, że należy sprawdzić tylko port SMTP (port TCP 25) i port POP (port TCP 110).

Polecenie dnslint /d contoso.com /c imappop określa, że należy sprawdzić tylko port IMAP (port TCP 143) i port POP (port TCP 110).

Możesz użyć przełącznika /s (serwer) z /d funkcjami i /ad . Przełącznik /s ma kilka celów, ale przyjmuje tylko jeden typ danych, prawidłowy adres IP serwera DNS (z jednym wyjątkiem).

Po określeniu /d/s opcji opcja pomija wyszukiwanie InterNIC Whois domyślnie robi DNSLint. W związku z tym system DNSLint może uruchamiać testy w sieciach prywatnych i na nazwach domen, które są bardziej szczegółowe niż domeny drugiego poziomu w Internecie. System DNSLint może również testować nazwy domen, które nie są obsługiwane przez funkcję InterNIC. W momencie pisania tego artykułu program InterNIC obsługiwał Whois odnośniki dla następujących domen: .biz, , .com, .coop, .edu, .info, .int, , .museum, , .net, i .org.

W przypadku używania przełącznika /ad/s służy do określania adresu IP serwera DNS, który jest autorytatywny dla poddomeny, w której są rejestrowane rekordy DNS używane do replikacji lasu usługi Active Directory. Zazwyczaj jest to poddomena _msdcs w katalogu głównym lasu usługi Active Directory. Jeśli na przykład katalog główny lasu usługi Active Directory ma nazwę myad.contoso.com, serwer DNS hostujący tę domenę może być również autorytatywny dla strefy _msdcs.myad.contoso.com . W strefie są rejestrowane rekordy DNS używane w replikacji usługi Active Directory. Lub strefa _msdcs.myad.contoso.com może być delegowana do innego serwera DNS. Jednak infrastruktura DNS została zaprojektowana, /s opcja służy do określania serwera DNS, który jest autorytatywny dla strefy _msdcs.myad.contoso.com .

Opcja /s musi określać prawidłowy adres IP. Jedynym wyjątkiem od tej reguły jest następująca kombinacja: dnslint /ad /s localhost

"localhost" nie jest prawidłowym adresem IP. Po określeniu tego parametru za pomocą /ad /s kombinacji system DNSLint testuje możliwość rozpoznawania rekordów DNS używanych do replikacji lasu usługi Active Directory przez system lokalny (system z systemem DNSLint). Cykliczne zapytania DNS są wysyłane do skonfigurowanych serwerów DNS systemu lokalnego w celu potwierdzenia, że system lokalny może rozpoznać rekordy DNS używane do replikacji lasu usługi Active Directory. Może to być przydatne podczas rozwiązywania problemów z replikacją usługi Active Directory na określonym kontrolerze domeny.

Zazwyczaj nie wszystkie serwery DNS skonfigurowane w systemie lokalnym są wykonywane zapytania podczas tego procesu. Zaobserwowano domyślne zachowanie programu rozpoznawania nazw klientów DNS. Jeśli serwer DNS w górnej części listy serwerÓW DNS systemu lokalnego nie odpowiada, zostanie użyty następny serwer na liście.