Širjenje DNS (propagacija) je obdobje, dokler sprememba DNS, na primer nov naslov IP v zapisu A ali zamenjava imenskih strežnikov domene, ne začne veljati povsod. V tem času nekateri obiskovalci že dosežejo novi strežnik, drugi še stari, in tudi na tvojem računalniku se lahko še naloži stara spletna stran. To ni napaka: sprememba po nastavljenih časih sama doseže vse.
Izraz je nekoliko zavajajoč, saj se sprememba v resnici nikamor „ne širi”. Strežniki DNS novih podatkov ne pošiljajo drug drugemu, temveč prej poizvedeni odgovor nekaj časa hranijo v predpomnilniku in ga po izteku znova poizvedo.
Kako sprememba DNS pride do obiskovalcev?
Ko nekdo v brskalnik vpiše pelda.hu, njegov računalnik ne vpraša neposredno imenskega strežnika domene, temveč rekurzivni strežnik DNS (razreševalnik). To je običajno strežnik ponudnika internetnih storitev ali javna storitev, na primer naslov 1.1.1.1 Cloudflara ali 8.8.8.8 Googla. Če razreševalnik odgovora še ne pozna, povpraša po verigi: od korenskih strežnikov izve, kdo je odgovoren za končnico .hu, od strežnikov registra .hu, kateri so imenski strežniki pelda.hu, nazadnje pa od teh avtoritativnih imenskih strežnikov dobi naslov IP domene.
Vsak odgovor spremlja vrednost TTL (Time To Live) v sekundah, ki pove, kako dolgo lahko razreševalnik odgovor uporablja brez nove poizvedbe. Če zapis A domene pelda.hu s TTL 3600 sekund kaže na naslov 192.0.2.10 in ga spremeniš na naslov 203.0.113.20, bo razreševalnik, ki je domeno poizvedel pred spremembo, še največ eno uro vračal stari naslov. Ker je vsak razreševalnik poizvedoval ob drugem času, obiskovalci na novi strežnik preklopijo postopoma, posamično v tej uri.
Poleg razreševalnika odgovore DNS hranita tudi operacijski sistem računalnika in brskalnik, zato lahko na domačem računalniku vidiš staro stran, ko se drugje že nalaga nova.
Koliko časa traja?
Čakanje je odvisno od tega, kaj spremeniš.
Sprememba zapisov znotraj cone (A, AAAA, CNAME, MX, TXT): največ do izteka TTL starega zapisa, ki je bil v trenutku spremembe v predpomnilnikih. Običajne vrednosti:
| TTL | Najdaljše čakanje |
|---|---|
| 300 | 5 minut |
| 3600 | 1 ura |
| 14400 | 4 ure |
| 86400 | 1 dan |
Nova vrednost TTL ne vpliva na že predpomnjene odgovore: če je stari zapis veljal en dan, po spremembi zaman nastaviš TTL na 5 minut, na delu razreševalnikov bo stari naslov ostal še en dan.
Zamenjava imenskih strežnikov: takrat si sledi več korakov. Registrar spremembo posreduje registru, ki nove imenske strežnike objavi v coni končnice; nato morajo razreševalniki pozabiti tudi stare podatke o imenskih strežnikih. Njihovega TTL ne določiš ti, temveč register:
| Končnica | TTL podatkov o imenskih strežnikih |
|---|---|
| .hu | 1 ura |
| .eu, .de | 1 dan |
| .com, .net | 2 dni |
Dokler razreševalnik pozna stare imenske strežnike, poizveduje pri njih in dobiva zapise stare cone. Zamenjava imenskih strežnikov domene .hu je zato običajno vidna povsod v nekaj urah, pri domeni .com pa lahko traja tudi do 48 ur. Redke 72-urne primere običajno povzročijo razreševalniki, ki odgovore hranijo dlje od TTL.
Dodajanje novega zapisa: nova poddomena ali zapis je običajno na voljo takoj. Če pa je kdo (tudi ti) pred dodajanjem že poizvedoval, si razreševalnik zapomni tudi odgovor „takega zapisa ni”, za čas, določen v zapisu SOA cone (običajno od nekaj minut do nekaj ur). Zato je poddomeno bolje najprej ustvariti in jo šele nato preizkusiti.
Kako ga skrajšaš?
- Vnaprej zmanjšaj TTL. Pred načrtovano spremembo vsaj za čas trenutnega TTL (pri TTL 86400 sekund en dan) nastavi TTL zapisov, ki jih boš spremenil, na 300 sekund. Po zamenjavi tako vsi v nekaj minutah dobijo novi naslov, nato lahko TTL vrneš na prejšnjo vrednost. V coni spletnega gostovanja to narediš pri urejanju zapisov DNS. TTL podatkov o imenskih strežnikih ne moreš spremeniti, zato je, če se seli le spletna stran, hitrejša pot pogosto sprememba zapisa A (primerjava obeh načinov).
- Staro gostovanje pusti delovati nekaj dni. Dokler sprememba ni prišla povsod, del obiskovalcev in del prejete e-pošte še prihaja na stari strežnik. Stare storitve po zamenjavi ne odpovej vsaj 2–3 dni, med selitvijo pa vsebine ne posodabljaj na stari strani.
- Novi strežnik preizkusi pred zamenjavo. V datoteki
hostssvojega računalnika lahko domeno začasno povežeš z novim naslovom IP, tako lahko stran na novem mestu pogledaš že pred spremembo DNS; korake opisuje članek o selitvi gostovanja.
Kako preveriš, kako daleč je?
Najzanesljiveje je primerjati, kaj pravijo avtoritativni imenski strežniki domene in kaj javni razreševalnik. Naše brezplačno orodje za preverjanje DNS poizveduje neposredno pri avtoritativnih imenskih strežnikih, zato po spremembi običajno takoj pokaže novo vrednost, poizvedba zapisa DNS pa tisto, kar ima razreševalnik 1.1.1.1 Cloudflara trenutno v predpomnilniku. Če se razlikujeta, je sprememba v redu, le na osvežitev predpomnilnikov je treba počakati.
Iz ukazne vrstice (v Linuxu in macOS) isto poizveš z ukazom dig:
dig NS pelda.hu +short
dig A pelda.hu @ns1.pelda-szolgaltato.hu +short
dig A pelda.hu @1.1.1.1 +noall +answer
Prvi ukaz vrne imenske strežnike domene, drugi neposredno vpraša avtoritativni imenski strežnik (za @ vpiši imenski strežnik, ki ga je vrnil prvi ukaz), tretji pa pokaže odgovor javnega razreševalnika. V njem je drugi stolpec preostanek TTL, torej čez koliko sekund bo razreševalnik zapis znova poizvedel:
pelda.hu. 2843 IN A 192.0.2.10
V sistemu Windows podoben rezultat da ukaz nslookup -type=A pelda.hu 1.1.1.1. Druge možnosti ukaza dig predstavlja članek o odpravljanju težav z omrežjem. Če javni razreševalniki že vračajo novi naslov, tvoj računalnik pa še ne, izbriši lokalni predpomnilnik DNS ali stran preizkusi prek mobilnega interneta.
Če po čakanju še vedno ne deluje
Če tudi avtoritativni imenski strežniki vračajo staro vrednost, sprememba ni bila narejena na pravem mestu: po zamenjavi imenskih strežnikov je treba zapise urejati v coni novega ponudnika, ne starega. Če pa stran tudi po 48 urah ni dosegljiva, verjetno ne gre za širjenje; najpogostejše vzroke (napačno vpisani imenski strežniki, manjkajoča cona, stara nastavitev DNSSEC) našteva članek Zakaj se moja spletna stran po zamenjavi NS ne odpre?. Če se zatakne, nam piši z imenom domene in pogledali bomo, kako daleč je razreševanje.
