🢂Diagnostyka DNS (nslookup, dig i host) ‑ Cheatsheet (ściąga)

Polecenia nslookup, dig i host oferują różnorodne opcje, które pozwalają na dokładniejszą analizę i diagnostykę serwerów DNS. Poniżej przykładowe polecenia służące diagnozowaniu DNS

Polecenie nslookup to narzędzie linii komend, które pozwala na zapytanie serwerów nazw DNS w celu uzyskania informacji o różnych rekordach DNS, takich jak adresy IP dla nazw hostów i odwrotnie. Na systemie Debian, korzystanie z nslookup wymaga prostych kroków oraz zrozumienia podstawowych opcji i przykładów użycia, które pomogą diagnozować problemy związane z DNS.

Instalacja

Upewnij się, że nslookup jest zainstalowany w Twoim systemie. Jeśli nie, możesz go zainstalować za pomocą pakietu dnsutils. Uruchom w terminalu:

sudo apt-get update
sudo apt-get install dnsutils

Przykłady użycia

Podstawowe zapytanie DNS: Aby uzyskać adres IP dla danej nazwy domeny, wpisz:

nslookup example.com

Zapytanie o konkretny typ rekordu: Aby zapytać o rekordy MX (poczty elektronicznej) dla domeny, użyj:

nslookup -query=mx example.com

Użycie określonego serwera DNS: Możesz skierować zapytanie do konkretnego serwera DNS, podając jego adres IP po nazwie domeny:

nslookup example.com 8.8.8.8

Odwrotne zapytanie DNS: Aby znaleźć nazwę domeny powiązaną z adresem IP, wykonaj:

nslookup 93.184.216.34

Zapytanie o rekordy SOA (Start of Authority): Pozwala to na uzyskanie informacji o rekordzie SOA dla domeny, który zawiera kluczowe informacje o strefie, takie jak email administratora czy odstęp czasu między odświeżeniami.

nslookup -type=soa example.com

Zapytanie o wszystkie rekordy: Pozwala na pobranie wszystkich dostępnych rekordów dla określonej domeny. Może to być przydatne do uzyskania pełnego obrazu konfiguracji DNS domeny.

nslookup -type=any example.com 8.8.8.8

Wyświetlanie rozszerzonych informacji: W trybie interaktywnym, opcja debug włącza szczegółowe informacje debugowania, co jest przydatne przy diagnozowaniu.

Diagnostyka błędów: W przypadku problemów z rozwiązaniem nazwy, sprawdź konfigurację DNS i upewnij się, że serwery, do których kierujesz zapytania, są dostępne i prawidłowo skonfigurowane. Swój serwer odpytasz tym poleceniem

nslookup -type=any example.com TwojDns.pl

Wskazówki

  • Pamiętaj, że odpowiedzi z nslookup mogą różnić się w zależności od używanego serwera DNS.
  • Jeśli napotkasz problemy z rozwiązaniem nazwy, sprawdź plik konfiguracyjny /etc/resolv.conf, który zawiera informacje o serwerach DNS używanych przez Twój system.

Zachęcam do eksperymentowania z różnymi opcjami nslookup, aby lepiej zrozumieć, jak działa DNS i jak diagnozować z nim związane problemy.

Polecenia dig i host

Polecenia dig i host są równie potężnymi narzędziami do zapytań DNS na systemach Unix i Linux, takich jak Debian. Oferują one różnorodność opcji i użycia podobnie do nslookup. Oto krótkie wprowadzenie do tych narzędzi wraz z przykładami użycia:

Dig (Domain Information Groper)

dig jest bardziej elastycznym narzędziem do zapytań DNS i jest często preferowane przez administratorów systemów dla jego klarownego formatu wyjściowego i opcji.

Instalacja

Jeśli dig nie jest zainstalowany, można go łatwo zainstalować za pomocą:

sudo apt-get install dnsutils

Przykłady użycia

Podstawowe zapytanie DNS: Uzyskanie adresu IP dla domeny.

dig example.com

Zapytanie o specyficzny typ rekordu: Na przykład, rekordy MX.

dig example.com MX

Uzyskanie krótkiej odpowiedzi: Jeśli interesuje Cię tylko odpowiedź bez dodatkowych informacji.

dig example.com +short 

Zapytanie do konkretnego serwera DNS: Wysyłanie zapytania do określonego serwera.

dig @8.8.8.8 example.com

Rekursywne zapytanie: Wyświetla proces poszukiwania od korzenia DNS.

dig +trace example.com

Polecenie Host

host jest prostszym narzędziem używanym do konwersji nazw w adresy i odwrotnie oraz do zapytań o specyficzne typy rekordów DNS.

Przykłady użycia

Znajdowanie adresu IP dla nazwy hosta:

host example.com

Znajdowanie nazwy domeny dla adresu IP (odwrotne DNS):

host 93.184.216.34

Zapytanie o rekordy MX:

host -t MX example.com

Specyfikowanie serwera DNS:

host example.com 8.8.8.8 

Zarówno dig jak i host są narzędziami, które pozwalają na szczegółowe badanie i diagnostykę systemu nazw domen (DNS). Ich właściwe zrozumienie i wykorzystanie może znacznie ułatwić zarządzanie siecią i rozwiązywanie problemów związanych z DNS.

Przykład diagnozy serwera DNS na przykładzie domeny

Dla szczegółowego przeglądu wszystkich rekordów DNS domeny wpisz to polecenie:

dig @dns.home.pl ginmed.com ANY +noall +answer +stats

Dla uzyskania bardziej szczegółowych danych przy użyciu dig, możesz użyć następujących parametrów:

  • +trace – wyświetla ścieżkę zapytania od korzenia DNS do docelowego serwera, pomagając zrozumieć proces rozwiązywania nazw.
  • +all – pokazuje wszystkie dostępne informacje o zapytaniu i odpowiedzi, włącznie z sekcjami dodatkowymi i autorytatywnymi.
  • +stats – dostarcza statystyki dotyczące wykonanego zapytania, takie jak czas odpowiedzi.
  • +multiline – formatuje niektóre rekordy DNS (np. SOA) w bardziej czytelny, wieloliniowy sposób.

Zapytanie o serwer DNS dla domeny ginmed.com

Sprawdzamy gdzie jest serwer DNS u operatora domeny poleceniem:

host ginmed.com dns.home.pl

Jak wskazuje serwer domenowy dns.home.pl o adresie 217.160.80.244, domena ginmed.com jest przypisana do adresu IP 89.161.255.8. To oznacza, iż wszelkie zapytania dotyczące tej domeny kierowane są do serwera znajdującego się pod tym adresem IP. Dodatkowo, obsługa poczty elektronicznej dla ginmed.com jest skonfigurowana z priorytetem 10 na serwerze o tej samej nazwie, co wskazuje na główny serwer pocztowy, odpowiedzialny za przetwarzanie przychodzących wiadomości e-mail dla tej domeny.

Using domain server:
Name: dns.home.pl
Address: 217.160.80.244#53
Aliases: 

ginmed.com has address 89.161.255.8
ginmed.com mail is handled by 10 ginmed.com.

Zapytanie o wszystkie rekordy DNS dla domeny ginmed.com

nslookup -type=any ginmed.com 217.160.80.244

Polecenie nslookup -type=any ginmed.com 217.160.80.244 służy do zapytania o wszystkie rekordy DNS dla domeny ginmed.com, korzystając z konkretnego serwera DNS o adresie IP 217.160.80.244. Opcja -type=any prosi o zwrócenie każdego typu rekordu DNS, który jest skojarzony z daną domeną, w tym adresy IP (A), serwery poczty (MX) i inne. W ten sposób otrzymujesz pełny obraz konfiguracji DNS dla ginmed.com.

Odpowiedź wygląda następująco

Server:     217.160.80.244
Address:    217.160.80.244#53

Name:   ginmed.com
Address: 89.161.255.8
ginmed.com  mail exchanger = 10 ginmed.com.
ginmed.com  nameserver = dns.home.pl.
ginmed.com  nameserver = dns2.home.pl.
ginmed.com  nameserver = dns3.home.pl.
ginmed.com
    origin = dns.home.pl
    mail addr = admin.home.pl
    serial = 1546871573
    refresh = 14400
    retry = 7200
    expire = 2419200
    minimum = 3600

To oznacza że:

  1. Serwer DNS używany do zapytania ma adres IP 217.160.80.244.
  2. Adres IP domeny ginmed.com to 89.161.255.8.
  3. Dla ginmed.com skonfigurowano rekord wymiany poczty (MX) z priorytetem 10, wskazującym na samą domenę ginmed.com jako serwer pocztowy.
  4. Domena ginmed.com używa trzech serwerów nazw (nameserver): dns.home.pl, dns2.home.pl i dns3.home.pl.
  5. Rekord SOA (Start of Authority) dla ginmed.com określa dns.home.pl jako główny serwer nazw, admin.home.pl jako adres kontaktowy administratora, posiada numer seryjny 1546871573, interwał odświeżania ustawiony na 14400 sekund, czas ponowienia próby na 7200 sekund, czas wygaśnięcia na 2419200 sekund i minimalny czas TTL (time-to-live) wynoszący 3600 sekund.

Miłej zabawy ;)