S čím vám můžeme pomoci?

Co je TTL a proč se změna DNS projeví až za několik hodin?

Jak DNS dotazy procházejí přes cache resolverů, co znamená hodnota TTL, jak sledovat propagaci pomocí nslookup a dig a jak vymazat DNS cache v počítači.

Obsah návodu
  1. Jak DNS funguje
  2. Co je TTL
  3. Jak sledovat, kde se změna už projevila
  4. Jak zkrátit TTL před plánovanou změnou
  5. Vyprázdnění DNS cache v počítači
  6. Řešení problémů

Změnili jste DNS záznamy, ale web se stále otevírá ze starého serveru nebo pošta chodí na starou adresu. Není to chyba – DNS záznamy se do celého internetu nešíří okamžitě. Jak dlouho to trvá, určuje hodnota TTL (Time To Live) každého záznamu.

Jak DNS funguje

Když zadáte do prohlížeče adresu www.vasedomena.cz, počítač se musí dozvědět, na jaké IP adrese web běží. Dotaz projde několika úrovněmi:

  1. Počítač se nejprve podívá do vlastní paměti (cache) a do souboru hosts.
  2. Pokud odpověď nezná, zeptá se resolveru – DNS serveru vašeho poskytovatele internetu, případně veřejného resolveru (například Google 8.8.8.8 nebo Cloudflare 1.1.1.1).
  3. Resolver se zeptá autoritativních DNS serverů domény (u domén směrovaných na Datahost jsou to ns.datahost.cz a ns2.datahost.cz). Ty mají vždy aktuální hodnotu.
  4. Resolver odpověď vrátí a zároveň si ji uloží do cache, aby se při dalším dotazu nemusel ptát znovu.

Co je TTL

TTL je číslo v sekundách, které autoritativní server posílá spolu s každým záznamem. Říká resolverům i počítačům: „Tuto odpověď si smíte pamatovat tak dlouho.“ Dokud TTL nevyprší, resolver vrací starou hodnotu z cache a na autoritativní server se vůbec neptá.

TTL Odpovídá Typické použití
300 5 minut krátce před plánovanou změnou
3600 1 hodina běžná hodnota
86400 24 hodin záznamy, které se nemění (často NS a MX)

Době, než všechny resolvery na světě starou hodnotu zapomenou, se říká propagace DNS. Nejde o postupné šíření, ale o vypršení cache na tisících různých míst – proto se změna někomu projeví hned a jinému až za několik hodin. Při změně DNS serverů domény (u domén .cz změna NSSET) se navíc čeká na obnovu zóny v registru, typicky v řádu hodin.

Jak sledovat, kde se změna už projevila

Online nástroj dnschecker.org zobrazí, jakou hodnotu vracejí resolvery v různých zemích. Na vlastním počítači použijte příkazový řádek:

nslookup vasedomena.cz
nslookup -type=MX vasedomena.cz
nslookup vasedomena.cz 8.8.8.8

Třetí příkaz se ptá přímo veřejného resolveru Google, nikoli vašeho poskytovatele. Na macOS a Linuxu je přehlednější příkaz dig:

dig vasedomena.cz A +noall +answer
dig @ns.datahost.cz vasedomena.cz A +noall +answer

Druhé číslo ve výsledku (například vasedomena.cz. 2874 IN A 1.2.3.4) je zbývající TTL v sekundách. Dotaz přímo na autoritativní server (druhý příkaz) ukáže novou hodnotu okamžitě – tím si ověříte, že změna byla provedena správně, i když ji ostatní resolvery ještě nevidí.

Jak zkrátit TTL před plánovanou změnou

  1. Alespoň jeden až dva dny před změnou (přesun webu, změna MX) nechte snížit TTL dotčených záznamů například na 300 sekund. Změnu DNS u Datahostu provádí podpora podle návodu Jak změnit DNS záznamy?.
  2. Počkejte, než vyprší původní TTL – resolvery si musí nejdřív stáhnout záznam s krátkým TTL.
  3. Proveďte samotnou změnu. Většina resolverů ji převezme do pěti minut.
  4. Po ověření, že vše funguje, nechte TTL vrátit na běžnou hodnotu.

Vyprázdnění DNS cache v počítači

Pokud kolegové změnu už vidí a vy ne, často stačí vyprázdnit cache vlastního počítače:

  • Windows: otevřete Příkazový řádek a spusťte ipconfig /flushdns.
  • macOS: v Terminálu spusťte sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder a zadejte heslo k počítači.
  • Linux (systemd): sudo resolvectl flush-caches.
  • Prohlížeč: Chrome má vlastní cache na adrese chrome://net-internals/#dns (tlačítko Clear host cache). Nejjednodušší je prohlížeč zavřít a znovu otevřít.

Řešení problémů

  • Uplynulo více než 48 hodin a změna se neprojevila. Pravděpodobně byla provedena na jiném místě, než kde doména skutečně DNS záznamy má. Ověřte to podle návodu Jak zjistím, kde má doména DNS záznamy?.
  • Doména přestala fungovat úplně. Postupujte podle návodu Co dělat, když mi přestala fungovat doména?.
  • Router doma nebo ve firmě má vlastní cache. Pomůže jeho restart nebo dočasné nastavení veřejného resolveru (8.8.8.8) v počítači.

Nenašli jste co hledáte?

Obraťte se na nás.
Odpovíme nejpozději do 24 hodin.

Napsat podpoře