6107 Operativsystemer og nettverk Labøving: DNS Domain Name System Oppgave a og b kan gjøres uansett hvilken nettverkskonfigurasjon du har. I oppgave c-e må du bruke samme nettverksoppsettet som i øving 10a DHCP. Dvs. Du må ha både Ubuntu Server og Windows klient ditt eget IP-nett med private IP-adresser bak en ruter med NAT ing. Oppgave a: DNS-klientverktøy i Linux og delegering 1. Bruk Linux kommandoen: dig @a.root-servers.net. NS Forklar resultatet av kommandoen: Hvilke tre ulike DNS-ressurstyper ser du i svaret? 2. Spør den samme rottjeneren om hvilke navnetjenere som finnes for DNS-sonen no. Hvor mange ulike navnetjenere har DNS-sonen no.? Hvor mange av disse har IPv6-adresse? 3. Spør samme navnetjener etter navnetjenere for DNS-sonen hit.no. Hvorfor får du ikke ønsket svar? Hvilken andre DNS-tjenere kan du spørre i stedet? 4. Prøv dette. Hva heter navnetjenerne for sonen hit.no? 5. Spør en av navnetjenerene for hit.no om IP-adressen til maskinen www.hit.no (som ikke er navnetjener) Hva slags DNS-ressurstype er www.hit.no? Hva er det egentlige maskinnavnet til www.hit.no? Hva er IP-adressen til www.hit.no? 1
Oppgave b: DNS trafikk i Wireshark Du skal nå logge nettverkstrafikken som genereres ved et DNS oppslag til en DNS tjener. Denne oppgaven skal gjøres på Windows-maskinen. 1. Tøm DNS klientens cache med Windows kommandoen ipconfig /flushdns (Krever CMD som Admin) 2. Bruk Wireshark og start en pakkefangst på maskinens ethernetkort. 3. Kjør kommandoen ping www.hit.no fra kommandovinduet. Hvorfor vil maskinen automatisk gjøre et DNS oppslag nå? 4. Stopp pakkefangsten i Wireshark, og filtrér slik at bare dns- og icmp-pakker vises. (Se også bort fra eventuelle DNS-oppslag som gjelder andre navn enn www.hit.no) Hvor mange DNS oppslag og svar viser listen? Hvorfor er det eventult mer enn ett oppslag? 5. Finn raden med den første DNS forespørselen (query) i listen. Klikk på raden for å se detaljer. Hva er IP adressen til DNS tjeneren som forespørselen (Standard query) ble sendt til? 6. Åpne DNS-hodet Domain Name System (query) i detaljvinduet. Hvilken transportlagsprotokoll bruker DNS? 7. Åpne linjen Queries i DNS-hodet Hvilket Fully Qualified Domain Name (FQDN) ble sendt til DNS-tjeneren i query en? 8. Finn pakken som representerer svaret (Standard query response) fra DNS tjeneren. 9. Åpne linjen Answers i pakkens DNS-hode. Hvor mange ulike ressursrecords sendes tilbake i svaret fra DNS-tjeneren? Forklar sammenhengen mellom disse ressursrecord ene. 10. Avslutt Wireshark 2
Oppgave c. Lokalt navneoppslag uten DNS-tjener - filen /etc/hosts 1. Forsøk å pinge hostnavnene minserver og linksys fra Linux maskinen Hvordan går dette? Forklar resultatet: 2. Rediger tekstfilen /etc/hosts og legg inn følgende ekstra rader (xx er gruppenr ditt) 192.168.0.1 linksys 192.168.0.5 minserver www 3. Lagre endringene og forsøk å pinge minserver og linksys. Nå skal du få svar fra begge to. 4. Gjør ping mot maskinnavnet www Hva skjer? Hvorfor? 5. Fjern de to radene fra host-filen. I neste øving skal du installere DNS-tjener og da skal den gjøre navnejobben! Oppgave d. DNS-tjeneren BIND på Ubuntu Server Du skal nå installere og konfigurere en DNS-tjener for en ny DNS-sone i ditt eget IP-nett (innsiden av Linksys-ruteren). Domenenavnet for DNS-sonen skal være sonexx.nettlab.hit.no der xx er gruppenummeret ditt. 1. Bruk websiden https://help.ubuntu.com/lts/serverguide/dns-installation.html og installer bind9 og dnsutils. 2. Kjør kommandoen nslookup www.hit.no Hvilken DNS-tjener et det som svarer? Hvorfor? 3. Rediger filen /etc/network/interfaces slik at den benytter følgende DNS parametere: dns-nameservers 192.168.0.5 dns-domain sonexx.nettlab.hit.no dns-search sonexx.nettlab.hit.no 4. Reboot Ubuntu-serveren 5. Kjør kommandoen nslookup www.hit.no på nytt Hvilken DNS-tjener er det som svarer denne gangen? Hvorfor er svaret Non-authoritative? 3
6. Bruk nslookup og slå opp minserver og minserver.sonexx.nettlab.hit.no Hvorfor finner ikke DNS-tjeneren IP-adresse for disse navnene? Bruk websiden https://help.ubuntu.com/lts/serverguide/dns-configuration.html og foilene til leksjonen til hjelp i resten av oppgaven. 7. Endre filen /etc/bind/named.conf.local Legg inn en ny master sone under «local configurations» med disse verdiene: Sonenavn: sonexx.nettlab.hit.no Sonefil: db.sonexx.nettlab.hit.no 8. Lagre endringene i filen /etc/bind/named.conf.local 9. Kopier eksempelfilen /etc/bind/db.local til en ny sonefil: db.sonexx.nettlab.hit.no. 10. Sørg for at den nye filen har samme eier, gruppe og rettigheter som de andre db-filene! 11. Legg inn følgende i den nye sonefilen slik at DNS-tjeneren blir primær master for den nye sonen: Obs! Pass på at alle domenenavn slutter med. (rotdomenet) til slutt i filen SOA-record for DNS-sonen Husk å øke serienummer i SOA-recorden! NS-record for sonens/domenets navnetjener (din maskin). A- og AAAA-records for Ubuntu-serveren En A-record for Linksys-ruteren Legg inn minserver og www som alias (CNAME) for Ubuntu-maskinen. Legg inn gwxx som et alias (CNAME) for linksysruteren. 12. Restart bind9 serveren 13. Bruk nslookup for å spørre DNS-tjeneren om følgende navn: minserver.sonexx.nettlab.hit.no linksys.sonexx.nettlab.hit.no www.sonexx.nettlab.hit.no gwxx.sonexx.nettlab.hit.no 14. Bruk nslookup med de samme hostnavnene som i pkt. 14 men uten domenenavn. Hvorfor fungerer det også uten domenenavn? 15. Bruk nslookup for å spørre om IP-adressene til de samme navnene som i pkt 14. Hva skjer? Hvorfor? 4
Oppgave e. Bruke lokal DNS-tjener fra Windows 1. Bytt til Windows maskinen og deaktiver IPv6 på ethernetkortet 2. Tøm DNS-klientens buffer med ipconfig /flushdns 3. Forsøk å pinge minserver.sonexx.nettlab.hit.no Hvorfor virker ikke dette? Hvilke IP-adresser til DNS-tjenere har Windows maskinen? Hvor får Windows maskinen IP-adresse til DNS-tjenerne fra? 4. Forsøk også nslookup minserver Hvilken DNS-tjener svarer? 5. Rediger konfigurasjonsfilen /etc/dhcp/dhcpd.conf for ISC-DHCP-tjeneren på Ubuntumaskinen 6. Legg inn den nye DNS-sonen og IP-adressen til DNS-tjeneren i filen: option domain-name "sone99.nettlab.hit.no"; option domain-name-servers 192.168.0.5; 7. Restart DHCP-tjeneren som i øving 10a 8. Forny IP-adressen på Windows-maskinen og sjekk at den får riktig adresse til DNS-tjener fra DHCP-tjeneren. 9. Tøm lokalt DNS cache i Windows på nytt. 10. Forsøk nå å pinge minserver.sonexx.nettlab.hit.no. Nå bør det fungere! 11. Start en nettleser og slå opp følgende adresser http://minserver.sonexx.nettlab.hit.no http://www.sonexx.nettlab.hit.no http://minserver http://www Hvorfor virker ikke de to siste URL ene uten fullstendig domenenavn? 12. Start System Advanced System Settings. 13. Velg fanen Computer Name 14. Trykk Change-knappen og gi maskinen et fornuftig maskinnavn. 15. Klikk knappen More, og legg inn DNS-domenet sonexx.nettlab.hit.no som Primary DNS-suffix på Windows maskinen 16. Restart Windows-maskinen. 17. Logg inn på Windows maskinen, start en nettleser og slå opp adressen http://www Hva skjer nå? 18. Bytt til Linux-maskinen og forsøk å pinge Windows-maskinens maskinnavn. 5
Hvorfor virker ikke dette? Hva må gjøres for at det skal virke? Hvorfor er det ikke lurt å legge dette maskinnavnet inn i sonefilen på DNS-tjeneren? 6