Změna DNS nefunguje tak, že se po uložení propíše okamžitě po celém internetu. V praxi se nové nastavení musí postupně rozšířit přes nameservery a cache jednotlivých resolverů, takže se běžně bavíme o hodinách, ne o minutách. Ve většině případů se změna projeví během několika hodin, ale někdy může trvat až 24 hodin a výjimečně i déle.
Právě to bývá pro řadu lidí matoucí.
DNS záznamy jsou už změněné, ale web, e-mail nebo jiná služba se stále chová podle původního nastavení.
Nejde nutně o chybu. Často je to jen důsledek toho, jak DNS infrastruktura funguje a jak dlouho si jednotlivé servery staré záznamy drží v paměti.
Proč změna DNS netrvá jen pár minut
DNS servery si ukládají informace o doménách do vyrovnávací paměti, tedy cache.
Díky tomu nemusí při každém dotazu znovu zjišťovat, kam konkrétní doména směřuje. Pro běžný provoz je to výhoda, protože se tím zrychluje odezva i snižuje zátěž. Nevýhodou ale je, že když DNS záznam změníte, část internetu ještě nějakou dobu pracuje se starou verzí.
To znamená, že nová IP adresa nebo nový DNS záznam už mohou být správně nastavené, ale některé servery, poskytovatelé internetu nebo lokální zařízení si ještě drží původní data v paměti. Právě proto se změna neprojeví všude ve stejnou chvíli.
Co je TTL a proč rozhoduje o rychlosti propagace
O tom, jak dlouho si bude DNS server starý záznam držet v cache, rozhoduje hodnota TTL, tedy Time to Live. Jde o čas v sekundách, po který je záznam považovaný za platný, než se znovu načte z autoritativního zdroje.
Typická hodnota TTL bývá 3 600 sekund, tedy jedna hodina. Někdy ale může být nastavená i na 86 400 sekund, což odpovídá 24 hodinám. A právě podle této hodnoty se odvíjí, jak dlouho může změna DNS v praxi trvat. Čím vyšší TTL, tím delší může být čekání.
Počítejte i s krátkým výpadkem
Při změně DNS záznamů je potřeba počítat s tím, že může dojít ke krátkému výpadku v řádu minut.
To se týká hlavně situací, kdy se mění směrování webu, pošty nebo jiných služeb. Pokud se taková změna provádí v době nejvyšší návštěvnosti, dopad bývá citelnější.
Proto se DNS změny běžně doporučuje dělat mimo špičku – typicky večer nebo o víkendu, kdy je menší provoz a případné krátké přerušení zasáhne méně uživatelů.
Jak ověřit, jestli se změna už propsala
Nejjednodušší způsob je ověřit DNS záznamy přes veřejný DNS checker.
Takový nástroj ukáže, jaké záznamy pro vaši doménu vidí různé servery z různých částí světa. Díky tomu rychle poznáte, jestli je problém opravdu v neprovedené změně, nebo jen v tom, že část resolverů ještě pracuje se starou cache.
Praktické je zadávat doménu bez „www“ a zkontrolovat, jestli se už zobrazuje nový stav.
Pokud checker ukazuje správné záznamy, ale web se vám pořád načítá špatně, problém už často nebývá v autoritativním DNS nastavení, ale v lokální nebo poskytovatelské cache.
Co dělat, když se změna neprojeví ani po 24 hodinách
Pokud se DNS změna neukáže ani po jednom dni, není automaticky jisté, že je něco špatně nastavené. V některých případech může být TTL vyšší než obvyklých 24 hodin a propagace se tím prodlouží. To je ta mírnější varianta.
Častější bývá jiný scénář: veřejný DNS checker už ukazuje správné záznamy, ale při otevření webu stále vidíte starou verzi nebo třeba chybu 404. V takové situaci bývá problém v tom, že staré záznamy zůstaly uložené v cache na úrovni operačního systému, prohlížeče nebo DNS resolveru vašeho poskytovatele internetu.
Pomáhá vymazání DNS cache
Právě v takové situaci má smysl vyčistit lokální DNS cache. Ve Windows se to běžně dělá příkazem ipconfig /flushdns v příkazovém řádku. Na macOS se postup liší podle verze systému, ale princip je stejný – vymazat staré lokálně uložené DNS informace a vynutit jejich nové načtení.
Pokud už DNS checker ukazuje správné hodnoty a problém přetrvává jen u vás nebo u části uživatelů, bývá flush DNS cache jeden z nejrychlejších kroků, který stojí za vyzkoušení.
Na co myslet před změnou DNS
Pokud víte, že budete DNS měnit, vyplatí se podobné zásahy plánovat dopředu. Důležité je znát aktuální TTL, počítat s tím, že změna nebude okamžitá, a neprovádět kritické zásahy v nejvytíženější části dne. U důležitých služeb se také vyplatí nejprve zkontrolovat, jaké záznamy jsou aktuálně nastavené, a mít jasno v tom, co přesně se bude měnit.
Právě DNS totiž patří k věcem, které působí jednoduše jen do chvíle, než se něco pokazí. A když už ke změně dochází, největším problémem obvykle nebývá samotný zápis, ale právě čekání na to, až se nová verze skutečně propsaná napříč internetem.
Související pojmy
- DNS – představuje systém, který převádí doménová jména na konkrétní IP adresy a další technické záznamy. Právě kvůli tomu, jak DNS funguje a jak se jeho záznamy ukládají do cache, se změny po internetu neprojeví okamžitě.
- Nameservery – právě přes ně se nové DNS nastavení šíří dál. Pokud člověk neví, jakou roli nameservery v celém procesu hrají, snadno získá dojem, že změna DNS neproběhla, i když se ve skutečnosti jen ještě nestihla propsat.
- TTL (Time to Live) – jeden z nejdůležitějších pojmů pro pochopení rychlosti DNS propagace, protože určuje, jak dlouho si jednotlivé servery drží staré záznamy v cache, než si stáhnou novou verzi.
- DNS resolver – právě resolver rozhoduje o tom, jaké DNS údaje v danou chvíli uživatel nebo zařízení skutečně dostane. V článku dává smysl hlavně proto, že právě na úrovni resolveru často vzniká zpoždění mezi provedenou změnou a tím, co uživatel reálně vidí.
- DNS cache – bez tohoto pojmu se změna DNS vysvětluje jen napůl, protože právě cache je nejčastější důvod, proč se nový záznam neprojeví okamžitě.
- SPF záznamy – ukazují konkrétní typ DNS záznamu používaného u e-mailu a dobře doplňují představu o tom, že DNS neslouží jen pro směrování webu, ale i pro další klíčové internetové služby.
- DKIM záznamy – další praktický příklad DNS záznamu, na kterém je dobře vidět, že změny v DNS mohou mít přímý dopad i na doručování a ověřování e-mailů.
- DMARC – rozšiřuje kontext o to, jak DNS vstupuje i do ochrany domény a e-mailové důvěryhodnosti, nejen do samotného směrování provozu.