Ako predchádzať výpadkom DNS a vypršaniu domén na weboch klientov
Zhrnutie
Keď zlyhá DNS, web nevráti chybu, len jeho názov k nemu prestane viesť. Na weboch klientov sú zvyčajnými príčinami vypršaná doména, chybný záznam po migrácii a omylom zmenené nameservery. Vypršaná doména typu .com väčšinou nezmizne hneď: registrátor zastaví jej preklad na váš web a môže zobraziť stránku s výzvou na obnovenie, a dotazy začnú zlyhávať až neskôr, keď ju register odstráni. Majte po ruke krátky postup s dig, znížte TTL deň či dva pred každou zmenou a sledujte záznamy aj dátumy expirácie. DNS monitor v Baromio kontroluje jeden záznam z jedného servera; upozornenia na expiráciu domény prídu 30, 14 a 7 dní vopred.
HTTP chyby majú stavový kód a zlyhania servera zanechávajú logy. Keď zlyhá DNS, web jednoducho prestane byť tam, kam ukazuje jeho názov. Návštevníkom prehliadač oznámi, že stránka nie je dostupná, alebo uvidia stránku niekoho iného.
Pre freelancera, ktorý spravuje weby klientov, pokrývajú väčšinu prípadov tri príčiny:
- Doména vypršala. Automatické obnovenie zlyhalo, pretože uloženej karte skončila platnosť, alebo upozornenia na obnovenie chodili na adresu, ktorú nikto nečíta, napríklad na starú adresu klienta.
- Záznam sa pri migrácii pokazil. Záznam A stále ukazuje na starý server alebo ho preklep posiela nikam.
- Zmenili sa nameservery. Niekto presunul doménu k novému poskytovateľovi DNS alebo ich zmenil prevod k inému registrátorovi a záznamy sa na novom mieste znovu nevytvorili.
Čo sa naozaj stane, keď doména vyprší
Pri generických doménach ako .com, .net a .org určuje postup politika ICANN s názvom Expired Registration Recovery Policy:
- Registrátor posiela upozornenia registrovanému držiteľovi domény, zvyčajne e-mailom: približne mesiac a približne týždeň pred expiráciou a aspoň jedno ďalšie do piatich dní po nej. Ak doménu registroval klient, upozornenia dostáva klient.
- Po expirácii musí registrátor prerušiť cestu, ktorou sa doména prekladá v DNS. Názov potom buď prestane fungovať, alebo vedie na stránku registrátora, ktorá musí uviesť, že registrácia vypršala a ako ju obnoviť. Web teda nie vždy "zmizne": môže ho nahradiť stránka s výzvou na obnovenie, ktorá sa normálne načíta.
- Ak doménu nikto neobnoví a registrácia sa vymaže, nasleduje 30-dňová lehota Redemption Grace Period, počas ktorej register vypne preklad v DNS. Dotazy vtedy zlyhávajú pre všetkých, zvyčajne s odpoveďou NXDOMAIN ("taká doména neexistuje"), kým sa doména neobnoví.
Národné domény ako .sk, .cz, .de alebo .uk sa riadia pravidlami vlastného registra, preto si pri doméne každého klienta overte podmienky registrátora.
Praktický dôsledok: krok 2 môže pre kontrolu, ktorá číta len stavový kód, vyzerať ako fungujúci web.
Postup pri diagnostike
Keď klient povie "web zmizol", spustite tieto príkazy skôr, než na čokoľvek siahnete. Namiesto example.com dosaďte doménu klienta.
Pozrite si cestu od koreňových serverov k odpovedi a miesto, kde sa preruší:
dig +trace example.com
Porovnajte nameservery, ktoré eviduje register, s tými, ktoré očakávate:
dig +short NS example.com
whois example.com | grep -iE "name ?server|nserver"
Skontrolujte dátum expirácie (názov poľa sa líši podľa registra a niektoré národné registre ho nezverejňujú):
whois example.com | grep -iE "expir"
Opýtajte sa každého autoritatívneho nameservera na sériové číslo SOA. Rozdielne čísla znamenajú, že niektorý nameserver ešte neprevzal najnovšiu zónu alebo sa zmena ešte kopíruje:
for ns in $(dig +short NS example.com); do echo "$ns $(dig +short SOA example.com @$ns | awk '{print $3}')"; done
Porovnajte odpoveď verejného resolvera s autoritatívnou odpoveďou. Ak má autoritatívny server správny údaj a verejný resolver nie, čakáte na vypršanie cache, nejde o chybný záznam:
dig +noall +answer example.com @1.1.1.1
dig +noall +answer example.com @<one of the NS names above>
Potom chybu opravte na správnom mieste: vypršanú doménu u registrátora, chybné nameservery u registrátora, chybný záznam u poskytovateľa DNS.
Pred migráciou: najprv znížte TTL
Resolvery si odpoveď pamätajú tak dlho, ako určuje jej TTL. Ak má záznam A TTL 86400 sekúnd (jeden deň), niektorí návštevníci môžu ešte deň po zmene chodiť na starý server.
- Skontrolujte aktuálne TTL na autoritatívnom serveri:
dig +noall +answer example.com @<nameserver>(druhý stĺpec). - Znížte ho na 300 sekúnd aspoň jedno pôvodné TTL pred zmenou, teda pri TTL jeden deň deň či dva vopred.
- Urobte zmenu a potom ju overte na autoritatívnom serveri aj na verejnom resolveri.
- Nechajte starý server bežať, kým neuplynie pôvodné TTL.
- Keď všetko ukazuje na nové miesto, TTL opäť zvýšte.
Čo sledovať
- Dátum expirácie každej domény klienta, s upozorneniami, ktoré dostanete vy, nielen klient.
- Záznamy, na ktorých záleží: záznam A (alebo AAAA) webu a záznam MX, ak od neho závisí pošta klienta.
- Hodnotu týchto záznamov, nielen to, že existujú, aby ste zachytili aj záznam, ktorý ukazuje na nesprávny server.
- Samotnú stránku: vo fáze so stránkou na obnovenie, opísanej vyššie, rozdiel zistí len kontrola, ktorá číta obsah stránky.
Čo pokrýva DNS monitor a upozornenia na domény v Baromio
- DNS monitor: vyhľadá jeden typ záznamu (A, AAAA, MX, CNAME alebo TXT) pre názov hostiteľa cez bežný resolver na serveri Baromio, tak často, ako to dovoľuje váš plán: každých 5 minút na pláne Free, každú minútu na Pro, každých 30 sekúnd na Business. Zlyhá, keď sa nevráti žiadny záznam. Ak vyplníte pole Očakávaná hodnota, zlyhá aj vtedy, keď prvý záznam v odpovedi daný text neobsahuje, bez ohľadu na veľkosť písmen, takže
google.comsa zhoduje so záznamom MX akoaspmx.l.google.com. Pri názve s viacerými záznamami A sa prvý záznam môže meniť, preto tam očakávanú hodnotu nechajte prázdnu alebo použite časť, ktorú majú všetky spoločnú. - Čo DNS monitor nerobí: kontroluje len z jedného servera, neporovnáva nameservery ani sériové čísla SOA a netestuje šírenie zmien naprieč resolvermi. Na to použite postup vyššie.
- Expirácia domény: zapnite Monitorovať expiráciu domény na monitore typu HTTP alebo keyword (predvolene je vypnuté). Raz denne Baromio načíta dátum expirácie domény z WHOIS a upozorní vás e-mailom a v pripojených kanáloch Slack, Discord alebo webhook v dňoch, keď zostáva 30, 14 a 7 dní. Po upozornení 7 dní vopred už ďalšie nepríde, berte ho teda ako poslednú výzvu. Karta monitora zobrazuje odznak WHOIS s počtom zostávajúcich dní. Ak register dátum expirácie nezverejňuje, žiadny dátum sa nezobrazí. Pri doménach s dvojdielnou príponou, napríklad
.co.uk, vyhľadávanie zatiaľ nefunguje; tie kontrolujte ručne. - Plány: obe funkcie sú dostupné na každom pláne; Free pokrýva 20 monitorov, Pro (9 EUR mesačne) 30 a Business (29 EUR mesačne) 100.
Kontrolný zoznam pre každého klienta
- Zapíšte si registrátora, poskytovateľa DNS a to, kto platí obnovenie.
- Uistite sa, že upozornenia na obnovenie chodia vám a že automatické obnovenie má platnú kartu.
- Nastavte DNS monitor s očakávanou hodnotou na hlavný záznam webu a ďalší na MX, ak záleží na pošte.
- Zapnite upozornenia na expiráciu domény na monitore HTTP alebo keyword pre daný web.
- Znížte TTL deň či dva pred každou zmenou DNS a nechajte starý server bežať, kým neuplynie pôvodné TTL.
Zdroje
- ICANN, Expired Registration Recovery Policy: načasovanie upozornení (2.1), prerušenie cesty prekladu v DNS a stránka na obnovenie po expirácii (2.2), 30-dňová lehota Redemption Grace Period po vymazaní, počas ktorej je preklad v DNS vypnutý (3.1, 3.2).