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
- 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 te magad cache-elt régi adatokkal rendelkezel.
- Ellenőrizd a TTL-t. Ha most változtattál rekordot, várj legalább az eredeti TTL-t (alapból 1-24 óra).
- 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-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.
Próbálja ki az ePulz.io-t ingyen - 7 nap bankkártya nélkül.
Fiók létrehozása