Späť na blog

DNS troubleshooting: nslookup, dig a DNS-over-HTTPS

· 7 min čítania

DNS problémy patria k najčastejším a najťažšie diagnostikovateľným príčinám výpadkov. Praktické nástroje: nslookup, dig a DNS-over-HTTPS.

DNS troubleshooting: nslookup, dig a DNS-over-HTTPS

Najčastejšie DNS problémy

  • Vypršala doménová registrácia - celý DNS prestane fungovať.
  • Nesprávny A/AAAA záznam - po migrácii servera sa zabudol aktualizovať.
  • Chýbajúci CNAME / MX - web funguje, ale email nie.
  • Neznížené TTL pred plánovanou zmenou - cache poskytovateľov stále servuje staré údaje.
  • DNSSEC chyba - validátory odmietnu nepodpísané alebo zle podpísané záznamy.
  • Geo-DNS porucha - resolver z istého regiónu dostáva nesprávnu odpoveď.

nslookup: najjednoduchší príkaz

Dostupný na všetkých OS bez inštalácie. Použije predvolený DNS server systému, ale ten možno explicitne určiť druhým argumentom.

$ nslookup example.com
Server:    127.0.0.53
Address:   127.0.0.53#53

Non-authoritative answer:
Name:      example.com
Address:   93.184.215.14

# Explicitne použiť Cloudflare DNS
$ nslookup example.com 1.1.1.1

# Konkrétny typ záznamu
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1

dig: detailný DNS dotaz pre Unix

dig (Domain Information Groper) je výrazne podrobnejší a flexibilnejší. Je súčasťou balíka bind-utils alebo dnsutils.

$ dig epulz.io

;; QUESTION SECTION:
;epulz.io.                      IN      A

;; ANSWER SECTION:
epulz.io.               300     IN      A       87.197.115.180

;; Query time: 12 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: ...

Kľúčové polia:

  • TTL (300) = počet sekúnd, ktoré resolver môže odpoveď cachovať.
  • ANSWER SECTION = samotný výsledok.
  • SERVER = ktorý DNS resolver odpovedal.
  • Query time = trvanie dotazu - užitočné pri ladení pomalého DNS.

Praktické príkazy

# Stručná odpoveď (iba IP)
$ dig +short epulz.io
87.197.115.180

# Všetky záznamy
$ dig epulz.io ANY

# Trace celej DNS hierarchie (od root nameserverov)
$ dig +trace epulz.io

# Reverse lookup
$ dig -x 87.197.115.180

# Konkrétny resolver
$ dig @8.8.8.8 epulz.io
$ dig @1.1.1.1 epulz.io
$ dig @9.9.9.9 epulz.io

# DNSSEC validácia
$ dig +dnssec epulz.io

DNS-over-HTTPS (DoH): keď nemáte UDP/53

V niektorých sieťach (korporátne firewally, mobilné dáta s blokovaním) je tradičný DNS port 53 blokovaný. DoH balí DNS dotazy do HTTPS požiadaviek, takže prejdú všade, kde funguje port 443.

# Cloudflare DoH endpoint
$ curl -s "https://cloudflare-dns.com/dns-query?name=epulz.io&type=A" \
       -H "Accept: application/dns-json" | jq

# Google DoH
$ curl -s "https://dns.google/resolve?name=epulz.io&type=MX" | jq

Online DoH klient s prehľadným rozhraním nájdete aj na /tools/dns-lookup - bez akejkoľvek inštalácie.

Postup pri "doména nefunguje"

  1. Skontrolujte registráciu. whois yourdomain.com alebo cez registrátora. Ak vypršala, nič iné neopravíte.
  2. Skontrolujte NS záznamy. dig NS yourdomain.com @8.8.8.8. Vrátia sa nameservery, ktoré za doménu odpovedajú? Sedia s tým, čo máte v paneli registrátora?
  3. Skontrolujte A záznam. dig yourdomain.com @8.8.8.8. Vracia správnu IP?
  4. Otestujte z externej siete (mobilné dáta, VPN, online nástroj). Vy sami môžete mať v cache staré údaje.
  5. Skontrolujte TTL. Ak ste práve zmenili záznam, počkajte aspoň pôvodné TTL (predvolene 1 až 24 hodín).
  6. Skontrolujte DNSSEC. Ak ho používate, reťazec podpisov môže byť poškodený. dig +dnssec yourdomain.com pri úspechu zobrazí flag ad.

DNS propagácia: koľko trvá?

"DNS propagácia" je trochu zavádzajúci termín. DNS sa nepropaguje smerom k vám - vaše DNS resolvery si stiahnu odpoveď a cachujú ju podľa TTL. Až po vypršaní TTL sa pokúsia o nový dotaz.

Praktické dôsledky:

  • Plánujete migráciu? Znížte TTL na 60 až 300 sekúnd aspoň 48 hodín vopred.
  • Stará IP zostane v cache niektorých klientov ešte dlho po zmene. Nevypínajte starý server hneď.
  • Cloud poskytovatelia (Cloudflare, AWS Route 53) podporujú krátke TTL hodnoty a rýchlu propagáciu zmien, no koncový klient stále musí čakať na TTL svojho vlastného resolvera.

Záver

DNS je infraštruktúrne lepidlo, ktoré všetci považujú za samozrejmosť - kým neprestane fungovať. Pravidelný monitoring DNS záznamov (A, NS, MX, ich TTL aj DNSSEC validácia) odhalí problém skôr, než ho zákazník nahlási telefónom.

Monitoring DNS aj WHOIS expirácie

ePulz.io sleduje A/AAAA/MX/NS záznamy aj expiráciu doménovej registrácie. 7 dní zadarmo.

Spustiť monitoring →

Súvisiace

Zdieľať: Odkaz skopírovaný

Vyskúšajte ePulz.io zadarmo - na 7 dní bez potreby kreditnej karty.

Vytvoriť účet