DNS propagációnak (terjedésnek) azt az időszakot nevezik, amíg egy DNS-módosítás, például egy A-rekord új IP-címe vagy egy domain névszerver-váltása mindenhol érvényre jut. Ez alatt egyes látogatók már az új, mások még a régi szervert érik el, és a saját gépén is előfordulhat, hogy a régi weboldal töltődik be. Ez nem hiba: a változás a beállított időzítések szerint magától elér mindenkihez.
A kifejezés kissé félrevezető, mert a módosítás valójában nem „terjed” sehová. A DNS-kiszolgálók nem küldik tovább egymásnak az új adatot, hanem a korábban lekérdezett választ egy ideig a gyorsítótárukban tartják, és csak annak lejárta után kérdezik le újra.
Hogyan jut el egy DNS-módosítás a látogatókhoz?
Amikor valaki beírja a böngészőjébe, hogy pelda.hu, a gépe nem közvetlenül a domain névszerverét kérdezi meg, hanem egy rekurzív DNS-kiszolgálót (rezolvert). Ez általában az internetszolgáltatóé, vagy egy nyilvános szolgáltatás, például a Cloudflare 1.1.1.1 vagy a Google 8.8.8.8 címe. A rezolver, ha még nem ismeri a választ, végigkérdezi a láncot: a gyökérkiszolgálóktól megtudja, kik felelnek a .hu végződésért, a .hu nyilvántartó kiszolgálóitól, melyek a pelda.hu névszerverei, végül ezektől a hiteles névszerverektől megkapja a domain IP-címét.
Minden válasz mellé jár egy TTL (Time To Live) érték másodpercben, amely megmondja, meddig használhatja a rezolver a választ újabb lekérdezés nélkül. Ha a pelda.hu A-rekordja 3600 másodperces TTL-lel a 192.0.2.10 címre mutat, és ezt a 203.0.113.20 címre módosítja, akkor az a rezolver, amely a módosítás előtt kérdezte le a domaint, legfeljebb egy óráig még a régi címet adja. Mivel minden rezolver máskor kérdezett, a látogatók fokozatosan, az óra alatt egyenként váltanak át az új szerverre.
A rezolveren kívül a számítógép operációs rendszere és a böngésző is tárol DNS-válaszokat, ezért az otthoni gépén akkor is láthatja a régi oldalt, amikor máshonnan már az új töltődik be.
Meddig tart?
A várakozás attól függ, mit módosít.
Rekordok módosítása egy zónán belül (A, AAAA, CNAME, MX, TXT): legfeljebb a régi rekord TTL-jéig, amely a módosítás pillanatában a gyorsítótárakban volt. A szokásos értékek:
| TTL | Leghosszabb várakozás |
|---|---|
| 300 | 5 perc |
| 3600 | 1 óra |
| 14400 | 4 óra |
| 86400 | 1 nap |
Az új TTL-érték a már gyorsítótárazott válaszokra nincs hatással: ha a régi rekord egy napig érvényes volt, a módosítás után hiába állítja a TTL-t 5 percre, a rezolverek egy részén még egy napig a régi cím marad.
Névszerver-váltás: ilyenkor több lépés követi egymást. A regisztrátor továbbítja a módosítást a nyilvántartónak, amely az új névszervereket közzéteszi a végződés zónájában; ezután a rezolvereknek a régi névszerver-adatot is el kell felejteniük. Ennek a TTL-jét nem Ön, hanem a nyilvántartó határozza meg:
| Végződés | A névszerver-adat TTL-je |
|---|---|
| .hu | 1 óra |
| .eu, .de | 1 nap |
| .com, .net | 2 nap |
Amíg egy rezolver a régi névszervereket ismeri, azoktól kérdez, így a régi zóna rekordjait kapja. Egy .hu domain névszerver-váltása ezért általában néhány órán belül mindenhol látszik, egy .com domainé akár 48 óráig is eltarthat. A ritka, 72 órás eseteket jellemzően olyan rezolverek okozzák, amelyek a TTL-nél tovább tartják meg a válaszokat.
Új rekord felvétele: egy új aldomain vagy rekord általában azonnal elérhető. Ha azonban valaki (akár Ön) a felvétele előtt már rákeresett, a rezolver a „nincs ilyen rekord” választ is megjegyzi, a zóna SOA rekordjában megadott ideig (ez jellemzően néhány perc és néhány óra között van). Ezért érdemes egy aldomaint előbb létrehozni, és csak utána kipróbálni.
Hogyan rövidítheti le?
- Csökkentse előre a TTL-t. A tervezett módosítás előtt legalább a jelenlegi TTL-nyi idővel (86400 másodperces TTL esetén egy nappal) állítsa a módosítandó rekordok TTL-jét 300 másodpercre. A váltás után így néhány percen belül mindenki az új címet kapja, majd a TTL-t visszaállíthatja a korábbi értékre. A webtárhely zónájában ezt a DNS rekordok szerkesztésénél teheti meg. A névszerver-adat TTL-jén nem tud változtatni, ezért ha csak a weboldal költözik, a gyorsabb út sokszor az A-rekord módosítása (a két módszer összehasonlítása).
- Hagyja néhány napig működni a régi tárhelyet. Amíg a módosítás nem jutott el mindenhová, a látogatók egy része és a beérkező levelek egy része még a régi szerverre érkezik. A régi szolgáltatást a váltás után legalább 2–3 napig ne mondja le, és költözéskor ne a régi oldalon frissítse a tartalmat.
- Tesztelje az új szervert a váltás előtt. A számítógépe
hostsfájljában a domaint ideiglenesen az új IP-címhez rendelheti, így a DNS módosítása előtt megnézheti az oldalt az új helyén; a lépéseket a tárhely-költöztetésről szóló cikk írja le.
Hogyan ellenőrizheti, hol tart?
A legbiztosabb, ha összeveti, mit mondanak a domain hiteles névszerverei, és mit egy nyilvános rezolver. Az ingyenes DNS ellenőrző eszközünk közvetlenül a hiteles névszervereket kérdezi le, így a módosítás után rendszerint azonnal az új értéket mutatja, a DNS-rekord lekérdezés pedig azt, amit a Cloudflare 1.1.1.1 rezolvere éppen a gyorsítótárában tart. Ha a kettő eltér, a módosítás rendben van, csak a gyorsítótárak frissülésére kell várni.
Parancssorból (Linuxon és macOS-en) ugyanez a dig paranccsal kérdezhető le:
dig NS pelda.hu +short
dig A pelda.hu @ns1.pelda-szolgaltato.hu +short
dig A pelda.hu @1.1.1.1 +noall +answer
Az első parancs a domain névszervereit adja meg, a második egy hiteles névszervert kérdez meg közvetlenül (a @ után az első parancs által visszaadott névszervert írja), a harmadik a nyilvános rezolver válaszát mutatja. Ebben a második oszlop a TTL hátralévő része, vagyis az, hány másodperc múlva kérdezi le újra a rezolver a rekordot:
pelda.hu. 2843 IN A 192.0.2.10
Windows alatt az nslookup -type=A pelda.hu 1.1.1.1 parancs ad hasonló eredményt. A dig további lehetőségeit a hálózati hibakeresésről szóló cikk mutatja be. Ha a nyilvános rezolverek már az új címet adják, de az Ön gépe még nem, törölje a helyi DNS-gyorsítótárat, vagy próbálja ki az oldalt mobilinternetről.
Ha a várakozás után sem működik
Ha a hiteles névszerverek is a régi értéket adják, a módosítás nem a megfelelő helyen történt: névszerver-váltás után a rekordokat már az új szolgáltató zónájában kell szerkeszteni, nem a régiben. Ha pedig 48 óra után sem érhető el az oldal, valószínűleg nem a propagációról van szó; a leggyakoribb okokat (elírt névszerverek, hiányzó zóna, a régi DNSSEC-beállítás) a Miért nem nyílik meg weboldalam NS váltás után? cikk sorolja fel. Ha elakad, írjon nekünk a domain nevével, és megnézzük, hol tart a feloldás.
