8 modulis · 8.4
Dažniausiai pasitaikančios klaidos
8 modulis: Saugumas ir problemų sprendimas · Skaitymo trukmė: 10 min.
Mokymosi tikslas: Po šios pamokos atpažinsite dešimt dažniausiai pasitaikančių DNS klaidų pagal jų požymius ir žinosite, kaip jas ištaisyti.
Pagrindinės sąvokos: taškas gale, dubliuotas domeno vardas, keitimas netinkamoje vietoje, du SPF įrašai, CNAME ant pagrindinio domeno, pamirštas AAAA, MX be adreso, tarpinis serveris (proxy) paštui, senas DS po perkėlimo, talpykla (cache)
Kaip naudotis šia pamoka
Žemiau išvardytos klaidos surinktos ne iš vadovėlio, o iš klausimų, kuriuos hostingo paslaugų teikėjai gauna kiekvieną savaitę. Prie kiekvienos klaidos rasite: ką pastebi naudotojas, kaip tai patvirtinti vienu klausimu ir koks yra sprendimas. Susidūrę su problema, visada pradėkite nuo tų pačių dviejų klausimų: kokius vardų serverius turi domenas (dig +short NS example.com) ir ką grąžina autoritetinis vardų serveris (dig @<nameserver> <naam> <type>). Tai išsprendžia pusę visų atvejų.
1. Pamirštas taškas gale
Požymis: CNAME, MX arba NS neveikia; paslauga rodo pranešimą „įrašas nerastas“.
Patvirtinimas: dig +short CNAME shop.example.com grąžina shops.platform.example.example.com.
Priežastis: zonoje vardas be taško gale yra santykinis: skydelis prideda prie jo Jūsų paties domeną (pamoka 2.2).
Sprendimas: paskirties vardą rašykite kaip pilną vardą su tašku (shops.platform.example.). Kai kurie skydeliai tašką prideda patys; po išsaugojimo patikrinkite, kas iš tikrųjų įrašyta.
2. Domeno vardas pakartotas vardo lauke
Požymis: paslaugos atliekama patvirtinimo arba DKIM tikrinimo procedūra nepavyksta, nors įrašas atrodo „esantis“.
Patvirtinimas: dig +short TXT k2._domainkey.example.com negrąžina nieko, tačiau dig +short TXT k2._domainkey.example.com.example.com grąžina.
Priežastis: paslauga nurodo pilną vardą (k2._domainkey.example.com), o Jūsų skydelis dar kartą prideda domeną.
Sprendimas: vardo lauke įveskite tik dalį prieš savo domeną: k2._domainkey. Skydelis dažniausiai po lauku parodo pilną vardą: patikrinkite jį.
3. Keitimas netinkamoje vietoje
Požymis: pakeičiate įrašą, bet niekas nepasikeičia, net po dienos.
Patvirtinimas: dig +short NS example.com grąžina kitos šalies, nei ten, kur keitėte, vardų serverius (pavyzdžiui, svetainių kūrimo platformos arba Cloudflare).
Priežastis: DNS nustato tik ta šalis, kuriai priklauso vardų serveriai (pamoka 2.1). Įrašai kitoje vietoje neturi jokios įtakos.
Sprendimas: pakeiskite įrašą pas tą šalį, kuriai priklauso vardų serveriai, arba grąžinkite ankstesnius vardų serverius. Realus pavyzdys: kažkas nukreipė vardų serverius į svetainių kūrimo platformą dėl svetainės, tačiau A įrašo mail ten nebuvo. Rezultatas: siųsti laiškus pavyko, gauti ne, nes MX rodė į mail.example.com, o toks vardas nebeegzistavo.
4. Du SPF įrašai
Požymis: prijungus naują paslaugą, laiškai dažniau patenka į šlamštą arba yra atmetami.
Patvirtinimas: dig +short TXT example.com grąžina dvi eilutes, prasidedančias v=spf1.
Priežastis: nauja paslauga nurodė „pridėkite šį SPF įrašą“, ir tai buvo padaryta tiesiogine prasme. Esant dviem SPF įrašams, SPF tampa negaliojantis (permerror, RFC 7208), o tai blogiau nei SPF nebuvimas.
Sprendimas: sujunkite juos į vieną įrašą: v=spf1 a mx include:_spf.hosting.example include:spf.service.example ~all. Atkreipkite dėmesį į dešimties paieškų ribą (pamoka 4.3).
5. CNAME ant pagrindinio domeno
Požymis: skydelis atmeta įrašą, arba po išsaugojimo Jūsų paštas nebeveikia.
Patvirtinimas: paslauga prašo „sukurkite CNAME ties @“.
Priežastis: CNAME negali būti kartu su kitais įrašais, o ant pagrindinio domeno visada yra SOA ir NS įrašai (ir dažnai MX bei TXT). Žr. pamoką 3.2.
Sprendimas: ties @ naudokite A įrašą (ir prireikus AAAA), kurį nurodo paslauga, o CNAME naudokite tik www arba subdomenui. Kai kurios DNS šalys šiam atvejui turi ALIAS arba „CNAME flattening“ funkciją.
6. Pamirštas AAAA perkėlimo metu
Požymis: po perkėlimo dalis lankytojų (dažnai mobiliuoju įrenginiu) vis dar mato seną svetainę arba gauna sertifikato klaidą.
Patvirtinimas: dig +short A example.com grąžina naują adresą, o dig +short AAAA example.com vis dar grąžina seno serverio adresą.
Priežastis: IPv6 turintys įrenginiai pirmenybę teikia AAAA įrašui. Pakeistas buvo tik A įrašas.
Sprendimas: atnaujinkite ir AAAA įrašą arba jį pašalinkite, jei naujas serveris neturi IPv6. Realus pavyzdys: prijungiant internetinės parduotuvės platformą, kartu su nauju A įrašu reikėjo pašalinti ir seną AAAA įrašą, kitaip parduotuvė daliai lankytojų liko nepasiekiama.
7. MX, kuris rodo į niekur
Požymis: negaunate laiškų; siuntėjai gauna klaidos pranešimą.
Patvirtinimas: dig +short MX example.com grąžina 10 mail.example.com., tačiau dig +short A mail.example.com negrąžina nieko (NXDOMAIN).
Priežastis: MX rodo į vardą, o tas vardas privalo turėti A arba AAAA įrašą. Dažnai A įrašas mail dingsta perkėlus vardų serverius. MX taip pat negali rodyti į IP adresą ar CNAME (RFC 2181).
Sprendimas: sukurkite A įrašą pašto serverio vardui arba nukreipkite MX į vardą, kuris turi adresą.
8. Paštas kitur, bet senas serveris mano, kad jis turi pristatyti laiškus
Požymis: laiškai iš išorės sėkmingai pasiekia naują pašto paslaugų teikėją, tačiau laiškai iš Jūsų pačios svetainės (kontaktinė forma, internetinė parduotuvė) niekada nepasiekia. Kartais gaunate 550 Unknown user.
Patvirtinimas: MX rodo į naują paslaugų teikėją, tačiau žiniatinklio serveryje vis dar įjungtas vietinis laiškų pristatymas.
Priežastis: tai nėra DNS klaida, bet atrodo taip pat. Žiniatinklio serveris, manantis, kad jis pats turi pašto dėžutes, nekreipia dėmesio į MX įrašą.
Sprendimas: hostingo skydelyje išjunkite vietinį pristatymą (DirectAdmin aplinkoje: varnelė „Naudoti šį serverį mano el. laiškams tvarkyti“). Kiti skydeliai turi panašų nustatymą, dažnai vadinamą „Remote mail exchanger“ arba „e-mail extern“.
9. Įjungtas tarpinis serveris (proxy) paštui
Požymis: DNS šalyje su proxy funkcija (pvz., oranžinis debesėlis Cloudflare paslaugoje) svetainė veikia, tačiau pašto programa negali prisijungti, arba svetainės sertifikatas neatsinaujina.
Patvirtinimas: dig +short A mail.example.com grąžina proxy adresą vietoj Jūsų pašto serverio adreso.
Priežastis: žiniatinklio proxy perduoda tik žiniatinklio srautą, ne paštą.
Sprendimas: išjunkite proxy (pilkas debesėlis, „DNS only“) ties mail ir visais vardais, kuriuos naudoja Jūsų pašto programa. Dėl sertifikatų: laikinai išjunkite proxy, kol sertifikatas bus išduotas, arba naudokite tinkamą SSL režimą prie proxy.
10. Senas DS po perkėlimo
Požymis: perkėlus vardų serverius, Jūsų domenas daliai pasaulio tampa nepasiekiamas; kiti žmonės nieko nepastebi.
Patvirtinimas: dig example.com @1.1.1.1 grąžina SERVFAIL, o dig +cd example.com @1.1.1.1 grąžina atsakymą. DNSViz (https://dnsviz.net/, pamoka 8.1) pažymi DS raudonai ir po juo nupiešia pilką, taškuotą raktą, kurio nebėra Jūsų zonoje. Zonemaster ir Verisign DNSSEC Debugger praneša tą patį žodžiais.
Priežastis: registre vis dar yra senos šalies DS įrašas (pamoka 8.1). Klaidą gauna tik patvirtinimą (validaciją) atliekantys resolveriai, todėl ne visi tai pastebi.
Sprendimas: atnaujinkite DS naujos šalies raktu arba jį pašalinkite, o tada iš naujo įjunkite DNSSEC.
Ir „klaida“, kuri nėra klaida: talpykla (cache)
Labai dažnai viskas tvarkoje, tačiau Jūs vis dar matote seną atsakymą. Tai atpažįstama taip: dig @<nameserver> grąžina naują atsakymą, internetinis tikrinimo įrankis kitose šalyse taip pat, tačiau Jūsų kompiuteris ne. Sprendimas: privatus langas, telefonas per 4G/5G arba talpyklos išvalymas (pamoka 8.2). Taip pat pamiršta eilutė Jūsų kompiuterio hosts faile (iš ankstesnio testo prieš perkėlimą) sukelia tą patį vaizdą: pašalinkite tą eilutę.
Susijusi spąstas: naujo vardo užklausa prieš jį sukuriant. Resolveris tada „įsimena“, kad vardo „nėra“ (neigiama talpykla), ir prireikia daugiau laiko, kol naujas vardas pradės veikti (pamoka 6.2).
Praktikoje: kaip tai atrodo skydelyje
Daugelis skydelių padeda išvengti dalies šių klaidų. Pavyzdžiui, Mano WebOké įspėja, jei trūksta taško gale, ir po vardo lauku parodo pilną vardą; DirectAdmin atmeta negaliojančius įrašus su pranešimu „Error Writing Records“. Cloudflare ir kitos šalys turi panašius įspėjimus. Prieš didesnius pakeitimus pasidarykite zonos atsarginę kopiją arba eksportą, tada visada galėsite grįžti atgal.
Santrauka
- Visada pradėkite nuo: kokie vardų serveriai ir ką sako autoritetinis vardų serveris.
- Dauguma klaidų slypi varde (taškas, dubliuotas domeno vardas) arba vietoje (netinkama šalis).
- Vienas SPF įrašas, jokio CNAME ties @, AAAA perkeliamas kartu su A, MX rodo į vardą su adresu.
- SERVFAIL po perkėlimo dažniausiai reiškia seną DS.
- Jei tik Jūs matote seną atsakymą, tai Jūsų talpyklos arba hosts failo kaltė.
Testas
Užduotis
Užduotis Z8.4: Klaidų atpažinimas. Gausite penkis trumpus atvejus kartu su dig komandos rezultatais (kurso aplinkoje). Kiekvienam atvejui pasirinkite, kuri iš dešimties klaidų tai yra. Po to tikra paieška: naudodami dig arba internetinį įrankį išsiaiškinkite, kuris įrašas sugedęs domenui dnssec-failed.org (statusas ir ką grąžina +cd), ir ar wikipedia.org turi lygiai vieną SPF įrašą.
Skaitykite daugiau
Šiuose straipsniuose aprašomi sprendimai WebOké skydeliuose; kitose šalyse mygtukai gali vadintis kitaip.
- Svetainė arba el. paštas neveikia po perkėlimo ar DNS įrašų pakeitimo: patikrinkite savo domeną
- Kiek laiko užtrunka nameserver arba DNS pakeitimas ir ką daryti, jei jo nematote?
- DirectAdmin vadovas 18.7: Mano domenas dar neveikia po perkėlimo ar pakeitimo
- DirectAdmin vadovas 18.9: Negaunu daugiau el. laiškų
- DirectAdmin vadovas 5.4: CNAME įrašai ir taškas pabaigoje
- Nepavyksta siųsti laiškų per PHP, MX įrašai nukreipti kitur
- Nuosavų arba išorinių vardų serverių (pvz., „Cloudflare“) naudojimas Jūsų domenui
