Har du endret en DNS-post og noen ser det nye mens andre ser det gamle? Det kalles ofte DNS-spredning (propagation). Ordet er litt misvisende: ingenting sprer seg. Det handler om hurtigbuffere som går ut.
Hva som egentlig skjer
Når du endrer en post, har den autoritative navnetjeneren den nye verdien med en gang. Men alle rekursive resolvere som har spurt tidligere, har en kopi i hurtigbufferen og bruker den til TTL-en (time to live) går ut. Resolverne spurte på forskjellige tidspunkt, så kopiene går ut på forskjellige tidspunkt. I mellomtiden får noen det gamle svaret og noen det nye.
Hvor lang tid tar det?
Høyst den gamle TTL-en, regnet fra når hver resolver sist hentet posten. Var TTL-en 3600 sekunder, er alle oppdatert innen en time. Var den 86 400, kan det ta et døgn. To unntak:
- NS-endringer (bytte av navnetjenere) går via delegeringen hos toppdomenet – for .no hos Norid – og TTL-en der.
- Negative svar («finnes ikke») mellomlagres etter SOA-postens minimumsverdi.
Slik flytter du uten nedetid
- Et døgn før: senk TTL-en på postene du skal endre, til for eksempel 300 sekunder.
- Vent til den gamle, lange TTL-en har gått ut.
- Endre postene. Nå tar det høyst fem minutter.
- La den gamle tjenesten kjøre en stund, i tilfelle noen fortsatt har gamle svar.
- Sett TTL-en opp igjen når alt er stabilt.
Sjekk status
- DNS-spredningssjekken spør flere store offentlige resolvere samtidig og viser svar og gjenværende TTL.
- DNS-oppslaget viser det resolveren vår ser akkurat nå.
- DNS-sammenligningen stiller to navn opp mot hverandre, for eksempel gammelt og nytt domene.
Når svarene er forskjellige med vilje
CDN-er og geo-DNS gir ulike svar etter hvor spørsmålet kommer fra. Da er forskjeller mellom resolvere normale og betyr ikke at noe er gammelt. Sjekk om navnet er en CNAME til en CDN.