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.
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"
- Skontrolujte registráciu.
whois yourdomain.comalebo cez registrátora. Ak vypršala, nič iné neopravíte. - 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? - Skontrolujte A záznam.
dig yourdomain.com @8.8.8.8. Vracia správnu IP? - Otestujte z externej siete (mobilné dáta, VPN, online nástroj). Vy sami môžete mať v cache staré údaje.
- Skontrolujte TTL. Ak ste práve zmenili záznam, počkajte aspoň pôvodné TTL (predvolene 1 až 24 hodín).
- Skontrolujte DNSSEC. Ak ho používate, reťazec podpisov môže byť poškodený.
dig +dnssec yourdomain.compri úspechu zobrazí flagad.
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.
Súvisiace
Vyskúšajte ePulz.io zadarmo - na 7 dní bez potreby kreditnej karty.
Vytvoriť účet