Vissza a bloghoz

DNS hibaelhárítás: nslookup, dig, DoH

· 7 perc olvasás

Röviden: A DNS problémák a leggyakoribb és legnehezebben diagnosztizálható kiesési okok közé tartoznak - mert a "DNS működik nálam" nem azt jelenti, hogy az ügyfeleknél is működik. Itt egy áttekintés a gyakorlati eszközökről és eljárásokról.

Röviden: A DNS problémák a leggyakoribb és legnehezebben diagnosztizálható kiesési okok közé tartoznak - mert a "DNS működik nálam" nem azt jelenti, hogy az ügyfeleknél is működik. Itt egy áttekintés a gyakorlati eszközökről és eljárásokról.

Leggyakoribb DNS problémák

  • Lejárt domain regisztráció - az egész DNS leáll.
  • Hibás A/AAAA rekord - szerver migráció után elfelejtették frissíteni.
  • Hiányzó CNAME / MX - az email nem működik, miközben a web igen.
  • TTL nincs felkészítve gyors változásokra - a szolgáltatók cache-ei még a régi adatokat szolgálják ki.
  • DNSSEC hiba - a validátorok elutasítják az aláíratlan vagy rosszul aláírt rekordokat.
  • Geo-DNS hiba - egy adott régió resolvere hibás választ kap.

nslookup: a legegyszerűbb parancs

Minden OS-en elérhető telepítés nélkül. A rendszer alapértelmezett DNS szerverét használja, de a második argumentumban explicit megadható.

$ nslookup epulz.io
Server:    127.0.0.53
Address:   127.0.0.53#53

Non-authoritative answer:
Name:      epulz.io
Address:   87.197.115.180

# Explicit Cloudflare DNS használata
$ nslookup epulz.io 1.1.1.1

# Konkrét rekord típus
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1

dig: részletes DNS lekérdezés Unix-hoz

A dig (Domain Information Groper) jelentősen részletesebb és rugalmasabb. A bind-utils vagy dnsutils csomag része.

$ 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: ...

Kulcs mezők:

  • TTL (300) = másodperc, ameddig a resolver cache-elheti a választ.
  • ANSWER SECTION = az eredmény.
  • SERVER = melyik DNS resolver válaszolt.
  • Query time = időtartam - hasznos lassú DNS hibakereséshez.

Gyakorlati parancsok

# Rövid válasz (csak IP)
$ dig +short epulz.io
87.197.115.180

# Minden rekord
$ dig epulz.io ANY

# Teljes DNS hierarchia trace (root nameserverektől)
$ dig +trace epulz.io

# Reverse lookup
$ dig -x 87.197.115.180

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

# DNSSEC validáció
$ dig +dnssec epulz.io

DNS-over-HTTPS (DoH): amikor nincs UDP/53

Egyes hálózatokban (vállalati tűzfalak, blokkolós mobil adat) a hagyományos DNS port 53 blokkolva van. A DoH HTTPS kérésekbe csomagolja a DNS lekérdezéseket - mindenhova átmennek, ahol a 443 működik.

# Cloudflare DoH végpont
$ 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 klienst szép UI-val itt is találsz: - telepítés nélkül.

Eljárás "a domain nem működik" esetén

  1. Ellenőrizd a regisztrációt. whois yourdomain.com vagy a regisztrátoron át. Ha lejárt, semmi mást nem tudsz javítani.
  2. Ellenőrizd az NS rekordokat. dig NS yourdomain.com @8.8.8.8. Visszajönnek a domain-ért felelős nameserverek? Egyeznek a regisztrátor panelben lévőkkel?
  3. Ellenőrizd az A rekordot. dig yourdomain.com @8.8.8.8. A megfelelő IP-t adja vissza?
  4. Tesztelj külső hálózatból (mobil adat, VPN, online eszköz). Lehet, hogy te magad cache-elt régi adatokkal rendelkezel.
  5. Ellenőrizd a TTL-t. Ha most változtattál rekordot, várj legalább az eredeti TTL-t (alapból 1-24 óra).
  6. Ellenőrizd a DNSSEC-et. Ha használod, az aláírás lánc sérülhetett. A dig +dnssec yourdomain.com sikernél megmutatja az ad flag-et.

DNS propagáció: meddig tart?

A "DNS propagáció" kissé félrevezető kifejezés. A DNS nem terjed feléd - a resolvereid letöltik a választ és cache-elik a TTL szerint. Csak a TTL lejárta után próbálkoznak új lekérdezéssel.

Gyakorlati következmények:

  • Migrációt tervezel? Csökkentsd a TTL-t 60-300 másodpercre legalább 48 órával előtte.
  • A régi IP érvényes marad néhány kliensnek még sokkal a változtatás után. Ne állítsd le a régi szervert azonnal.
  • A cloud providerek (Cloudflare, AWS Route 53) gyors TTL-lel és cache invalidációval rendelkeznek, de a végfelhasználó kliensnek várnia kell a saját resolvere TTL-jére.

Következtetés

A DNS infrastruktúra ragasztó, amit mindenki magától értetődőnek vesz - amíg le nem áll. A DNS rekordok rendszeres monitorozása (A, NS, MX, TTL és DNSSEC validáció) felfedi a problémát, mielőtt egy ügyfél telefonon jelentené.

DNS és WHOIS lejárat monitorozása

Az ePulz.io követi az A/AAAA/MX/NS rekordokat és a domain regisztráció lejáratát. 7 nap ingyen.

Monitoring indítása →


Próbálja ki az ePulz.io-t ingyen - 7 nap bankkártya nélkül.

Fiók létrehozása