Introduction to the DNS system

Download Report

Transcript Introduction to the DNS system

Introduktion till DNS
Hur funkar det?
Torbjörn Eklöv
Syftet med att sätta namn på saker
• Adresser används för att hitta saker
• Namn är enklare att minnas än siffror/nummer
• Vi vill hitta adressen till något med hjälp av namn
• DNS ger möjligheten att mappa namn på saker
till olika sorters resurser. www, mail mm.
Historik
• 1970’s ARPANET
– Host.txt hanterad av SRI-NIC
– Hämtad från en server
– Problem
• belastning
• Namnkrockar
• Brist på uppdateringar => mycket fel
• DNS skapades 1983 av Paul Mockapetris (RFCs 1034 and
1035), ändrad, uppdaterad och utökad i måååånga
efterföljande RFC’er
hosts
• Används fortfarande
• C:\Windows\System32\Drivers\etc\hosts
• /etc/hosts
hosts
hosts
• hosts först, sedan DNS
• I Linux
/etc/nsswitch.conf
hosts: files dns
• http://en.wikipedia.org/wiki/Hosts_(file)
DNS
• Funktion för att översätta “objekt” till andra
“objekt”
www.interlan.se -> 192.71.21.41
• En globalt distribuerad, löst sammanhängande,
skalbar, pålitlig, dynamisk databas
• Består av tre komponenter
n
n
n
En distribuerad databas
Servrar som innehåller den distribuerade databasen
Resolverar (~datorer) som ställer frågor om innehåll I
databasen
DNS-funktioner: Global distribution
• Innehåller hantera lokalt, men finns globalt
– Ingen host innehåller allt data för DNS’erna
• DNS-frågor kan ställas av alla hostar
• Innehåll cachas lokalt för att öka prestandan
DNS-funktioner: Löst sammanhang
• Databasen är alltid uppdaterad lokalt
– Varje version av databasen (en zone) har ett serienummer
• Serienumret räknas upp vid varje förändring
• Förändringar i originalet replikeras automatiskt till kopiorna
• Administratören av databasen bestämmer hur länge innehåll
ska cachas
DNS-funktioner: Skalbarhet
• Finns ingen övre gräns på databasens storlek
– Det finns servrar med över 20,000,000 entryn
• ( Inte alltid en god idé )
• Ingen begränsning av antalet frågr
– Flera tusen frågor / sekund hanteras enkelt
• Frågor distribueras mellan master/slav och
cachande resolvrar
DNS-Funktioner: Stabiltet
• Data replikeras
– Data från originalet/master kopieras till en eller flera
kopior/slavar
• Hostar/resolvrar kan fråga
– Master serve
– Alla slavarna
• Hostar frågar oftast en lokal caching resolver
• DNS-protokollet använder antingen TCP eller UDP
– Om UDP används står DNS för felhanteringen
DNS-Funktion: Dynamisk uppdatering
• Databasen kan uppdateras dynamiskt
– Lägg till/ta bort/förändra
• Förändring av master-databasen startar en
replikering
– Bara originalet/mastern kan uppdateras
dynamiskt
• Singel poin’t of failure!
Begrepp: DNS Names 2
Hur namnen ser ut
Fullständigt domänmam
~Fully Qualified Domain Name (FQDN)
WWW.INTERLAN.SE.
• Delar av namnet sepererade
med “.”
Observera avslutande .
• DNS ger oss fullständiga namn för alla typer av resurser
på Internet
• Namnen är den unika nyckeln för att slå upp saker på ut
DNS’en
Begrepp: Resource Records
( DNS-poster )
• DNS’en mappar namn till data med hjälp av
Resource Records.
Resource Record
www.interlan.se.
…
A 192.0.2.10
Address Resource
• Mer senare
Begrepp: DNS Names 3
• Domänstrukturen ser ut som träd
• Nya grenar vid ‘punkterna’
• Inga begränsningar i antalet grenar
com
interlan
nu
Begrepp: DNS Names 3
• Ett domännamn kan vara 67 tecken
inklusive “.”
• Tillåtna tecken är a-z, 0-9 och “-”
• Det får inte börja eller avslutas med –
och inte börja med xn-• IDN ger oss åäö i domännamnen
xn--eklv-7qa.se = exlöv.se
http://www.idnconverter.se/
Begrepp: Domäner/Domains
• Domäner är
“namespaces/domännamnsrymd”
• Allting nedanför .se är i .se-domänen.
• Allting under interlan.se är interlan.se
domänen och den finns
i .se-domänen.
se
•
•
kalmar
interlan
•
www ftp
Delegeering
• Administratörer kan skapa under/barndomäner
– Efter geografi, avdelning eller andra kriterier
• Administratören kan delegera ansvar och behörighet till en
underdomän men det är inte nödvändigt
– But this isn’t required
• Föräldradomänen innehåller länkar till underdomänen
– Föräldradomänen minns var den delgerade underdomänen till
Begrepp: Zones och Delegeringar
• Zoner är “administrativt utrymme”
• Zone-administratörer är ansvariga för sin
domän
• Ansvar delegeras från föräldern till barnzonen
.
Root -> se -> interlan
nu
se
iis
interlan
www
Begrepp: Namnservrar
• Namnservarar svarar på DNS-frågor.
• Olika typer av namnservrar
– auktoritativ servrar
• master (primary)
• slave (secondary)
– (Caching) rekursiva servrar
• Även caching forwarders
– En blandning
( bör undvikas )
Begrepp: Namn Server
auktoritativ namnserver
• Ger auktoritativa svar för en eller flera zoner
• Masterservern laddar oftast zone-data från en
fil
• En slavserver replikerar oftast data från
mastern via zone-transfer
slave
master
slave
Begrepp: Namn servrar
recursiva servrar
• Rekursiva servrar gör de verkliga
namnuppslageg – de frågar DNS’er frågor som
datorer ställt
• Svaren frås från auktoritativa DNS’er men
svaren till datorerna är inte markerade som
auktoritativa
• Svaren cachas i den lokala cachen
Begrepp: Resolvers
• En resolver ställer frågor som applikationer
eller operativsystemet ställer
• Oftast via en funktion i operativsystemet
gethostbyname(char *name);
gethostbyaddr(char *addr, int len,
type);
Begrepp: Resolving process & Cache
Question: www.interlan.se A
root-server
www.interlan.se A ?
Ask se server @ a.ns.se(+ glue)
www.interlan.se A ?
Resolver
192.71.21.41
Caching
forwarder
(recursive)
www.interlan.se A ?
cctld-server
Ask interlan server @ ns.interlan.se (+ glue)
Add to cache
www.interlan.se A ?
192.72.21.41
interlan-server
Begrepp: Resource Records (more
detail)
• Resource records består av sitt name, sin TTL,
sin klass, sin typ och sitt RDATA
• TTL är hur länge sen ska cachas
• IN class är vanligast ( Internet )
• Det finns många typer av RR records
• Allt efter type är rdata
www.interlan.se.
3600
Label
ttl
IN
A
10.10.10.2
class
type
rdata
Exempel: RRs i en zonfil
interlan.se.
7200 IN SOA ns.interlan.se. registry.interlan.se. (
2012100802
14800
7200
5184000
7200
)
7200 IN NS
7200 IN NS
interlan.se.
interlan.se.
www.interlan.se. 3600
ftp.interlan.se. 3600
abel
ttl
IN
IN
class
;
;
;
;
;
serial
refresh (4 hours 6 minutes 40 seconds)
retry (2 hours)
expire (8 weeks 4 days)
minimum (2 hours)
ns.interlan.se.
ns3.interlan.se.
A
A
192.0.2.41
192.0.2.43
type
rdata
Resource Record: SOA och NS
• SOA och NS används för att ge information om
DNS’en själv
• NS visar var informationen för en zone finns:
interlan.se.
interlan.se.
7200 IN NS ns.interlan.se.
7200 IN NS ns3.interlan.se.
• SOA / “start of authority” ger mer information
om zonen
Resource Record: SOA
Master server
interlan.se.
Kontaktadress
6576 IN SOA ns.interlan.se. registry.interlan.se. (
2012100802 ; serial
14800 ; refresh (4 hours 6 minutes 40 seconds)
7200
; retry (2 hours)
5184000 ; expire (8 weeks 4 days)
7200
; minimum (2 hours)
)
Version number
Timing parametrar
Begrepp: TTL och andra timers
• TTL används för cachning
– Talar om hur länge det kan cachas
– ‘Stabila’ resurser kan ha hög TTL
• SOA-timers används för att få ‘stabil’
kommunikation och data i master och server
DNS-data finns överallt!!
Ändringar i DNS’en tar tid att rulla ut!
Förbered med att sänka TTL!!!
Slave
Cache server
Master
Registry databas
Local cache
Att komma ihåg...
• Flera auktoritativa servrar för att fördela last
och få bättre redundans:
– Placera dem på olika platser och i olika AS
• Använd cachande resolvrar för att öka
prestandan
• SOA timers och TTL behöver skruvas till för att
det ska bli bra.
Från ax till limpa
• ICANN hanterar DNS med gTLD och ccTLD
• gTLD – Generic Top Level Domain - .com
.musem ….
• ccTLD – Country Code Top Level Domain –
.se, .dk, .nu ….
Registret finns hos IANA
http://www.iana.org/domains/root/db/
.SE har register över .se
Trädet
interlan
Root servers
Anycast
host i.root-servers.net
i.root-servers.net has address 192.36.148.17
192.36.148.17
192.36.148.17
192.36.148.17
Alla
Var?
L-root-servers.net
.se TLD servers
a.ns.se
Interlan.se DNS
ns och ns3.interlan.se
Så funkar det!
Caching
resolver
l.root-servers.net
Vad har www.interlan.se för ip?
www.interlan.se har 192.71.21.41
a.ns.se
ns3.interlan.se
Exempel med dig
• dig www.interlan.se @a.root-servers.net
Exempel med dig
• dig www.interlan.se @a.ns.se
Exempel med dig
• dig www.interlan.se @ns.interlan.se
Register – Registrar - Registrant
Interlan.se
Register IANA
Register .se
Pts.se
msb.se
Registrar
SE Direkt
Registrant
Frobbit
Osv…
Whois
Produkter
•
•
•
•
•
BIND
NSD
PowerDNS
Unbound
Windows
- auktoritativ och resolver
- auktoritativ
- auktoritativ och resolver
- resolver
- auktoritativ och resolver
Produkter
• Secure64
• Infoblox
• Bluecat
- auktoritativ och resolver
- auktoritativ / resolver – IPAM
- auktoritativ / resolver - IPAM
Hur gör vi?
• Installera två DNS’er
Dns6.telia.com
Hiddden master
Ns.kommunen.se
Synlig på Internet
Eventuellt fler
slavar
Hur gör vi? Linux
DNS +SSH
DNS
Hiddden master
Ns.kommunen.se
Synlig på Internet
Båda måste nå Internet med
NTP,DNS, FTP, HTTP och HTTPS
Hur gör vi? Windows
DNS + RDP
DNS
Hiddden master
Ns.kommunen.se
Synlig på Internet
Båda måste nå Internet med
NTP,DNS, FTP, HTTP och HTTPS
Mer läsning
• https://www.iis.se/domaner/teknik/rekursivaresolvrar/
• https://www.iis.se/lar-dig-mer/guider/dnsinternets-vagvisare