DNS-muutoksen leviäminen (DNS propagation) on aika, joka kuluu DNS-tietueen muuttamisesta siihen, että kaikki näkevät uuden arvon. Mitään ei oikeasti työnnetä eteenpäin: resolverit eri puolilla internetiä tarjoilevat välimuistiinsa tallentamaansa kopiota, kunnes sen TTL (time to live) umpeutuu, ja kysyvät sitten uudelleen. Useimmat tietuemuutokset näkyvät kaikkialla vanhan tietueen TTL:n kuluessa, usein muutamassa minuutissa tai tunnissa. Nimipalvelinmuutokset rekisterinpitäjällä voivat kestää jopa kaksi vuorokautta. Kun haluat tietää, missä vaiheessa muutos on, kysy ensin verkkotunnuksen omilta nimipalvelimilta, mitä ne julkaisevat, ja sitten muutamalta julkiselta resolverilta, mitä niiden välimuistissa vielä on.
Mitä tapahtuu, kun muutat tietuetta
Kävijän selain ei kysy suoraan DNS-palveluntarjoajaltasi. Kysely kulkee useiden välimuistien läpi, ja jokainen niistä voi vastata muistista:
Selain muistaa tuoreet vastaukset hetken aikaa.
Käyttöjärjestelmällä on oma resolverivälimuistinsa.
Rekursiivinen resolveri internetpalveluntarjoajalla, yrityksen verkossa tai julkisessa palvelussa kuten 1.1.1.1 tai 8.8.8.8 tallentaa jokaisen vastauksen niin pitkäksi aikaa kuin sen TTL sallii.
Verkkotunnuksesi autoritatiiviset nimipalvelimet sisältävät varsinaiset tietueet. Aluksi vain ne tietävät muutoksestasi.
Kun tallennat muutoksen DNS-palveluntarjoajallasi, autoritatiiviset nimipalvelimet alkavat yleensä tarjota sitä sekunneissa tai minuuteissa. Jokainen välimuisti alempana pitää vanhan vastauksen, kunnes sen kopio vanhenee. Kaksi eri verkoissa olevaa kävijää voi siis hetken nähdä eri palvelimen, ja se on normaalia, ei virhe. TTL asetetaan tietuekohtaisesti sekunteina, ja sen päätät sinä. Lyhyt versio löytyy sanaston DNS propagation -merkinnästä.
Kauanko DNS-muutoksen leviäminen kestää
Tavalliset tietueet: vanha TTL
A-, AAAA-, CNAME-, MX- tai TXT-tietueen kohdalla pisin odotus on se TTL, joka vanhalla tietueella oli, kun resolverit tallensivat sen. Tietuetta, jonka TTL on 3600, voidaan tarjoilla välimuistista vielä tunnin ajan muutoksen jälkeen. TTL:n laskeminen samalla hetkellä kuin muutos ei auta, koska resolverit, joilla vanha kopio jo on, pitävät sen vanhan TTL:n ajan.
Nimipalvelinmuutokset: yläpuolinen vyöhyke
Kun siirrät verkkotunnuksen toiselle DNS-palveluntarjoajalle, muutat sen NS-tietueet rekisterinpitäjällä. Ne julkaistaan yläpuolisessa vyöhykkeessä, kuten .com, ja niiden TTL:n asettaa yläpuolinen vyöhyke, et sinä. Voit tarkistaa tämän itse kysymällä suoraan .com-palvelimelta:
dig +norecurse @a.gtld-servers.net example.com NS
Vastaus listaa nimipalvelimet, joiden TTL on 172800 sekuntia eli 48 tuntia. Siitä tulee neuvo ”jopa 48 tuntia”. Sinä aikana osa resolvereista kysyy vanhalta palveluntarjoajalta ja osa uudelta, joten molempien on tarjottava samat tietueet, kunnes muutos on asettunut.
Uudet nimet: negatiivinen välimuisti
Jos joku haki nimeä ennen kuin se oli olemassa, esimerkiksi uutta aliverkkotunnusta, jota testasit liian aikaisin, resolverit voivat tallentaa välimuistiin myös vastauksen ”nimeä ei ole”. RFC 2308 määrittää, kuinka pitkäksi aikaa: SOA-tietueen minimum-kentän ja SOA-tietueen oman TTL:n pienemmän arvon. Siksi upouusi aliverkkotunnus voi näyttää yhdessä verkossa hetken virhettä DNS_PROBE_FINISHED_NXDOMAIN ja toimia toisessa.
Sovellukset, jotka pitävät osoitteista kiinni
Pitkään käynnissä oleva ohjelma, kuten sovelluspalvelin tai välityspalvelin, voi selvittää isäntänimen kerran käynnistyessään ja pitää osoitteen uudelleenkäynnistykseen asti, sanoi TTL mitä tahansa. Jos yksi palvelu keskustelee yhä vanhan palvelimen kanssa, vaikka kaikki muut ovat siirtyneet, käynnistä se uudelleen ennen kuin epäilet DNS:ää.
Näin tarkistat DNS-muutoksen leviämisen
Etene lähteestä ulospäin. Varmista ensin, että muutos on julkaistu, ja katso sitten, missä välimuisteissa on yhä vanha vastaus.
1. Selvitä autoritatiiviset nimipalvelimet
dig NS example.com +short
Jos nämä eivät ole sen palveluntarjoajan nimipalvelimia, jolla teit muutoksen, muokkasit väärää vyöhykettä. Se on yleinen syy siihen, että muutos ”ei koskaan leviä”.
2. Kysy jokaiselta nimipalvelimelta suoraan
dig @ns1.example-dns.com example.com A +short
dig @ns1.example-dns.com example.com SOA +short
Toista jokaiselle listan nimipalvelimelle. Kaikkien pitäisi palauttaa uusi arvo ja sama SOA-sarjanumero, joka on SOA-vastauksen kolmas kenttä. Palvelin, jolla on vanhempi sarjanumero, ei ole vielä saanut päivitystä. Silloin kyse on leviämisestä palveluntarjoajasi sisällä, ja se asettuu yleensä minuuteissa.
3. Kysy julkisilta resolvereilta
dig @1.1.1.1 example.com A
dig @8.8.8.8 example.com A
Ilman valitsinta +short dig näyttää jokaisen vastauksen TTL:n. Resolverilta saatuna luku kertoo, kauanko sen välimuistikopiolla on aikaa jäljellä: vanha arvo, jolla on jäljellä 1200 sekuntia, korvautuu 20 minuutin kuluessa. Windowsissa nslookup -type=A example.com 1.1.1.1 kysyy tietyltä resolverilta, mutta ei näytä TTL:ää. Ilmainen DNS-hakutyökalumme näyttää minkä tahansa tietuetyypin vastaukset ja TTL:t palvelimemme resolverilta Tukholmasta ilman mitään asennuksia.
4. Seuraa delegointia nimipalvelinsiirron jälkeen
dig +trace example.com
+trace aloittaa juuresta ja seuraa viittauksia alas nimipalvelimillesi asti välimuisteista välittämättä. Jos jäljitys päättyy uudelle palveluntarjoajalle, rekisterinpitäjän muutos on voimassa, ja jäljellä on vain välimuistien päivittyminen.
Suunnittele muutos niin, ettei leviäminen haittaa
Leviämistä ei voi nopeuttaa muutoksen jälkeen, mutta sen voi lyhentää etukäteen. Kun siirryt uudelle palvelimelle:
MilloinVaiheVähintään yhden vanhan TTL:n verran ennenLaske tietueen TTL:ää, esimerkiksi 3600 sekunnista 300 sekuntiin.Ennen muutostaOta uusi palvelin käyttöön ja testaa se, esimerkiksi hosts-tiedoston merkinnällä tai komennolla curl –resolve.MuutosOsoita tietue uuteen palvelimeen ja tarkista autoritatiivinen vastaus.Leviämisen aikanaPidä vanha palvelin käynnissä ja tarjoamassa samaa sisältöä. Osa kävijöistä päätyy yhä sille.Noin vuorokautta myöhemminNosta TTL takaisin ja sammuta vanha palvelin.
Nimipalvelinsiirrossa kopioi ensin jokainen tietue uudelle palveluntarjoajalle ja vertaa vyöhykkeitä tietue tietueelta, myös MX- ja TXT-tietueet. Unohtunut TXT-tietue rikkoo sähköpostin todennuksen. SPF-, DKIM- ja DMARC-tarkistin näyttää, meneekö se yhä läpi. Jos verkkotunnus käyttää DNSSECiä, noudata uuden palveluntarjoajan ohjeita DS-tietueesta rekisterinpitäjällä, sillä uusiin nimipalvelimiin sopimaton DS-tietue saa validoivat resolverit vastaamaan SERVFAIL.
Omien välimuistien tyhjentäminen
Voit tyhjentää omat välimuistisi, jotta näet uuden arvon aiemmin. Siitä on apua testatessa, mutta kävijöillesi se ei muuta mitään.
macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Windows: ipconfig /flushdns
Chrome: avaa chrome://net-internals/#dns ja tyhjennä isäntävälimuisti.
Julkiset resolverit: Cloudflare ja Google antavat poistaa yksittäisen nimen välimuististaan: 1.1.1.1:n tyhjennyssivulla ja Google Public DNS:n tyhjennyssivulla.
Internetpalveluntarjoajasi ja kävijöidesi resolvereita ei voi tyhjentää ulkopuolelta. Ne vanhenevat omassa tahdissaan.
Kun kyse ei ole leviämisestä
Jos autoritatiiviset nimipalvelimet palauttavat yhä vanhan arvon, odottaminen ei auta. Etsi sen sijaan jotakin näistä:
Väärä vyöhyke tai palveluntarjoaja. Tietuetta muutettiin palveluntarjoajalla, jota verkkotunnus ei enää käytä.
Väärä nimi. Juuritunnus (example.com) ja www.example.com ovat erillisiä tietueita.
Välityspalvelin edessä. Kun tietueelle on otettu käyttöön CDN tai välityspalvelin, julkinen DNS palauttaa tarkoituksella välityspalvelimen osoitteet, ei palvelimesi osoitteita.
Tietue, joka ei koskaan tallentunut, tai kirjoitusvirhe arvossa. Vertaa palveluntarjoajan hallintapaneelissa näkyvää arvoa dig-komennon vastaukseen.
DNS-tietuetyypit-merkintä kertoo, mitä kukin tietue tekee, ja tarkistuslista sivuston kaatumiseen käy läpi DNS:n jälkeiset vaiheet.
Tiedä, kun tietue muuttuu, Uptimecheckin avulla
Leviäminen on suunniteltu DNS-muutos. Suunnittelematon muutos, kuten kirjoitusvirhe siirron aikana tai kaapattu rekisterinpitäjätili, on se, josta kannattaa saada hälytys. Uptimecheckin DNS-valvonta seuraa A-, AAAA-, CNAME-, MX-, NS-, SOA-, TXT- ja CAA-tietueita:
Se kysyy suoraan verkkotunnuksen autoritatiivisilta nimipalvelimilta, joten muutos näkyy seuraavassa tarkistuksessa ilman välissä olevaa resolverivälimuistia. Kun nimipalvelimet antavat eri vastauksia, valvontasivu kertoo sen.
Uudesta tietuejoukosta hälytetään, kun kaksi peräkkäistä tarkistusta on nähnyt sen, ja hälytyksessä ovat vanhat ja uudet arvot. Muutos tallentuu myös tietueen historiaan.
Syötä odottamasi arvot, niin tarkistus epäonnistuu aina, kun julkaistut tietueet eivät vastaa niitä. Samalla näet, että suunniteltu muutos on tullut voimaan.
Tarkistukset voivat toistua jopa minuutin välein. Start sisältää 10 DNS-valvontaa, Professional 25 ja Business 150.
Yhdistä se itse sivuston käytettävyystarkistuksiin ja verkkotunnuksen vanhenemisen valvontaan. Käyttöönotto-ohjeet löydät oppaasta näin otat DNS-valvonnan käyttöön, ja varoitusmerkit oppaasta näin tunnistat kaapatut DNS-tietueet.
Tiedä heti, kun tietueesi muuttuvat. Kokeile Uptimecheckiä ilmaiseksi 14 päivää, luottokorttia ei tarvita.