DNS. Måns Nilsson, KTHNOC/SUNET 16 september 2005

Relevanta dokument
... historia... I begynnelsen var ARPANET:

Vad är DNS? DNS. Vad är DNS? (forts.) Vad är DNS utåt? Vad är DNS internt? Vad är DNS internt? (forts.)

DNS. Linuxadministration I 1DV417

Tilläggs dokumentation 4069 Dns

DNS. Måns Nilsson

Föreläsning 9 Transportprotokoll UDP TCP

Domain Name System DNS

DNS-test. Patrik Fältström. Ulf Vedenbrant.

DNS laboration report Wilhelm Käll YYYY-MM-DD (the date the report was finished)

Tips: Titta på relevanta genomgångar på webbplatsen

Internetdagarna NIC-SE Network Information Centre Sweden AB

Datakommunika,on på Internet

Mattias Wiggberg 1. Orientera på Internet. IP-adress. IP-adresserna räcker inte... Mer om IP-adresser

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Avancerad DNS - Laborationer

Kvalitet i DNS. Lars-Johan Liman Autonomica AB OPTO-SUNET, Tammsvik 1. Vad är dålig kvalitet i DNS?

Föreläsning 6 Mål. Mänskor och IP adresser. Domain Name System (1/3) Numeriska adresser används i Internet

DNS och IPv6 vänner eller fiender?

Hos Telia kan du enkelt registrera de domännamn du önskar i någon eller alla de klassiska toppdomänerna SE, NU, COM, INFO, NET, ORG, EU, NAME.

Internationalized Domain Names (Internationaliserade domännamn)

Startguide för Administratör Kom igång med Microsoft Office 365

Systemkrav och tekniska förutsättningar

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Rotadministration och serverroller

Dynamisk DNS och varifrån det

TCP/IP och Internetadressering

DNSSEC DET NÄRMAR SIG...

Hur integrera Active Directory och DNS? Rolf Åberg, Simplex System

DNSSec. Garanterar ett säkert internet

Robusthetstester och övervakning av DNS. Internetdagarna Rickard Dahlstrand

IP-adresser, DNS och BIND

Windowsadministration I

Linuxadministration I 1DV417 - Laboration 5 Brandvägg och DNS. Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 19 februari 2013

Datakommunika,on på Internet

OSI-modellen. Skiktade kommunikationsprotokoll. OSI-Modellen. Vad är en bra skiktindelning? Fysiska skiktet. Länkskiktet

DNSSEC. Tester av routrar för hemmabruk. Joakim Åhlund & Patrik Wallström, Februari 2008

NSL Manager. Handbok för nätverksadministratörer

Laboration 4 Rekognosering och nätverksattacker

Varför och hur införa IPv6 och DNSSEC?

Internets historia i Sverige

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

DNSSEC-grunder. Rickard Bellgrim [ ]

F2 Exchange EC Utbildning AB

DIG IN TO Nätverksteknologier

Vilka är vi. Magnus Ahltorp KTHLAN Ragnar Sundblad KTHLAN & NADA

IPv6 Jonas Aronsson 3TEa

Protokoll i flera skikt Fragmentering Vägval DNS. Jens A Andersson

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

IT för personligt arbete F2

Webbservrar, severskript & webbproduktion

Modul 3 Föreläsningsinnehåll

Med Telias domäntjänst Domännamn kan du enkelt administrera alla dina domännamn, oavsett storlek på domänportfölj.

Föreläsning 9. Transportskiktet. User Datagram Protocol (1/2) Introduktion till modern telekommunikation Gunnar Karlsson, Bengt Sahlin 1

Övningar - Datorkommunikation

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

Grundläggande datavetenskap, 4p

Kapitel 6, 7, o 8: IP DNS. Från användare till användare. Jens A Andersson

Jakob Schlyter

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

II-Stiftelsen. Östen Frånberg Ordförande, II-Stiftelsen

F6 Exchange EC Utbildning AB

DIG IN TO Nätverksteknologier

Installation xvis besökssystem, Koncern

Åtgärdsplan. CRL Åtgärdsplan Copyright 2015 SecMaker AB Författare: Jens Alm

Tyvärr så blir man av med dessa fördelar vid en övergång till tcp/ip, även om det finns motsvarigheter till själva tjänsterna i tcp/ip-världen.

Hur gör man ett trådlöst nätverk säkert?

DNSSEC implementation & test

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Kom-igång-guide Administratör

Kapitel 6, 7, o 8: IP DNS Vägval Från användare till användare Jens A Andersson (Maria Kihl) Att skicka data över flera länkar.

RFC 6106-stöd i Router Advertisment-klienten radns. Michael Cardell Widerkrantz mc@hack.org

IP Från användare till användare Vägval DNS Jens A Andersson (Maria Kihl) Att skicka data över flera länkar. Nätprotokoll

Unix-Säkerhet. Övningsprov. Frågorna skall besvaras på ett sådant sätt att en insatt kollega skall känna sig informerad.

Sjunet robust DNS. Teknisk Beskrivning

LABORATION 2 DNS. Laboranter: Operativsystem 1 HT12. Martin Andersson. Utskriftsdatum:

Linuxadministration 1 1DV417

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Laboration 2 1DV416 Windowsadministraion I

Design Collaboration Suite

Whoisprotokollet. Tjänstebeskrivning

Tentamen i Datorkommunikation den 10 mars 2014

LABORATIONSRAPPORT. Operativsystem 1 LABORATION 2. Oskar Löwendahl, Jimmy Johansson och Jakob Åberg. Utskriftsdatum:

! " #$%&' ( #$!

Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

Uppgradering till DentalEye 3.2

Administrationsmanual ImageBank 2

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Det är en Internet läser son gör det bekvämt för os ute på Internet. som t.ex Internet Explorer, firefox.

Konfigurationer Video- och distansmöte Bilaga till Tekniska anvisningar

Önskemål kring Studentstadens bredband och UpUnet-S

Planering och RA/DHCPv6 i detalj

Ordlista. 3 maj, Internetstiftelsen Box 92073, Stockholm Tel Org.nr internetstiftelsen.se

DIG IN TO. Nätverksadministration

Det nya Internet DNSSEC

1DV416 Windowsadministration I, 7.5hp MODULE 3 ACTIVE DIRECTORY

Webbtjänster med API er

Att hämta organisationers publikationsposter ur DiVA

Transkript:

DNS Måns Nilsson, KTHNOC/SUNET mansaxel@sunet.se 16 september 2005

Innehåll 1 Historia och generell beskrivning 3 2 Organisation och politik runt domäner 20 3 Tekniken, hur sitter trädet ihop? 23 4 Data i DNS 29 5 Protokollet på tråden 45 6 Uppslagsprocessen 53 1

7 Drift av DNS-system 66 8 Nyheter i protokollet 70 9 Säkerhet 80 2

1 Historia och generell beskrivning Domain Name System Översätter från domännamn till IP-nummer Och tvärtom från nr till namn Även andra funktioner, som till exempel epostvägvisning Ett hierarkiskt system kan ses som ett träd. Men upp-och-ner! Roten är längst upp. 3

... historia... I begynnelsen var ARPANET: NCP hade max 256 noder inga problem; vi tar och skickar ut en fil 2ggr per vecka! IPv4: 2 32 noder. Fortfarande samma fil! 1983 började det bli svårt att hinna leverera filen till alla som ville ha den. Dags att fundera ut nåt! 4

... historia... Man började med att definiera hur ett namn på en dator ska se ut: RFC883. Detta uppdaterades i RFC 1034. Därefter tog man tag i att definiera den distribuerade databasens struktur. Det definieras i RFC 1035. DNS som det definieras i 1034 och 1035 gäller i allt väsentligt fortfarande. Nya saker är på ingång. Mer om dem senare! 5

Hur är det realiserat? DNS är uppbyggt som en distribuerad databas, den största och mest distribuerade databasen på Internet. DNS är ett protokoll som använder IP, både TCP och UDP. DNS hör hemma bland applikationerna, på nivå 7 i OSI-modellen. 6

Ett DNS-träd. (rot) net se ip6 arpa in addr Läsriktning nordu server nl surfnet www liu lysator sunet pilsnet 192 36 125 kom yebisu 136 7

... domännamn... Ett domännamns anatomi Avdelare FQDN yebisu.pilsnet.sunet.se. Nod cctld 8

Domänamn Domännamn läses underifrån: yebisu.pilsnet.sunet.se. Alltså från mest signifikanta delen. En punkt på slutet anger att domännamnet är komplett ett s.k. Fully Qualified Domain Name, förkortat FQDN. Punkterna har sällan med IP-adresser att göra! 9

Toppdomäner En toppdomän är den sträng som kommer sist i ett FQDN. En typisk toppdomän är landskodsdomänen, som består av de två bokstäver som definierar landet eller den friliggande provinsen i ISO 3166. Det finns dessutom ett antal generiska toppdomäner. Dessa sk GTLD er är bl a COM, ORG, NET, INT, ARPA, BIZ, MUSEUM, INFO, EDU (men inte EU än!) 10

GTLD = Generic Top Level Domain cctld = Country Code Top Level Domain... toppdomäner... Inställningen till den egna toppdomänen varierar Strikta länder: FI, FR, TM. Öppna länder: DK, NU, CC, SE Vissa GTLD er likaså öppna, andra slutna. En strukturdomän ARPA En del länder har tvingande underdomäner, som co.uk, org.al. 11

Delegering för att distribuera arbetet Ansvar delegeras uppifrån och ner: ICANN hanterar roten och delegerar SE till IIS som delegerar KTH till Kungliga Tekniska Högskolan som delegerar STACKEN till sin datorförening. Delegeringen är alltså ett överlämnande av ansvar. Den kan ske vid varje nod i trädet. En punkt betyder inte att man måste delegera! pilsnet.sunet.se och sunet.se är till exempel samma zon. 12

Delegeringsgränser IANA/ICANN. IIS KTH ITE KTHNOC se kth noc www 13

Strukturdomänen ARPA med döttrar Hittills har vi framförallt berört domännamn som ser ut som om de kunde sitta på en dator, skrivas in efter ett@ien epostadress eller i en vävbläddrares adressfönster. Men, det finns mer än så i DNS. Under ARPA samlar man numera inte försvarsforskning i USA utan infrastrukturdomäner: Advanced Research Projects Agency blev med ens Address and Routing Parameter Area Domain i och med RFC 3172. 14

...ARPA... Under ARPA finner vi bla: IN-ADDR: Mappning av IPv4-adresser till namn. IP6: Mappning av IPv6-adresser till namn. (Låg tidigare under.int) E164: Mappning av E.164-telefonnummer till DNS-namn. 15

... IN-ADDR.ARPA... IN-ADDR är viktigast (än så länge) och störst av zonerna under ARPA. Den innehåller mappningar från IP-adresser till domännamn: 136.125.36.192.in-addr.arpa blir yebisu.pilsnet.sunet.se, dvs 192.36.125.136. Fast de ser ut att vara baklänges! Varför? 16

Varför är IN-ADDR.ARPA så konstigt?... IN-ADDR.ARPA är ju baklänges... Av konsekvensskäl data i DNS skrivs alltid a i ordning från specifikt till allmänt: yebisu.pilsnet.sunet.se. Då måste förstås IP-adressen som normalt skrivs från allmänt till specifikt; dvs 192.36.125.136 kastas om så den följer trädets struktur. Delegering sker vid punkterna i IP-adressen, dvs på oktettgräns. a Utom under.uk, en gång i tiden, men så kör de bil på fel sida också ;-) 17

Ett DNS-träd (igen). (rot) net se ip6 arpa in addr Läsriktning nordu server nl surfnet www liu lysator sunet pilsnet 192 36 125 kom yebisu 136 18

IP6.ARPA För IPv6-reverskoppling finns en motsvarande struktur; där FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 mappas till 0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F.1.2.3.4.5.6.7.8.9. A.B.C.D.E.F.IP6.ARPA. Tidigare användes som sagt IP6.INT för IPv6-revers, men det är nu ändrat. 19

2 Organisation och politik runt domäner Från början enskilda personer som var personligt bekanta. Nu har domännamn som politisk och organisatorisk företeelse växt ur den kostymen. Många olika intressenter vill vara med och bestämma. Nationalstaterna håller på att vakna. (SOU 2002:60!) 20

Olika underavdelningar, tillsätter ICANNs styrelse Organisation internationellt Departement of Commerce ICANN Verisign, hanterar rot och gtld Olika länders registries Shared Registrars, kundkontakter för gtld registrering. 21

Organisation i Sverige Tillsätter styrelseledamöter. ISOC SE ICANN/ IANA Delar ut SE SOF IIS Administrativ innehavare Industri förbundet NIC SE NDR NÖD Registrerar domännamn, skapar zonfil. Förslag till regelverk. Överklaganden 22

3 Tekniken, hur sitter trädet ihop? Vi har hittills pratat om domäner. Nytt begrepp: ZON En domän är allt under en given punkt i trädet. En zon är allt under en given punkt i trädet minus det som delegerats vidare. För varje zon måste det finnas minst en namnserver utpekad från moderzonen. Det kan (och bör!) finnas fler. 23

... tekniken... DNS-rymden realiseras alltså med hjälp av delegeringar från namnservers till namnservers; i moderzonen hänvisar man bort en bit av sin underliggande namnrymd. En namnserver har fått sig tilldelad en del av namnrymden. På så vis skapar man praktiskt uppdelningen i olika administrativa delar. 24

... tekniken... Namnservern/rarna är alltså den kombination av hårdoch mjukvara som utgör en zons hemvist. Namnservern behöver inte vara dedikerad till en zon, utom för roten. (men det är av stabilitetsskäl, inte ett absolut krav, jfr RFC2870). 25

... tekniken Zontransfers... Data replikeras mellan olika servers utpekade för samma zon. ( zontransfer ) En av servrarna är utsedd till master. På mastern uppdaterar administratören data i zonerna. Slavarna har masterns IP-adress inställd (manuellt) och frågar med jämna mellanrum mastern om zonens serienummer. Om serienumret ändrats enligt ett visst mönster (RFC 1982) så begär slaven att få den nya zonen från mastern. Då slipper man underhålla data på mer än ett ställe. 26

... tekniken Zontransfers... Andra system finns också: Dynamic Updates DNS-meddelanden med uppdateringar, lägger till eller tar bort en post. Database backends Hela systemet med zontransfer och inom-protokoll-data skrotas till förmån för ett nytt system som i princip gör alla servers till masters. Konvergensansvaret ligger då utanför DNS. Detta är tänkt att ge snabbare konvergens och förhoppningsvis mindre trafik. 27

... tekniken Zontransfers... En annan metod att snabba upp är inkrementell zontransfer, där mastern (om slaven begär det) endast skickar innehålls- mellan ett angivet, gammalt, serienummer och sitt eget nyladdade. Ytterligare konvergens nås genom att implementera DNS Notify, (RFC 1996), under vilket mastern skickar uppdateringsmeddelanden till alla slavar, vilka om de stöder protokollet, omedelbart inleder serienummerkontroll och om så befinns nödvändigt, (eventuellt inkrementell) zontransfer. 28

4 Data i DNS Data i DNS är strukturerat efter namnet på den nod det associeras med. För en given nod kan det finnas flera olika dataposter, med vissa undantag för kombinationer som inte får förekomma. Även om vissa andra kombinationer är tillåtna så är de mycket ovanliga. Det finns flera parallella träd, sk klasser: INternet, CHAOS, och HESIOD. I praktiken används bara INternet, och det är skönsvärde i all programvara. 29

Nodnamn är begränsade enligt följande: Giltiga tecken i domännamn är A-z, 0-9 och bindestreck. a Skiftläge är ej signifikant men ska bevaras. Varje del i namnet är 0-63 tecken. Namnet får bestå av maximalt 63 delar. Totala längden får ej överstiga 255 tecken. a Och understreck i SRV-poster 30

... data i DNS... Data för en nod kan innehålla: IP-adressen till noden: A Om noden ligger under [IN-ADDR IP6].ARPA kan man vilja ha värddatornamnet för den IP-adress noden representerar i en PTR Var post ska skickas som ska till noden: MX (för zoner (som också är noder)) Data om zonen: SOA Vilken namnserver som är ansvarig för zonen: NS Vilken dator man egentligen ska gå till: CNAME Vilken sorts dator en viss nod är: HINFO 31

Generell fritext om en nod: TXT Ny all-singing-dancing-service-post: SRV Det finns ytterligare några posttyper, men vi hoppar över några av dem och spar resten till sista föreläsningen. 32

Posttyper i detalj Poster hängs alltså upp på den nod de finns under. Normalt skriver man en post på en rad i klassiskt filformat, och gemensamt för alla poster är att de har uppdelningen: nodnamn TTL KLASS TYP RDATA där: TTL är bästföredatum KLASS är IN/CH/HS TYP är posttypen RDATA är nyttolasten. 33

... Posttyper... A Adress A-posten är vår vanligaste art. Den pekar ut den IP-adress som gömmer sig bakom ett datornamn. paka.qaki.org. 600 IN A 213.212.3.201 ; Nodnamn TTL Klass Typ RDATA Det finns också en AAAA ( quad-a ) för IPv6: localhost. 600 IN AAAA ::1 34

SOA Start Of Authority... Posttyper... SOA är den största av de vanliga posterna. Den innehålller administrativt data om zonen. Varje zon måste börja med en SOA-post. qaki.org. 600 IN SOA casper.besserwisser.org. qaryn.qaki.org. ( 2002082600 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 3600000 ; expire (5 w 6 days 16 hours) 60 ) ; minimum (1 minute) På SOA hänger så att säga resten av zonen. 35

... Posttyper... NS Name Server NS-posten pekar ut namnservers för en zon. Det måste finnas minst en NS-post i varje zon. qaki.org. 600 IN NS vovve.besserwisser.org. qaki.org. 600 IN NS casper.besserwisser.org. Noden är alltid en zon. (minst) RDATA är ett datornamn, som måste finnas som A-post någonstans i DNS. 36

... Posttyper... MX Mail exchanger MX berättar till vilken dator e-post för en given nod ska skickas. qaki.org. 600 IN MX 10 snipan.besserwisser.org. qaki.org. 600 IN MX 20 casper.besserwisser.org. Noden kan vara zon eller dator. RDATA har två fält: Vikt, 0 2 16, anger preferens. Lägre är bättre. Host, anger namnet på datorn som tar emot post. 37

CNAME Canonical NAME... Posttyper... CNAME är ett aliassystem. Ett namn pekas till ett annat namn. www.qaki.org. 400 IN CNAME casper.besserwisser.org. CNAMEs leder ofta till förvirring. För att minska detta gäller regeln att ingen annan post får dela nod med ett CNAME. Har man således ett CNAME på en nod så får man inte ha något annat där. 38

...CNAMEärkonstigt... Följande är illegalt: www.qaki.org. 600 IN CNAME casper.besserwisser.org. www.qaki.org. 600 IN MX 10 snipan.besserwisser.org. Följande är däremot legalt: www.qaki.org. 600 IN A 194.68.48.70 www.qaki.org. 600 IN MX 10 snipan.besserwisser.org. 39

PTR PoinTeR PTR-posten svarar för mappning av IP-adresser till namn. Den är lika för IPv4 och IPv6, och ser ut så här: 201.3.212.213.in-addr.arpa. 600 IN PTR paka.qaki.org. ; IP-adressen omkastad TTL Klass Posttyp RDATA Motsvarande för IPv6 byter bara ut nodnamnet till: 0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F.IP6.ARPA. RDATA är alltså ett datornamn. Man kan ha flera om man vill; det är legalt. 40

SRV SeRVice SRV-posten är ett ovanligt djur. Den används för att i detalj beskriva var en viss tjänst finns, och hur man kontaktar den över IP. _kerberos._tcp.pdc.kth.se. 600 IN SRV 0 0 88 jacksmelt.pdc.kth.se. _kerberos._udp.pdc.kth.se. 600 IN SRV 0 0 88 jacksmelt.pdc.kth.se. ; tjänst protokoll nod TTL Klass Post Prio Vikt Port Datornamn. _kerberos Anger att detta är en SRV-nod och inte en dator, och att det är Kerberos vi har med att göra. _tcp Anger att tjänsten är nåbar över TCP. nod För vilken zon domän nod ger vi tjänst? TTL, Klass, Post: Standardbetydelser. 41

Prioritet Ordnar olika datorer i preferens, mindre är bättre. 0 2 16. Lik MX-posten. Vikt Ordnar olika datorer med samma prioritet. Mer är bättre (Tvärtom mot prioritet!). 0 2 16. Port Vilken TCP UDP-port som tjänsten erbjuds på. Datornamn Den dator som erbjuder service. 42

TXT och HINFO Data för människor. TXT-posten kan innehålla fritext om en nod. HINFO beskriver OS och hårdvara. classic.pilsnet.sunet.se. 600 IN A 192.36.125.138 classic.pilsnet.sunet.se. 600 IN HINFO "bongo-386" "Flightless bird" classic.pilsnet.sunet.se. 600 IN TXT "Mere af alting" TXT är en sträng på upp till 2 8 tecken. HINFO är två strängar, en för hårdvaruarkitektur och en för OS. Egentligen ska man följa en lista på godkända namn, men den är lätt föråldrad; Linux och Windows 2000 saknas, tex. SRV-drafts använder (felaktigt!) TXT. 43

Hela zonen nihlen.org. 86400 IN SOA vulcan.nihlen.org. per.nihlen.org. ( 2002020910 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 400 ; minimum ) nihlen.org. 86400 IN MX 0 klingon.nihlen.org. nihlen.org. 86400 IN NS jazz.tjernlund.net. nihlen.org. 86400 IN NS vovve.besserwisser.org. nihlen.org. 86400 IN NS vulcan.nihlen.org. borg.nihlen.org. 86400 IN A 213.66.183.248 hirogen.nihlen.org. 86400 IN A 194.68.48.35 klingon.nihlen.org. 86400 IN A 194.68.48.37 mail.nihlen.org. 86400 IN CNAME klingon.nihlen.org. ns.nihlen.org. 86400 IN A 194.68.48.37 vulcan.nihlen.org. 86400 IN A 194.68.48.36 44

5 Protokollet på tråden lite repetition här... Klient-Serversystem, frågor skickas och svar lämnas i utbyte. Det kan transporteras ovanpå såväl TCP som UDP, och använder i bägge fallen port 53. Varje frågetyp utom AXFR (som bara åker TCP) kan ställas över bägge protokollen. Det är illegalt att inte erbjuda tjänst på både TCP & UDP. 45

DNS-meddelanden i klassisk DNS är över UDP begränsade till 512 oktetter nyttolast, pga forntida problem med MTU 576 och UDP-fragmentering. Om ett svar på en UDP-fråga skulle överstiga 512 oktetter sätter servern en bit i meddelandehuvudet som anger detta. Klienten kan då välja att fråga om över TCP. Omfråga över TCP är resursmässigt dyrt server och klient måste hålla session och skicka fler paket. Därför vill man inte normalt sett skapa poster som skulle leda till svar över 512 oktetter. 46

Meddelandehuvudet 16 bitar QUERY ID QR Opcode AA TC RD RA Z RCODE QDCOUNT ANCOUNT NSCOUNT ARCOUNT 47

ID Ett 16-bitarsnummer, som identifierar frågan, sätts av frågaren och återfinns i svaret. QR En bit, 1 för svar, 0 för fråga. OPCODE Beskriver på 4 bitar frågans art: 0 Standardfråga. 1 Inverse Query Obsolet. 2 Statusfråga. 3-15 Reserverade. A Svar med auktoritet. Bara giltig i svarsmeddelanden, och om den är satt berättar den att servern som svarar är antingen master eller slav för zonen svaret hör hemma i. TC Trunkerat svar. Svaret är för långt för valt 48

transportsystem (typiskt UDP.) RD Rekursion önskas. Klienten ber servern utföra rekursion, och servern kopierar önskan i svaret. RA Rekursion tillgänglig. Om satt i svar så utför servern rekursion. Z Reserverad. Måste ursprungligen vara satt till 0 i alla meddelanden. Numera förbrukade. 49

RCODE Svarskod, 4 bitar vars värde säger: 0 Allt väl. 1 Syntaxfel. Servern förstod inte frågan. 2 Serverfel. Servern har ett problem som hindrar den att svara. Typiskt en slav som inte lyckats hämta zonen. 3 Namnet finns inte. Bara viktigt om AA är satt. 4 Ej implementerat. Servern stöder inte frågetypen. 5 Förvägrat svar. Servern vägrar svara av administrativa skäl. ACL av något slag. 6-15 Reserverade värden för framtida bruk. QDCOUNT 16bitarstal som anger antalet frågor i meddelandet. ANCOUNT 16bitarstal som anger antalet svar i 50

meddelandet. NSCOUNT 16bitarstal som anger antalet NS-poster i meddelandets tilläggsdatadel. ARCOUNT 16bitarstal som anger antalet dataposter i meddelandets tilläggsdatadel. 51

Därefter följer de tre nyttolastsegmenten: QUESTION: Innehåller frågan. Fylls på av klienten. Servern bibehåller frågedata i svaret. Frågan innehåller normalt: Nod som frågan gäller. Klass, IN/CHAOS/HESIOD QTYPE, ser ut som en posttyp (PTR/A/NS) men inte bara, det finns några till som AXFR och ANY ANSWER: Innehåller ett eller flera svar. ADDITIONAL: Innehåller bra-att-ha-data, typiskt NS-poster. 52

6 Uppslagsprocessen Hur hittar vi allt data vi har matat in? 53

När en applikation (tex telnet) får ett värdnamn som argument anropar den en funktion som på Unix heter gethostbyname(), vilken är insteget till DNS mfl namndatabaser (tex /etc/hosts). Som svar tillbaka får den en IP-adress. Vad händer bakom kulisserna? 54

... Uppslagsprocessen... Det finns tre olika grundagenter i uppslagsprocessen: Resolvern Klientbibliotek i varje DNS-kapabel dator. Uppslagsservern Första anhalt, den som gör jobbet. Namnservern Här tillhandahålls data. 55

... Uppslagsprocessen... Resolvern är den del som tar hand om systemanropet. Konfigureras att leta i filer, NIS, eller DNS. Formulerar fråga till uppslagsservern Tar emot svaret och presenterar det för applikationen. 56

... Uppslagsprocessen... Uppslagsservern lyssnar på frågor från resolvern Den kan traversera DNS-trädet, och finna svar på frågorna. Den behöver inte veta något om det faktiska datat, mer än: 57

... Uppslagsprocessen... För att kunna börja leta måste man ha en instegspunkt. Den består av en lista över de DNS-servers som håller root-zonen, dvs... 518400 IN NS A.ROOT-SERVERS.NET.. 518400 IN NS B.ROOT-SERVERS.NET.. 518400 IN NS C.ROOT-SERVERS.NET.. 518400 IN NS D.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 B.ROOT-SERVERS.NET. 3600000 IN A 128.9.0.107 C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 (Det finns egentligen 13 (vilket är så många man får in i ett UDP-meddelande), fast vi visar bara 4...) Den här listan stoppas in i uppslagsservern. 58

... Uppslagsprocessen... Namnservern (eller rättare sagt alla utpekade namnservers på Internet) är platsen som uppslagsservern söker svaret hos. Uppslagsservern behöver alltså inte veta något förutom det data den själv är konfigurerad med. 59

... Uppslagsprocessen... Processen som uppslagsservern utför, på begäran av resolvern, med hjälp av alla namnservers, kallas rekursion. Detta eftersom uppslagsservern, endast med hjälp av sin hintfil, rekurserar igenom strukturen av olika namnservers för att finna svaret. 60

... Uppslagsprocessen... De där konstiga PTR-posterna då? När resolvern får ett gethostbyaddr()-anrop (= vi har IP-adressen, vi vill ha datornamnet ) istället, och frågan alltså är omvänd, då sker följande i resolverbiblioteket: 1. Tag oktetterna i IP-adressen och kasta om ordningen från 1.2.3.4 till 4.3.2.1. 2. Klistra på in-addr.arpa på slutet. 3. Skicka en begäran om PTR-posten för det sålunda konstruerade namnet. 4. Få (förhoppningsvis) tillbaka svaret på övligt vis. 61

5. Reversera omkastningsproceduren och presentera datat. För IPv6 utförs samma omkastningsoperation, men man delar upp adressen på halv oktett (mellan varje hex-siffra) istället, vilket är en funktion av skrivsättet, plus att man förstås häktar på IP6.ARPA på slutet istället. Detta är alltså nödvändigt pga olika endian -konventioner mellan värddatornamn och IP-adresser. 62

Det kan se ut så här: Klienten. (rotnoden) Resolvservern org se lu besserwisser af 63

Glue records och delegering När en uppslagsserver rekurserar för att finna ett svar tar den sig vidare med hjälp av hänvisning till nya NS-poster vars RDATA den slår upp i DNS. Men om NS-postens RDATA ligger i den zon man just fått hänvisning till? Instant lockup! Nej, om så är fallet, så måste moderzonen extrakonfigureras med A-poster till namnservers i dotterzonen, så kallade Glue Records. 64

Programvara debugprogram. nslookup: Använd inte nslookup! Det är alldeles för optimistiskt och hurtigt. Det kommer dessutom att försvinna från BIND-distributionen. host: Betydligt bättre som snabbverktyg. dig: DNS-teknikerns Hiltihammare. Berättar precis hur saker hänger ihop. 65

7 Drift av DNS-system Det behöver inte finnas kopplingar mellan A & PTR! Det är endast och allena en administrativ sak. Delegeringen är ett ansvar, inte en rättighet. Det är alltid efter den överliggande domänens principer man tilldelas delegering. Därför är det viktigt att man ser till att DNS-systemet sköts. Som tur är så är DNS ett mycket stryktåligt system. Det kan fungera, och bra! med så mycket som 25-30% fel (fnvp fel). 66

Men det är inte bra nog. Det måste bli bättre! Varför det då? Det gick ju bra sa du! Många företag finns publikt sett bara på Internet. Internetkommunikationen är även för vanliga företag allt mer central. Mer och mer data tenderar att publiceras i DNS. Kritiskt data. (W2K Active Directory!) Finns du inte i DNS så syns du inte. 67

... Drift... Bra DNS beror på många olika saker. Entropi är nödvändigt! Flera av allt är lätt och bra: Flera olika OS Flera olika AS Flera olika elbolag (Kista!) Flera olika ställen (WTC!) Flera olika programvaror vore bra men är svårt. Bättring är på väg. Exempel: Microsofts försvinnande 68

Hantering av data För att DNS ska fungera måste man så klart stoppa in data. Det finns lite olika metoder: vi. Vanligast. Fungerar ofta bra. Antingen på zonfil eller magisk fil. Tillverkarens GUI. För till exempel Microsoft men även mer specialiserade produkter som QIP. Kostar ofta mycket, kan ha begränsningar. Dynamisk DNS. För hand eller per automatik vid DHCP. Praktiskt men potentiellt farligt. 69

8 Nyheter i protokollet DNS har måst utvecklas ganska drastiskt de senaste åren, men man kan inte göra avkall på kravet på bakåtkompatibilitet, eller åtminstone frihet från påverkan på de som inte kan, vill, eller vet att de borde uppgradera. Några av de saker som tillkommit har vi redan nämnt, som IXFR och Notify. Några återstår och kommer här. 70

EDNS0 EDNS0 (ung. extension of DNS, v. 0, se RFC 2671) är ett system för att låta ett klient-serverpar, inom ramarna för vanlig DNS förhandla fram en gemensam uppsättning av utökade finesser som de kan använda för att ta sig förbi flaskhalsar i standarden. En begränsning som EDNS0 kan få bort är storlek på UDP-meddelanden. En annan är att man kan signalera beredvillighet att acceptera DNSSEC-data. (DNSSEC OK, RFC 3225) 71

RFC 2317 klasslös reversdelegering Eftersom IP-routing numera görs utan fixering vid de gamla klasserna av IP-adresser uppstår snart behovet att bryta klassgränserna även i DNS. Under IN-ADDR.ARPA är minsta odelbara delegering 256 adresser. Under IP6.ARPA är den 16 adresser. Hur göra? 72

Man gör en ny dotterzon, här för 213.212.3.192/27:... Hur göra? 192-223.3.212.213.in-addr.arpa. NS vovve.besserwisser.org. För att resolvern ska hitta: 192.3.212.213.in-addr.arpa. CNAME 192.192-223.3.212.213.in-addr.arpa. ;...osv till... 223.3.212.213.in-addr.arpa. CNAME 223.192-223.3.212.213.in-addr.arpa. I den nya zonen: 192.192-223.3.212.213.in-addr.arpa. PTR network.besserwisser.org. För IPv6 är problemet i princip irrelevant eftersom minsta allokering är en /64. 73

Dynamisk DNS, RFC 2136 On-line-redigering. Använder DNS-meddelanden. Inkrementerar SOA. Säkras ofta med TSIG. Behöver helst IXFR. Active Directory flitig användare. 74

Räksmörgås eller Internationalized Domain Names En försvinnande del av jordens befolkning klarar att uttrycka alla sina ord med US-ASCII. Vi andra fer trdla runt i svrjan och begränsa oss. IDN, som beskrivs i RFC 3490, 3491, 3492 är ett sätt att lösa detta. 75

...IDN... Kraven är hårda: Protokollet på tråden kan inte förändras. Även om protokollet är 8-bit-rent så är inte all programvara det. Hela Unicode måste in. Men man kan inte ha två olika glyfer som ser lika ut för ögat men har olika bitmönster i någon kodning. 76

Hur löser man det här? Jo, man valde IDNA, IDN in Applications. Protokollet och dataformatet på tråden är orört. Istället tar man en trestegsraket:...idn... Reducera alla grafonymer (med lika utseende) till ett definerat tecken. Detta kallas nameprep, Name Preparation. (3491) Koda dem med Punycode, ett system för att klämma in Unicode-tecken i ASCII. (3492) Lämna till applikationerna att upptäcka de kodade namnen och tolka dem. (3490) 77

...IDN... Så här kan det se ut: räksmörgås blir zq--rksmrgs-5wao1o vilket alltså går bra att köra i alla vanliga system. Lite trist att läsa men det fungerar. Sedan är det alltså upp till vävbläddraren att skriva om det till räksmörgås igen. 78

Telefoner i DNS E.164.ARPA I och med att telefoni och Internet konvergerar till höger och vänster behövs system för att kunna anropa Internet-addresserade personer eller datorer från telefoner, och vice versa. Under E164.ARPA stoppar man in telefonnummer så att man kan hänga till exempel hänvisningsdata på dem: 08-7906000 blir 0.0.0.6.0.9.7.8.6.4.e164.arpa. Det här bygger bland annat KTH s och SU s IP-telefoniutveckling på. 79

9 Säkerhet Säkerhet kan definieras på en rad olika sätt i en DNS-kontext. 1. Skydd mot ändring av data. 2. Skydd för värddatorn. 3. Skydd för känsligt data. 80

... säkerhet?... Vilka lösningar finns för dessa problem? 1. DNSSEC. Mer därom senare. I vissa fall hjälper TSIG. 2. Korrekt systemadministration, nya versioner, försiktig konfiguration. 3. Stoppa inte in datat i DNS. Blockerade zontransfers är inte ett sätt att skydda data, det är något man gör av prestandaskäl! 81

TSIG Transaction SIGnatures TSIG är ett sätt att sätta sitt sigill på en datatransaktion som utförs över DNS-meddelanden. RFC 2845 Secret Key Transaction Authentication for DNS (TSIG) Ingen kryptering bara äkthet! Värd till värd, ingen PKI. Skalar inte! Används för: 1. Klientfrågor. 2. Dynamiska uppdateringar 3. Zontransfers. 82

TSIG på bild master.server.se. slav.server.se 236 All trafik här signeras om klockorna och nycklarna stämmer. 236 server slave.server.se { keys { 236 }; }; server master.server.se { keys { 236 }; }; 83

... TSIG... TSIG hjälper oss att garantera att de DNS-meddelanden vi utväxlar mellan datorer organisatoriskt nära oss inte förvanskas. Det är inte en ersättning för DNSSEC! Nära oss kan alltså vara: Till klienter. Mellan slav och master. Från DHCP-server (eller klient) till DNS-server vid bruk av dynamisk DNS-uppdatering. 84

Men, det löser ju inte allt! Nej, och det är därför vi har rullat ut DNSSEC. Igår. Om DNSSEC mer om tiden tillåter.. 85

Slut Frågor? Funderingar? Måns Nilsson, mansaxel@sunet.se 86