Sekundær navneserver: Slik bygger du redundant DNS
En sekundær navneserver er en autoritativ kopi av domenets DNS-data som ligger på et annet nettverk enn primærserveren. Når primærserveren er utilgjengelig, svarer den sekundære serveren fortsatt på oppslag, slik at nettsiden og e-posten din forblir tilgjengelig. Slik bygger du DNS-redundans som faktisk tåler feil.
Kortversjonen: DNS (Domain Name System) er katalogen som oversetter domenenavn til IP-adresser. For at katalogen skal tåle feil, trenger domenet ditt minst to autoritative navneservere, én primær og én sekundær. Den sekundære holdes oppdatert automatisk gjennom en zone transfer, og tar over svartjenesten hvis primæren går ned.
Hva er en sekundær navneserver?
En primær navneserver, også kalt master, eier den opprinnelige kopien av sonen, altså alle DNS-oppføringene for domenet ditt. En sekundær navneserver, også kalt slave, holder en kopi av den samme sonen og svarer autoritativt på oppslag på nøyaktig samme måte. Forskjellen ligger i hvem som skriver: endringer gjøres alltid på primæren og kopieres deretter ut til sekundæren.
Autoritative navneservere er de som faktisk bestemmer hvilke svar som er riktige for domenet. Det er de som står i NS-oppføringene (Name Server) til domenet. Hvis du vil ha kontroll på DNS-siden av domenet ditt, er en sekundær server en av de viktigste brikkene i oppsettet.
De fleste registrarer administrerer navneservere i et kontrollpanel, slik som Feno gjør for .no-domener. Da trenger du ikke å bygge infrastrukturen selv, men det er fortsatt nyttig å forstå hvordan den er bygd opp.
Hvorfor trenger du redundans?
Redundans betyr at systemet fortsetter å fungere selv om en komponent feiler. For DNS betyr det at flere uavhengige navneservere kan svare for domenet ditt. Hvis bare én server svarer, har du et enkelt feilpunkt (single point of failure).
DDoS-angrep, strømbrudd, vedlikehold eller en feil hos én leverandør kan ta hele domenet ditt ned. Da slutter ikke bare nettsiden å virke, også e-postlevering og andre DNS-avhengige tjenester blir rammet. Et domene med bare én navneserver er derfor aldri trygt.
Hva skjer når en navneserver er nede?
Rekursive resolverere, altså serverne som finner svar på vegne av brukerne, har svarene i en lokal mellomlagring (cache) i en periode som styres av TTL-en (Time to Live) i oppføringene. Eksisterende besøkende merker kanskje ingenting med en gang. Nye oppslag, og oppslag som er eldre enn TTL-en, feiler derimot hvis det ikke finnes noen annen autoritativ server å spørre.
Slik fungerer overføringen mellom primær og sekundær
Kopieringen av sonen kalles en zone transfer. Sekundærserveren spør primærserveren om serienummeret i SOA-oppføringen (Start of Authority). Hvis serienummeret er høyere enn det sekundærserveren har fra før, henter den en ny kopi av sonen.
SOA og serienummeret
SOA-oppføringen er sonens metadataregister. Den inneholder serienummeret, som øker hver gang sonen endres, og intervaller for refresh og retry. Refresh forteller sekundærserveren hvor ofte den skal sjekke primæren for endringer. Retry sier hvor lenge den skal vente før den prøver igjen hvis en overføring feiler.
Primærserveren kan også sende en NOTIFY-melding til sekundærserveren når noe endres. Da skjer oppdateringen nesten umiddelbart, i stedet for at sekundæren må vente til refreshintervallet er utløpt.
AXFR og IXFR
En fullstendig kopi av sonen kalles AXFR (full zone transfer). En IXFR (incremental zone transfer) sender bare de endrede oppføringene, noe som er raskere for store soner. Uansett metode bør du begrense tilgangen til sekundærserverens IP-adresse, og helst bruke TSIG (Transaction Signature) for å autentisere overføringen. Uten slike begrensninger kan hvem som helst kopiere hele sonen din.
Slik setter du opp en sekundær navneserver
Her er fremgangsmåten når du drifter navneserverne selv, for eksempel med BIND, NSD, Knot eller PowerDNS.
- Sett opp primærserveren. Opprett sonen og konfigurer SOA-oppføringen med korrekt serienummer og fornuftige TTL-verdier.
- Gi sekundærserveren tilgang. Åpne for zone transfer fra sekundærserverens IP-adresse, og bruk TSIG for autentisering.
- Konfigurer sekundærserveren. Definer hvilken primærserver den skal hente sonen fra, og sett opp NOTIFY-mottak hvis primæren støtter det.
- Oppdater NS-oppføringene. Begge navneserverne må stå i domenets NS-oppføringer hos registraren, ellers vet ingen at sekundæren finnes.
- Verifiser oppsettet. Sjekk med verktøy som dig eller nslookup at begge serverne svarer på SOA med samme serienummer, og test et skarpt oppslag mot hver server.
Regler for .no og krav fra Norid
Norid er registeret som administrerer .no. Alle .no-domener må ha minst to navneservere. Navneserverne må dessuten ligge i ulike IP-nett, konkret ikke i samme /24-subnett for IPv4 eller /64-subnett for IPv6. Regelen skal hindre at alle serverne står på samme fysiske infrastruktur og forsvinner samtidig.
Med DNSSEC (Domain Name System Security Extensions) signeres sonen kryptografisk på primæren, og sekundærserveren får den signerte kopien gjennom zone transfer. Verifiseringen fungerer derfor like godt uansett hvor mange navneservere du har. Når du registrerer et .no-domene hos Feno, håndteres DNSSEC-signeringen automatisk.
Tips for god DNS-redundans
- Legg sekundærserveren hos en annen leverandør enn primæren, gjerne i et annet land. Ulike ASN-er (autonome systemnumre) betyr at du ikke deler nettverksskjebne.
- Vurder anycast. Da svarer samme IP-adresse fra mange lokasjoner rundt om i verden, noe som gir både redundans og kortere svarveier.
- Hold TTL-en moderat, for eksempel mellom 300 og 3600 sekunder. Lavere TTL gir raskere overgang hvis du må bytte server, men gir litt mer trafikk mot navneserverne.
- Overvåk begge navneserverne. Sett opp varsler for utløp og uventede endringer, slik som overvåkingen Feno tilbyr på domener.
- Test failover jevnlig. Trekk primæren ut av drift i et kontrollert vindu og se at sekundæren svarer.
- Vurder en tredje navneserver hvis tilgjengelighet er kritisk for virksomheten din.
Ofte stilte spørsmål om sekundær navneserver
Hva er forskjellen på en primær og en sekundær navneserver?
Primærserveren eier den opprinnelige kopien av sonen og er den eneste du gjør endringer på. Sekundærserveren holder en kopi som oppdateres automatisk via zone transfer, og svarer på oppslag på samme måte som primæren. Fra brukernes side oppfører de seg identisk.
Trenger jeg mer enn to navneservere?
To er minimum, både etter god praksis og Norid sine krav for .no. Tre eller fire servere gir et ekstra sikkerhetsnett under vedlikehold, men hovedpoenget er at serverne står i ulike nettverk, ikke at antallet er høyt. Fem servere i samme datarom hjelper lite.
Hva skjer hvis både primær og sekundær går ned?
Oppslag som ligger i cache hos rekursive resolverere fortsetter å virke i TTL-perioden. Etter det feiler nye oppslag, og nettsiden og e-posten blir utilgjengelige. Derfor bør redundansen alltid kombineres med overvåking som varsler deg tidlig.
Robust DNS handler ikke om å unngå feil, men om å planlegge for dem. En sekundær navneserver er den viktigste enkeltfaktoren, men den hjelper lite hvis begge serverne deler samme skjebne. Bygg redundans inn i oppsettet og test den med jevne mellomrom.
Trenger du et domenenavn å bygge DNS på? Registrer eller overfør domenet ditt på feno.no og få DNS-administrasjon, overvåking og DNSSEC på ett sted.