Introduktion till DNS Hur funkar det? 2017-04-03 Introduktion till DNS Hur funkar det? Torbjörn Eklöv © 2002 These slides where produced by Bill Manning (ISI), Ed Lewis (NAI labs) and Olaf M. Kolkman (RIPE NCC).
Syftet med att sätta namn på saker 2017-04-03 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 2017-04-03 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 Also see ‘DNS and BIND’ Chapter 1
hosts Används fortfarande C:\Windows\System32\Drivers\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 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 2017-04-03 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 “.” 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 Observera avslutande .
Begrepp: Resource Records ( DNS-poster ) DNS’en mappar namn till data med hjälp av Resource Records. Mer senare Resource Record www.interlan.se. … A 192.0.2.10 Address Resource
Begrepp: DNS Names 3 Domänstrukturen ser ut som träd 2017-04-03 Begrepp: DNS Names 3 Domänstrukturen ser ut som träd Nya grenar vid ‘punkterna’ Inga begränsningar i antalet grenar interlan com nu
Begrepp: DNS Names 3 Ett domännamn kan vara 67 tecken inklusive “.” 2017-04-03 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 2017-04-03 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 www interlan • ftp kalmar
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 2017-04-03 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 . nu se Root -> se -> interlan 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
2017-04-03 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 2017-04-03 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 ? Caching forwarder (recursive) Resolver 192.71.21.41 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 IN A 10.10.10.2 Label class ttl rdata type
Exempel: RRs i en zonfil 2017-04-03 Exempel: RRs i en zonfil interlan.se. 7200 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) ) interlan.se. 7200 IN NS ns.interlan.se. interlan.se. 7200 IN NS ns3.interlan.se. www.interlan.se. 3600 IN A 192.0.2.41 ftp.interlan.se. 3600 IN A 192.0.2.43 Label ttl class 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: SOA / “start of authority” ger mer information om zonen interlan.se. 7200 IN NS ns.interlan.se. interlan.se. 7200 IN NS ns3.interlan.se.
Resource Record: SOA Kontaktadress Master server Version number interlan.se. 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 2017-04-03 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 a.ns.se Vad har www.interlan.se för ip? l.root-servers.net Fråga a.ns.se ( med glue ) Vad har www.interlan.se för ip? www.interlan.se har 192.71.21.41 www.interlan.se? Fråga ns3.interlan.se 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 Frobbit Osv… Registrant
Whois
Produkter BIND - auktoritativ och resolver NSD - auktoritativ PowerDNS - auktoritativ och resolver Unbound - resolver Windows - auktoritativ och resolver
Produkter Secure64 - auktoritativ och resolver Infoblox - auktoritativ / resolver – IPAM Bluecat - auktoritativ / resolver - IPAM
Hur gör vi? Installera två DNS’er Dns6.telia.com Hiddden master Ns.kommunen.se Synlig på Internet Dns6.telia.com Eventuellt fler slavar
Hur gör vi? Linux SSH från 192.71.21.0/24 Alternativt VPN osv. DNS +SSH Hiddden master Ns.kommunen.se Synlig på Internet DNS Båda måste nå Internet med NTP,DNS, FTP, HTTP och HTTPS
Hur gör vi? Windows RDP från 192.71.21.0/24 Alternativt VPN DNS + RDP Hiddden master Ns.kommunen.se Synlig på Internet DNS Båda måste nå Internet med NTP,DNS, FTP, HTTP och HTTPS
Mer läsning https://www.iis.se/domaner/teknik/rekursiva-resolvrar/ https://www.iis.se/lar-dig-mer/guider/dns-internets-vagvisare