DNS hibaelhárítás: nslookup, dig, DoH
· 7 perc olvasás
A DNS hibák a leggyakoribb és legnehezebben diagnosztizálható kiesési okok közé tartoznak. Gyakorlati eszközök: nslookup, dig és DNS-over-HTTPS.
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 - a web működik, de az email nem.
- A TTL nincs lecsökkentve a tervezett változtatás előtt - 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) = az a másodpercszám, ameddig a resolver cache-elheti a választ.ANSWER SECTION= maga az eredmény.SERVER= melyik DNS resolver válaszolt.Query time= a lekérdezés időtartama - 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, így mindenhova átmennek, ahol a 443-as port 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
Áttekinthető felületű online DoH klienst itt is találsz: /tools/dns-lookup - telepítés nélkül.
Eljárás "a domain nem működik" esetén
- Ellenőrizd a regisztrációt.
whois yourdomain.comvagy a regisztrátoron át. Ha lejárt, semmi mást nem tudsz javítani. - 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? - Ellenőrizd az A rekordot.
dig yourdomain.com @8.8.8.8. A megfelelő IP-t adja vissza? - Tesztelj külső hálózatból (mobil adat, VPN, online eszköz). Lehet, hogy neked magadnak vannak cache-elt régi adataid.
- Ellenőrizd a TTL-t. Ha most változtattál rekordot, várj legalább az eredeti TTL-ig (alapból 1 és 24 óra között).
- Ellenőrizd a DNSSEC-et. Ha használod, az aláírás lánc sérülhetett. A
dig +dnssec yourdomain.comsikernél megmutatja azadflag-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 és 300 másodperc közé legalább 48 órával előtte.
- A régi IP néhány kliensnél még sokkal a változtatás után is a cache-ben marad. Ne állítsd le a régi szervert azonnal.
- A cloud providerek (Cloudflare, AWS Route 53) támogatják a rövid TTL értékeket és a változások gyors propagációját, 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.
Próbálja ki az ePulz.io-t ingyen - 7 nap bankkártya nélkül.
Fiók létrehozása