DNS

DNS är en distribuerad databas implementerad i form av en hierarki av servrar, kända som Root Hint-servrar, Internet-servrar eller helt enkelt DNS-servrar. Det finns 13 logiska DNS-servrar (t.ex. a.root-servers.net, b.root-servers.net osv.) som representerar flera hundra fysiska DNS-servrar som är distribuerade över olika platser runt om i världen. Enkelt uttryckt innehåller DNS-servrar information om alla domäner och resurser som finns på internet.

Internet DNS-servrar delegerar administreringen av lokala DNS-resurser till lokala DNS-servrar.

Bild 1: DNS hierarki

DNS servertyper

  • Auktoritativ server är en server som innehåller DNS-namnposter, inklusive A, AAAA och CNAME.
    En icke-auktoritativ server skapar en cachefil baserad på tidigare frågor för domäner. Den innehåller inga DNS-namnposter.
  • Rekursiv resolver är en server som skickar en förfråga till en auktoritativ eller icke-auktoritativ server för att få en namnupplösning. Den kallas ”rekursiv” eftersom den utför alla steg för att besvara en DNS-klient fråga.

Förutom dessa servertyper finns det två ytterligare servertyper vid implementationen av DNS:

  • En primär DNS-server som ansvarar för huvuddatabasen och kallas ibland även för en ”Master DNS-server”.
  • En sekundär DNS-server som har ingen egen databas utan får en kopia av databasen från master-servern, och kallas därför även för en ”Slave DNS-server”.

Den administrativa enheten för DNS är inte en domän utan en zon. Skillnaden är att en domän är ett logiskt namnsystem medan en zon är en fysisk implementation av DNS-databasen på DNS-servrar, som innehåller alla namn och deras tillhörande IP-adresser.

DNS resursposter (records)

Det finns över femtio olika DNS-resursposter som ger olika funktioner till DNS-servrar, förutom att koppla samman namn med IP-adresser. En av dessa poster är SOA-record (Start Of Authority) som anger den primära DNS-servern för en specifik domän. Enligt RIPE NCC består informationen i denna post av följande:

  • Serial Number: Anger antalet konfigurationsändringar. Detta numeriska värde ökar med ett varje gång en ändring görs. Värdet kan formateras på olika sätt, men vanligtvis används en kodad datumformat som exempelvis 2023022398, där 2023 står för året, 02 för månaden, 23 för dagen och 98 för sista versionen.
  • Refresh Time: Antal sekunder en DNS-server väntar på en ny uppdatering av DNS-zonerna från den primära DNS-servern. När en uppdatering mottas kontrolleras tiden och om den är högre än Refresh Time accepteras den nya uppdateringen, annars ignoreras den. Det rekommenderas att denna tid är 86 400 sekunder (24 timmar). Tiden bör vara mindre än eller lika med TTL men längre än Retry Time.
  • Retry Time: Antal sekunder en primär DNS-server väntar innan den gör ett nytt försök att uppdatera. Det rekommenderas att denna tid är 7 200 sekunder (2 timmar). Observera att denna tid är hälften av Refresh Time.
  • Expire Time: Antal sekunder en DNS-server behåller en DNS-zon som giltig. Det rekommenderas att denna tid är 3 600 000 sekunder (1 000 timmar).
  • Mimimun TTL: Minsta antal sekunder som DNS-posterna för en domän är giltiga. Det rekommenderas att denna tid är 172 800 sekunder (2 dagar).
  • TTL: Antal sekunder som ett domännamn lagras i cacheminnet innan det hämtas igen från den primära DNS-servern för att uppdateras. Det rekommenderas att denna tid är 43 200 sekunder (12 timmar).

Ovan nämnda SOA-parametrar används om det finns sekundära DNS-servrar i domänen (nätverket). Sekundära DNS-servrar begär DNS-uppdateringar från den primära DNS-servern med jämna mellanrum och då gäller timerinställningarna i SOA-filerna. Den sekundära DNS-servern väntar ett antal sekunder enligt Refresh Time innan den kontaktar den primära DNS-servern. Om kontakt inte kan upprättas försöker den sekundära DNS-servern igen enligt Retry Time. Om den primära DNS-servern inte är tillgänglig gäller Expire Time.

DNS konfigurationer

DNS är en serverapplikation som kan installeras och köras på servrar och även på routrar, beroende på tekniska krav. Här på Diginto använder vi simulatorn Packet Tracer, där det finns några servrar och routrar som kan konfigureras som DNS-servrar.

I den nätverkstopologi som visas nedan påbörjar jag konfigurationen av en DNS-server i CoreNet:

Vänsterklicka på dns1 och när det nya fönstret öppnas, klicka på ”Services” i menyn.

I den vänstra kolumnen, klicka på ”DNS” under listan över tjänster.

Servern dns1 tillhör domänen DIGINTO och den är en auktoritativ DNS server därför ska den inneha SOA post. Alla tider anges i sekunder. Eftersom servern dns1 tillhör domänen DIGINTO och är en auktoritativ DNS-server, ska den innehålla en SOA-post. Du kan konfigurera följande poster i SOA-posten enligt bilden nedan:

Direkt efter SOA posten konfigurerar jag följande poster:

  • NS Record: dns1.diginto.se 172.16.1.5
  • A Record: dns1.diginto.se 172.16.1.5
  • A Record: www.diginto.se 172.16.1.5
  • A Record: dms1.diginto.se 172.16.1.6
  • A Record: smtp.diginto.se 172.16.1.6
  • A Record: pop.diginto.se 172.16.1.6
  • A Record: www.nacka.se 192.168.1.5
  • A Record: smtp.nacka.se 192.168.1.6
  • A Record: pop.nacka.se 192.168.1.6
  • A Record: www.google.se 8.8.8.8