Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

Slå DNS op med dig og nslookup

Modul 8: Sikkerhed og fejlfinding · Læsetid: 10 minutter

Læringsmål: Efter denne lektion kan du bruge dig og nslookup til at slå records op, forespørge en bestemt navneserver og læse resultatet.

Nøglebegreber: dig, nslookup, Resolve-DnsName, +short, @server, +trace, ANSWER- og AUTHORITY-sektion, status NOERROR, NXDOMAIN, SERVFAIL, dig -x

Hvorfor slå det selv op?

Et panel viser, hvad du selv har indtastet. Det, resten af verden ser, kan være noget andet: måske administrerer en anden part DNS'en, måske ligger der stadig et gammelt svar i en cache. Med et opslagsprogram stiller du det samme spørgsmål som en browser eller mailserver, og du ser det reelle svar.

Der findes tre gængse programmer:

ProgramHvorKommentar
digmacOS, Linux (Windows via WSL eller installeres separat)Mest omfattende, standard hos administratorer
nslookupWindows, macOS, LinuxFindes overalt, mere kortfattet output
Resolve-DnsNameWindows PowerShellPraktisk på Windows uden ekstra software

Har du ikke et kommandovindue ved hånden? Så kan du gøre præcis det samme med et online dig-værktøj (lektion 8.3).

Dit første spørgsmål med dig

Åbn Terminal (macOS/Linux) og skriv:

$ dig example.com A

Outputtet ser forkortet sådan ud:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41872
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                  IN      A

;; ANSWER SECTION:
example.com.           2847    IN      A       192.0.2.10

;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)

Det, du skal læse:

  • status: det vigtigste ord. Se tabellen nedenfor.
  • flags: ad betyder, at resolveren har kontrolleret svaret med DNSSEC (lektion 8.1).
  • ANSWER SECTION: selve records. Kolonnerne er de samme som i en zone: navn, TTL, klasse, type, værdi.
  • TTL (her 2847): hvor mange sekunder dette svar stadig bliver i resolverens cache. Stod der 3600 i zonen, så er svaret altså allerede 753 sekunder gammelt. Spørger du igen, kan du se tallet tælle ned.
  • SERVER: hvilken resolver du har spurgt. Derhjemme er det ofte din router.

De tre statusser, du skal kende

StatusBetydningHvad du skal gøre
NOERROR med svarAlt er i orden, dette er svaretEr værdien forkert? Så står der et forkert record, eller du ser en gammel cache
NOERROR uden svar (ANSWER: 0)Navnet findes, men har ikke et record af denne typeOfte: du spørger efter den forkerte type (f.eks. A på et navn med kun et CNAME eller kun MX)
NXDOMAINDette navn findes slet ikkeTastefejl, glemt record, eller et dobbelt domænenavn som mail.example.com.example.com
SERVFAILResolveren kunne ikke få et pålideligt svarNavneservere utilgængelige, eller en defekt DNSSEC-kæde (prøv +cd)

Praktiske varianter

Kun svaret med +short:

$ dig +short MX example.com
10 mail.example.com.
20 mail2.example.com.

Spørge en anden resolver eller navneserver direkte med @. Dette er det vigtigste trick ved problemer. Spørger du den autoritative navneserver selv, får du altid det friske svar, uden cache:

$ dig +short NS example.com
ns1.hosting.example.
ns2.hosting.example.

$ dig +short A www.example.com @ns1.hosting.example
192.0.2.20

$ dig +short A www.example.com @9.9.9.9
192.0.2.10

Her ser du med det samme, hvad der sker: navneserveren giver allerede den nye adresse (.20), den offentlige resolver har stadig den gamle i cachen (.10). Du behøver altså ikke gøre noget, bare vente til TTL'en er gået (modul 6).

Andre typer: sæt typen efter navnet.

$ dig +short TXT example.com
"v=spf1 a mx include:_spf.hosting.example ~all"
"google-site-verification=AbC123..."

$ dig +short TXT _dmarc.example.com
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

$ dig +short CNAME shop.example.com
shops.platform.example.

Følge hele rejsen med +trace. dig gør så selv det, en resolver gør: først roden, så TLD'en, så den autoritative server (lektion 1.4):

$ dig +trace example.com A
.                 518400  IN  NS  a.root-servers.net.
;; Received 239 bytes from 192.168.1.1#53
com.              172800  IN  NS  a.gtld-servers.net.
;; Received 708 bytes from 198.41.0.4#53(a.root-servers.net)
example.com.      172800  IN  NS  ns1.hosting.example.
;; Received 412 bytes from 192.5.6.30#53(a.gtld-servers.net)
example.com.      3600    IN  A   192.0.2.10
;; Received 57 bytes from 198.51.100.53#53(ns1.hosting.example)

Med +trace ser du, hvilke navneservere registryen reelt oplyser. Det er praktisk, hvis du er i tvivl om, hvorvidt en navneserverændring allerede er slået igennem.

Se DNSSEC med +dnssec: du får RRSIG-signaturerne med. Med +cd slår du kontrollen fra for at se, om en SERVFAIL skyldes DNSSEC.

Reverse DNS med -x (lektion 4.6):

$ dig +short -x 192.0.2.25
mail.example.com.

Det samme med nslookup

nslookup virker på enhver computer. De vigtigste former:

C:\> nslookup example.com
Server:  router.lan
Address:  192.168.1.1

Non-authoritative answer:
Name:    example.com
Address:  192.0.2.10

C:\> nslookup -type=mx example.com
example.com    MX preference = 10, mail exchanger = mail.example.com

C:\> nslookup -type=txt _dmarc.example.com 9.9.9.9

En anden adresse efter navnet (her 9.9.9.9) er den server, du spørger, ligesom @ ved dig. "Non-authoritative answer" betyder blot, at svaret kommer fra en resolver og ikke fra den autoritative navneserver: det er normalt. Findes navnet ikke, siger nslookup Non-existent domain, hvilket er det samme som NXDOMAIN.

Windows PowerShell: Resolve-DnsName

PS> Resolve-DnsName example.com -Type MX
PS> Resolve-DnsName _dmarc.example.com -Type TXT -Server 9.9.9.9
PS> Resolve-DnsName example.com -Type A -DnsOnly

Tøm din egen cache

Ser et online værktøj allerede det nye svar, men din computer gør ikke endnu? Så ligger det gamle svar i cachen på din egen computer eller browser.

  • Windows: ipconfig /flushdns i kommandoprompten.
  • macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder i Terminal.
  • Linux med systemd-resolved: resolvectl flush-caches.
  • Browser: et privat vindue, eller din telefon via 4G/5G med wifi slået fra.

Cachen hos din udbyder eller router kan du ikke selv tømme; der venter du blot TTL'en ud.

I praksis: sådan ser det ud i et panel

I de fleste paneler kan du ikke køre dig. Brug derfor dig ved siden af dit panel: tjek først i panelet, hvad du har indtastet, kontroller så med dig @<din navneserver>, om navneserveren rent faktisk udleverer det, og brug derefter dig @9.9.9.9 til at se, om omverdenen allerede ser det. Mit WebOké har en DNS-diagnose, der sammenligner navneserverne indbyrdes; andre udbydere har tilsvarende "DNS-kontrol"-knapper.

Opsummering

  • dig <navn> <type> stiller det samme spørgsmål som en browser eller mailserver; læs først statussen.
  • NOERROR med svar er godt, NOERROR uden svar betyder "navnet findes, typen ikke", NXDOMAIN betyder "navnet findes ikke", SERVFAIL betyder "intet pålideligt svar".
  • Med @server spørger du en bestemt resolver eller den autoritative navneserver direkte; sådan ser du forskellen mellem en fejl og en cache.
  • +short, +trace, +dnssec, +cd og -x er de varianter, du oftest har brug for.
  • nslookup og Resolve-DnsName gør det samme på Windows.

Quiz

1. dig mail.example.com A giver status: NXDOMAIN. Hvad betyder det?



2. Du har ændret A-recordet for www. dig +short www.example.com @ns1.hosting.example giver den nye adresse, dig +short www.example.com @1.1.1.1 stadig den gamle. Hvad foregår der?



3. Hvilken kommando viser hele vejen fra roden via TLD'en til den autoritative navneserver?



4. I outputtet fra dig står der ved et A-record en TTL på 412. I zonen står der 3600. Hvad betyder det?



5. Hvad gør nslookup -type=mx example.com 9.9.9.9?



Opgave

Opgave Z8.2: dig og nslookup. Slå tre ting op med dig, nslookup eller Resolve-DnsName (eller et online dig-værktøj):

  1. statussen for et navn, der ikke findes: bestaat-niet-dnscursus.sidn.nl;
  2. MX-records for wikipedia.org, direkte hos en af navneserverne for wikipedia.org (find den først);
  3. den TTL, som en offentlig resolver lige nu returnerer for A-recordet for sidn.nl (spørg to gange, med et minuts mellemrum, og notér begge tal).

Udfyld svarene.

Opgave Z8.2: dig og nslookup





Det du udfylder, og det vi tjekker live, gemmer vi ikke. Din browser husker dine svar, og om du har bestået opgaven. Er du logget ind, gemmer vi kun, at du (næsten) havde opgaven rigtig, i Mine kurser; der kan du også slette det igen.

Læs videre

Disse artikler beskriver trinnene hos WebOké; kommandoerne virker ens overalt.

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…