Grunderna i nätverk – del 2
I den här andra delen av serien om grunderna i nätverk ska vi utforska DNS-systemet. Vi kan lära oss mycket om internet och nätverk genom att slå upp information i DNS-servrarna. En DNS innehåller mer information än bara IP-adressen till en domän.
Foto: Thomas Jensen
Vi kommer att använda programmet nslookup
i den här artikeln. Programmet
finns i både Linux, macOS och Windows. Det startas genom att skriva nslookup
i en terminal. När programmet är startat möts vi av en prompt i form av ett
ensamt “större än”-tecken. Under Windows visas även vilken DNS-server som
används vid start av programmet, men i övrigt fungerar programmet på samma sätt
under alla operativsystem.
$> nslookup
>
Nu kan vi börja slå upp saker. Vi kan testa att ta reda på IPv4-adressen till domännamnet jackbenny.se. På DNS-språk benämns IPv4-adresser som A-post, eller A-record på engelska. Vi börjar därför med att sätta typen till detta:
> set type=a
> jackbenny.se
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
Name: jackbenny.se
Address: 178.128.198.95
Den serveradress som visas överst (192.168.0.1
i mitt fall) är DNS-servern
som uppslaget görs i. Adressen 192.168.0.1#53
betyder att IP-adressen är
192.168.0.1
och portnumret är 53
. Port 53
är alltid till för DNS-servrar.
Därefter fick vi ett så kallat non-authoritative answer som visar IP-adressen
för domänen, i det här fallet 178.128.198.95
. Ett non-authoritative answer
innebär att svaret kom från en server som inte kontrolleras av domänens ägare
(svaret fick vi ju från vår lokala DNS-server). Det är så här vi alltid gör
uppslag. Direkta uppslag mot den så kallade auktoritativa servern görs nästan
bara från andra DNS-servrar. Men vi kan faktiskt testa att göra ett uppslag
direkt mot en sådan auktoritativ server. För det behöver vi först ta reda på
vilka dessa servrar är. Det gör vi med typen NS, som står för Name Server.
> set type=ns
> jackbenny.se
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
jackbenny.se nameserver = ns1.cyberinfo.se.
jackbenny.se nameserver = ns3.cyberinfo.se.
jackbenny.se nameserver = ns2.cyberinfo.se.
Här vi fick en lista på tre stycken auktoritativa servrar. Det är dessa som
andra DNS-servrar hämtar sin information från om domänen jackbenny.se
.
Förfrågningar från andra DNS-servrar kan däremot vara cachade, därför sker
inte alltid förfrågningar till dessa servrar från andra DNS:er.
Anledningen till att man har flera DNS-servrar är för att DNS-systemet är så viktigt. Skulle vi bara ha en enda DNS-server skulle vi bli ganska sårbara. Skulle den gå ner kan inte andra DNS-servrar och datorer hitta rätt IP-adress, och hemsidan, mejlen och allting annat skulle förbli onåbart. Därför har man som tumregel att alltid ha minst tre DNS-servrar, och helst på olika geografiska platser och på olika nätverk.
Nu när vi har en lista på domänens DNS-servrar kan vi välja en av dem och använda den för att göra uppslag. Jag väljer här den första:
> server ns1.cyberinfo.se
Default server: ns1.cyberinfo.se
Address: 95.217.156.151#53
Default server: ns1.cyberinfo.se
Address: 2a01:4f9:c011:690f::1#53
När vi bytte server ser vi också adresserna till den. I det här fallet har
DNS-servern både en IPv4- och en IPv6-adress. IPv6-adresser benämns AAAA på
DNS-språk. Nu när vi bytt server kan vi göra ett nytt uppslag av
jackbenny.se
:
> set type=a
> jackbenny.se
Server: ns1.cyberinfo.se
Address: 95.217.156.151#53
Name: jackbenny.se
Address: 178.128.198.95
Nu försvann texten om non-authoritative answer eftersom vi har frågat en av
domänens egna DNS-servrar, eller zonens DNS-servrar som det heter på
DNS-språk. Man delar in DNS-systemet i zoner. Exempelvis är toppdomänen .se
en zon, domänen jackbenny.se
en annan zon som är placerad under .se
.
Eftersom denna DNS-servern endast har information om zonen jackbenny.se
kan
vi inte slå upp andra domäner i den:
> cyberinfo.se
Server: ns1.cyberinfo.se
Address: 95.217.156.151#53
** server can't find cyberinfo.se: REFUSED
Däremot kan vi ställa frågor till öppna, publika DNS-servrar. Exempelvis är
Googles DNS-server på IP-adressen 8.8.8.8
en sådan:
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> cyberinfo.se
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: cyberinfo.se
Address: 13.33.141.49
Name: cyberinfo.se
Address: 13.33.141.63
Name: cyberinfo.se
Address: 13.33.141.89
Name: cyberinfo.se
Address: 13.33.141.21
Här ser vi att domänen cyberinfo.se
har flera A-poster. Vilken av
IP-adresserna som inkommande trafik kommer att skickas till – exempelvis när
någon surfar in på webbsidan – kommer att väljas slumpmässigt. Det kan vi
verifiera om vi skickar frågan igen:
> cyberinfo.se
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: cyberinfo.se
Address: 13.33.141.21
Name: cyberinfo.se
Address: 13.33.141.89
Name: cyberinfo.se
Address: 13.33.141.49
Name: cyberinfo.se
Address: 13.33.141.63
Ordningen på IP-adresserna är nu en annan. Gör vi en ny förfrågan kommer ordningen än en gång vara annorlunda. DNS-servrarna roterar alltså IP-adresserna om det finns fler än en till samma domän.
Andra typer av poster
Men en DNS innehåller mer information än bara IP-adressen till en domän och eventuella underdomäner. Här finns också information om vilken eller vilka servrar som ansvarar för domänens e-post. Detta benämns som MX-poster (förkortning av Mail eXchange):
> set type=mx
> jackbenny.se
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
jackbenny.se mail exchanger = 1 mail.tutanota.de.
Här ser vi att jackbenny.se
bara har en enda e-postserver. Vi kan fortsätta
vårt utforskande med att slå upp IP-adressen för e-postservern.
> set type=a
> mail.tutanota.de
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: mail.tutanota.de
Address: 185.205.69.211
Name: mail.tutanota.de
Address: 81.3.6.165
Name: mail.tutanota.de
Address: 81.3.6.162
Här ser vi att e-postservern finns på tre IP-adresser, vilket förhoppningsvis är tre fysiska servrar. Vanligtvis har man istället flera MX-poster där varje post pekar på en e-postserver:
> set type=mx
> getdevnull.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
getdevnull.com mail exchanger = 10 mx.zoho.com.
getdevnull.com mail exchanger = 20 mx2.zoho.com.
Här har vi istället två e-postservrar listade. För MX-poster har man dessutom
ett extra fält som visar prioriteten för servern. Servern mx.zoho.com
har här
prioritet 10 och mx2.zoho.com
har prioritet 20. Det lägsta numret är den som
har högst prioritet.
En annan vanlig DNS-post när det kommer till e-post är TXT-poster. Detta är rena textfält och används oftast till olika typer av verifieringar samt till något som heter SPF (Sender Policy Framework). Det är ett sätt att minimera spam och missbruk av e-postadresser. Mottagaren kontrollerar SPF för en lista över vilka servrar som tillåts skicka e-post för en viss domän. Det är dock upp till mottagaren att välja vad som ska hända med ett mejl som inte matchar, så tekniken är inte helt säker.
> set type=txt
> jackbenny.se
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
jackbenny.se text = "v=spf1 include:spf.tutanota.de -all"
jackbenny.se text = "google-site-verification=K58Hv-IFVQI7BO3Wi6aNPYeHTDZ5Oa90d4R7Vn9D1Kc"
jackbenny.se text = "t-verify=10ebcf973ee66678ff0d857889bf826d"
CNAME (förkortning av canonical name) är en annan vanlig post. Det är ett
alias som pekar på en A- eller AAAA-post. Exempelvis är det vanligt att man
pekar en domän på en A-post, men låter www
-underdomänen vara ett CNAME som
pekar på domänen. På så sätt pekar både domänen och www
-delen på samma
IP-adress, även om man i framtiden skulle ändra IP-adressen för domänen.
> set type=cname
> www.jackbenny.se
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.jackbenny.se canonical name = jackbenny.se.
Zoner
Jag nämnde som hastigast ordet zoner. DNS-systemet är indelat i zoner där
varje DNS-server ansvarar för sina zoner. En och samma DNS-server kan däremot
ansvara för flera zoner. Likaså har man oftast flera DNS-servrar i varje zon.
Överst i hierarkin finns rot-zonen som benämns med en ensam punkt. Titta extra
noga på svaret vi fick när vi testade CNAME-posten. Domännamnet som
www.jackbenny.se
pekar på, alltså jackbenny.se.
, avslutas med en punkt.
Detta är för att markera toppen av hierarkin.
. (rot)
└── .se (toppdomän)
└── jackbenny.se (domänen)
Nyhetsbrev
Nyhetsuppdateringar från tidningen direkt till din inkorg, helt kostnadsfritt. Avsluta när du vill.
Kommentarer
Kommentarsfältet är modererat. Det innebär att alla kommentarer granskas av ansvarig utgivare före publicering.
Du väljer själv om du vill ange ditt riktiga namn, en pseudonym eller vara helt anonym. Ingen registrering behövs.
Relaterade artiklar
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Fortsatt låga IPv6-siffror i Sverige
Det är fortfarande knappt fem procent av internetanvändarna som har tillgång till IPv6. Det visar Post- och telestyrelsens senaste kartläggning. Samtidigt ökar andelen internetoperatörer som använder adressöversättning.
-
Grunderna i nätverk – del 1
I del 1 av denna artikelserie tittar vi på hur ett vanligt hemmanätverk fungerar. Detta är grunden för alla typer av nätverk. Vi utgår från nedanstående skiss och går igenom del för del, alltifrån hur datorerna får en IP-adress till hur de hittar ut på internet och kan slå upp rätt adress.
-
Tidssynkronisering med NTP
Senaste nyheterna och inläggen
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Sommarens skånska demopartyn
Årets sommar bjuder på två skånska demopartyn. Först ut är Reunion i Kvidinge den 28–30 juni. Därefter är det Pågadata i Örtofta den 9–11 augusti.
-
Riskerna med BankID som ingen pratar om
BankID är ett säkert och smidigt sätt att identifiera sig online. Men i takt med dess ökade popularitet och användning har det blivit en svag länk – en single point of failure – på mer än ett sätt.
-
Polisernas fängelsedomar står fast
Efter tre år är målet mot de två poliser som olovligen tog sig in i en berusad mans bostad i Landskrona och misshandlade honom klart. Högsta domstolen beslutade den sjätte mars att avvisa överklagan. Fängelsedomarna för poliserna står därmed fast.
Utvalda artiklar
-
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Datorparty i Landskrona
I helgen höll Syntax Society sitt årliga sommarparty. Platsen var en källarlokal i Landskrona där ett femtontal personer medverkade.
-
Det första Pågadata har ägt rum
I helgen ägde det första Pågadata rum – uppföljaren till Gubbdata. Platsen var Folkets Hus i Kvidinge. Organisatör av partyt var Johan “z-nexx” Osvaldsson med hjälp från Jesper “Skuggan” Klingvall. Partyt hade över 100 anmälda deltagare.
-
Även hovrätten fäller poliserna för att ha satt dit oskyldig
Hovrätten fastställer straffet för de två poliser som förra året dömdes till vardera ett års fängelse av Lunds tingsrätt för att ha misshandlat och satt dit en oskyldig man. De båda poliserna ska även betala skadestånd till mannen.
-
Retroloppis i Påarp
Idag var det retroloppis hos Andreas Nilsson i Påarp. På baksidan av huset fanns hundratals spel uppradade på långa bord. Trots friska vindar och sval temperatur var loppisen välbesökt.
CyberInfo Sverige är ett it- och medieföretag i nordvästra Skåne som tillhandahåller böcker, utbildningar, nyheter och konsulttjänster inom Linux, säkerhet och programmering.
CyberInfo Sverige är godkänd för F-skatt, är momsregistrerat och innehar
utgivningsbevis för webbplatsen www.cyberinfo.se.