Mi az a DNS propagáció, és meddig tart?

Domain 5 perc olvasás

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.

Infografika: a DNS-gyorsítótárak és a TTL szerepe a propagációban

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 hosts fá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.

Vissza: Domain leírások (31)