Hvordan virker DNS – Deep dive

Hvordan virker DNS - detaljeret

Har du læst min side om hvordan DNS(Domain Name System). virker generelt? Hvis ikke så skynd dig at se den, så du har det helt grundlæggende på plads. Du finder det her
Ved at gå lidt dybere kan du lære hvordan DNS virker så det bliver IT made easy.

Hvor skal man starte for at finde ud af hvordan DNS virker?

Hvorfor ikke starte på det lokale netkort opsætning?

DNS Server oplysning på netkort

DNS server IP adressen på netkortet kan du finde med kommandoen ipconfig /all i din kommandoprompt/commandprompt.(Arbejder du i linux, kan du bruge ip a)

DNS server ip opsætning

Denne IP adresse fortæller din computer hvilken DNS server der primært skal bruges for at kunne oversætte domæne navne til IP adresser. Typisk vil det være ip adressen på din router., hvis det er dit hjemmenetværk. Er det i en virksomhed, vil IP adressen typisk være til den lokale DNS eller Domain Controller. Læs mere om Domain Controller her

Holdt, routeren er da ikke en DNS server! Nej, men langt de fleste routeren har en DNS service som du kan sammenligne med en mini DNS server.
Denne service gør det blandet andet muligt at kontakte hinanden på det lokale netværk - LAN'et - ved blot at bruge navnet på enhederne i stedet for IP adresserne.

Den lokale DNS server/Service

Den lokale DNS Server eller DNS Service har 2 dele - Resolver og Authoritative server. Disse 2 dele ser vi ikke til dagligt, da DNS serveren håndterer det så fint for os, men lad os se lidt nærmere på disse 2 dele for at få en forståelse af hvordan DNS serveren virker.

Herunder har jeg forsøgt at illustrerer en DNS Server eller DNS Service, som har disse 2 dele.

De 2 dele - Resolver og Authoritative 

Disse 2 dele har alle DNS Servere og DNS Services. Typisk vil vi kun kunne se den ene del.

Resolver

Resolver delen er en form for midlertidig lagerplads som vi kender det fra eks. ARP tabeller. Forestil dig at PC 1 vil have IP Adressen på www.krak.dk. Det første DNS serveren gør, er at undersøge om det har domænet i sin Authoritative del. Det har den tydeligvis ikke, så den spørger en mere overordnet DNS Server som enten kan være sat op som en DNS Forwarder eller en Root server.

Når denne forespørgsel kommer tilbage, vil den opdaterer resolver delen, som det kan ses herunder:

DNS Resolver cache

Nu vil IP adressen for krak.dk være opdateret i resolver delen som er at sammenligne lidt med en meget lokal telefonbog. Denne opdatering er baseret på at DNS serveren/Servicen har haft fat i en DNS server der har autoritet til at administrer et domæne.

Resolver del på hver enkelt klient

Denne resolver del, som ligger i DNS,  ligger også på hver enkelt enhed i en lidt mere simpel udgave.

Den kan du se indholdet, ved at åbne din kommandoprompt  og indtaste kommandoen ipconfig /displaydns
Den del af det du får som resultat, kan du se i illustationen herunder.

Det fører os fint frem til den næste del - authoritative delen.

DNS ipconfig displaydns it made easy

Authoritative del

Hvert domæne har en authorative server, som er den der så at sige bestemmer for domænet. I denne simple opsætning.

Denne del, indeholder DNS informationer fra tidligere for den del af netværket som DNS servereren er navneserver ansvarlig for.

For at se nærmere på illustrationen fra før, er der en tabel i den authoritative del som fortæller noget om navne og IP adresser, men KUN for det domæne navn som DNS serveren er ansvarlig for. Hvor domaine navn har en eller flere authoritative servere tilknyttet. Af illustrationenen herunder kan man se hvilken DNS Server der authoorativ for krak.dk:

DNS Authorative server

 

 

 

 

 

 

Denne information er fundet fra dk-hostmaster.dk som er den overordnede myndighed, der håndterer alle domæner der slutter på .dk.

Ud af dette kan vi se at de authorative navneservere for krak.dk blandt andet er 
ns.domainnetwork.se

Det betyder at for kunne finde ud a hvilken IP adresse der ligger bag ved www.krak.dk skal vi spørge DNS serveren ns.domainnetwork.se.

DNS i praksis

Det var en del teori, men hvordan får vi det omsat til noget vi kan forholde os til?

Vi vil igen tage udgangspunkt i tegningen fra før:

Lokalt DNS opslag

Det første der sker, når pc1 i illustrationen forsøger at slå navnet www.krak.dk op, er at den lokale DNS server/service kontrollerer om den er authorativ for krak.dk

Det er den ikke, så den vil dernæst se i resolver delen. Den del er lige nu tom.

Derfor vil den spørge enten det i fagsprog kalder en forwarder, som vi for nuværende ikke vil komme nærmere ind på, eller den vil spørge en root server.

For at vi kan følge med i hvad der sker i kommunikationenen med en af root serverne, må vi hente et hjælpeværktøj der hedder whois.

IANA (Internet Assigned Numbers Authorativ) der står for blandt andet fordeling af IP adresser og top-level domæner (TLD) har en sådan whois service.

Denne service operer på port 43.
Selve servicen og principperne for Whois kan du læse om her.

For at gøre brug af Whois vil vi hente en klient til dette formål. Hvis du bruger linux, er det indbygget. Windows klienten kan du hente her.

Jeg vil i de følgende bruge Whois klienten til windows. IANA har en whois service på adressen whois.iana.org som vi kan bruge.

Whois klient

For at vi kan følge med i hvad der sker, vil vi bruge  whois klienten.

Start derfor med at åbne din kommandoprompt. 

Herefter skriver du whois:

DNS Whois client microsoft sysinternals it made easy

 

 

 

Som vi kan se, kræver den at vi angiver et domainname som et domænenavn. I dette tilfælde er det krak.dk.  Derudover skal vi angive en whois server. Den whois server vi vil bruge til at starte med er whois.iana.org

De har en liste over alle TLD (Top-level domains) som forespørgslen skal sendes videre til.

For at få alle informationer omkring det pågældende domæne, skal vi tilføje parameteren -v, så vi skriver nu 

whois -v krak.dk whois.iana.org

 

DNS whois refer dk

TLD refer

Som vi nu kan se, får vi en information hvor der i en af de første linjer står "refer". Det betyder at vores root server henviser os videre til en anden whois server. I linjen lige under, kan vi se at den gør det fordi den hører til TLD DK.

En komplet liste over disse TLD kan du læse mere om på IANAS' hjemmeside

Derfor skal vi nu tilpass vores whois til næste niveau.

TLD whois

Som vi fandt ud af, skal vi bruge whois.dk-hostmaster.dk. Derfor tilpasser vi nu vores whois kommando, så den nu hedder

whois -v krak.dk whois.dk-hostmaster.dk

 

 

 

 

 

 

Her kan vi se at den authorative nameserver står under Nameservers - Hostnames. 

Nu kan vores DNS server sende forespørgslen om www.krak.dk til authorative DNS server som vi fandt i ovenstående billede.

Dette kan vi se ved at bruge værktøjet nslookup som du også kan gøre brug af fra kommandoprompten.

nslookup

skriv nu nslookup /? for at se hvordan du kan bruge det.

Som vi kan se, skal vi skrive nslookup domænevan DNSServer. 

Derfor skriver vi:
nslookup www.krak.dk ns.domainnetworks.se

DNS NS Lookup

 

 

 

Nu får vi et svar med en adresse som er en IP adresse. Disse informationer om IP adresse og domain name www.krak.dk gemmes nu i vores lokale dns - i resolver delen.

Opsamling

Så det at vi får oversat et domænenavn til IP adresser i vores DNS server er slet ikke så simpelt som vi kunne tro.

Jeg håber dog at du har fået et bedre overblik over de værktøjer du selv kan bruge for at kunne forstå hvad der sker. Derfor er det IT made easy.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.