Som sysadmin ser tingene kun pæne ud, indtil de ikke gør det. I disse krise-drevne øjeblikke vil disse gravekommandoer være nyttige. Bliv hængende.
Systemadministratorer gør et fandens arbejde hver gang. Selv det mest basale sysadmin-jobkrav om at være på vagt 24/7 er noget, jeg værdsætter ud over grænser.
Men vi er ikke her for at dykke ned i deres jobprofiler; tjek i stedet deres valgte våben for at fejlfinde DNS-problemer.
Indholdsfortegnelse
Hvad er gravekommandoer?
Kort for Domain Information Groper, Dig-kommandoer er en af de hurtigste metoder til at forespørge DNS-servere om, hvad der virker, og hvad der ikke gør.
Du kan tjekke serverens IP-adresse, navneservere, mailudveksling, forespørge på TTL osv. med tekster, der er nemme at huske.
Før du starter med et par grundlæggende gravekommandoer, skal du kontrollere, om du har graveværktøjer installeret:
$ dig -v
Dette skulle vende tilbage med resultatet, der angiver graveversionen, sådan her:
DiG 9.18.1-1ubuntu1-Ubuntu
Hvis du ikke får et lignende svar, skal du først installere Dig-værktøjer.
For folk, der bruger Ubuntu og Debian, skriv:
$ sudo apt-get install dnsutils
Og brug:
$ sudo yum install bind-utils
…hvis du er på CentOS eller RHEL.
Kør derefter dig -v for at sikre, at installationen gik glat.
Hop endelig til de følgende sektioner for at tjekke et par Dig-kommandoer, der kan hjælpe dig som sysadmin.
Tjek IP-adressen
Dette er en af de enkleste, hvor vi kontrollerer serverens IP-adresse, der understøtter et domænenavn.
dig toadmin.dk.com er den iteration, vi begynder med.
$ dig toadmin.dk.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> toadmin.dk.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;toadmin.dk.com. IN A ;; ANSWER SECTION: toadmin.dk.com. 67 IN A 172.66.43.163 toadmin.dk.com. 67 IN A 172.66.40.93 ;; Query time: 4 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:29:58 UTC 2022
Den første vigtige ting er status: NOERROR i sektionen Fik svar øverst. Dette fortæller os, at det gik godt uden problemer.
Men de oplysninger, som vi lavede denne forespørgsel for, er serverens IP-adresse. Det er nævnt i Answer-sektionen 172.66.40.93 (den primære server) og 172.66.43.163 (fejlsikret).
Derudover ligger din oprindelige forespørgselserklæring under spørgsmålsektionen.
Det sidste afsnit giver et par statistikker om forespørgslen.
Men det er en frygtelig masse information, som ikke er nødvendig hver gang.
Ergo kan du hente et renere svar på denne forespørgsel ved at indtaste:
$ dig toadmin.dk.com +noall +answer toadmin.dk.com. 53 IN A 172.66.43.163 toadmin.dk.com. 53 IN A 172.66.40.93
Her benægter vi alt ved +noall, kun for at tillade det forventede svar med +svaret.
Man kan få et endnu mere kort svar ved at bruge:
$ dig toadmin.dk.com +short 172.66.43.163 172.66.40.93
Dette var den grundlæggende forespørgsel, der returnerede DNS A-posten; lad os se nogle flere.
Find specifikke DNS-poster
Navneservere, den autoritative DNS-server for et domæne, kan findes af ns-variablen.
$ dig toadmin.dk.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
På samme måde reagerer mx-variablen med mailserverne sammen med deres prioriteter.
$ dig toadmin.dk.com mx +noall +answer toadmin.dk.com. 300 IN MX 1 aspmx.l.google.com. toadmin.dk.com. 300 IN MX 10 alt3.aspmx.l.google.com. toadmin.dk.com. 300 IN MX 10 alt4.aspmx.l.google.com. toadmin.dk.com. 300 IN MX 5 alt1.aspmx.l.google.com. toadmin.dk.com. 300 IN MX 5 alt2.aspmx.l.google.com.
På samme måde kan txt, aaaa, cname osv. bruges som dig-kommandovariabler for at returnere forskellige DNS-poster.
Spor DNS
Som det fremgår af overskriften, kontrollerer Trace DNS stien fra rodnavneserverne, autoritative navneservere, op til domænets IP-adresse.
$ dig toadmin.dk.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> toadmin.dk.com +trace ;; global options: +cmd . 322660 IN NS a.root-servers.net. . 322660 IN NS b.root-servers.net. . 322660 IN NS c.root-servers.net. . 322660 IN NS d.root-servers.net. . 322660 IN NS e.root-servers.net. . 322660 IN NS f.root-servers.net. . 322660 IN NS g.root-servers.net. . 322660 IN NS h.root-servers.net. . 322660 IN NS i.root-servers.net. . 322660 IN NS j.root-servers.net. . 322660 IN NS k.root-servers.net. . 322660 IN NS l.root-servers.net. . 322660 IN NS m.root-servers.net. ;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw== ;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms toadmin.dk.com. 172800 IN NS olga.ns.cloudflare.com. toadmin.dk.com. 172800 IN NS todd.ns.cloudflare.com. toadmin.dk.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 toadmin.dk.com. 86400 IN RRSIG DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA== ;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms toadmin.dk.com. 300 IN A 172.66.43.163 toadmin.dk.com. 300 IN A 172.66.40.93 toadmin.dk.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 toadmin.dk.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg== ;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms
Alternativt kan du få et kort svar ved at bruge +short eller +noall +svar variabler.
Omvendt DNS-opslag
Omvendt DNS-opslag afslører PTR-posten, der er knyttet til IP-adressen. Det er det modsatte af en DNS A-record og matcher IP-adresserne med domænenavnet.
Der vil dog ikke være noget svarsektion, hvis et domænenavn ikke har nogen DNS PTR-record.
Kommandoen på spil her er dig -x IP-adresse.
[email protected]:~$ dig yahoo.com +short 74.6.143.26 74.6.231.20 98.137.11.164 98.137.11.163 74.6.143.25 74.6.231.21 [email protected]:~$ dig -x 74.6.143.26 ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;26.143.6.74.in-addr.arpa. IN PTR ;; ANSWER SECTION: 26.143.6.74.in-addr.arpa. 600 IN PTR media-router-fp74.prod.media.vip.bf1.yahoo.com. ;; AUTHORITY SECTION: 143.6.74.in-addr.arpa. 172800 IN NS ns3.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns4.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns5.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns2.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns1.yahoo.com. ;; Query time: 192 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:17:08 UTC 2022 ;; MSG SIZE rcvd: 203
Som du kan se, er domænenavnet i Answer-sektionen, media-router-fp74.prod.media.vip.bf1.yahoo.com/, forbundet med dets primære IP-adresse 74.6.143.26.
Og besøger du denne URL vil du faktisk sende dig til Yahoos søgehjemmeside.
Dette er dog muligvis ikke sandt for alle webværter; i nogle tilfælde løser disse grimme, lange URL’er ikke noget.
Forespørgsel efter specifikke DNS-servere
Nogle gange vil du gerne pinge en bestemt server for DNS-forespørgsler. Man kan nemt opnå det ved at tilføje @DNS server IP-adresse, vælge en hvilken som helst DNS-server til en bestemt forespørgsel.
$ dig @1.1.1.1 toadmin.dk.com +noall +answer +stats toadmin.dk.com. 300 IN A 172.66.40.93 toadmin.dk.com. 300 IN A 172.66.43.163 ;; Query time: 156 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP) ;; WHEN: Wed Nov 09 04:18:56 UTC 2022 ;; MSG SIZE rcvd: 74
Du kan verificere dette i statistikafsnittet, som nævner Server: 1.1.1.1, som tilhører Cloudflare.
På samme måde kan man forespørge Google DNS-servere (8.8.8.8):
$ dig @8.8.8.8 toadmin.dk.com mx +noall +answer +stats toadmin.dk.com. 300 IN MX 1 aspmx.l.google.com. toadmin.dk.com. 300 IN MX 10 alt3.aspmx.l.google.com. toadmin.dk.com. 300 IN MX 10 alt4.aspmx.l.google.com. toadmin.dk.com. 300 IN MX 5 alt1.aspmx.l.google.com. toadmin.dk.com. 300 IN MX 5 alt2.aspmx.l.google.com. ;; Query time: 44 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP) ;; WHEN: Wed Nov 09 04:23:16 UTC 2022 ;; MSG SIZE rcvd: 157
Lad os grave det op ⛏️
Som navnet siger, bruges disse til at grave DNS-oplysninger frem og identificere relaterede problemer. Gravekommandoer er normalt hurtige på arbejdet og nemme at huske.
For ikke at nævne, du kan også installere graveværktøjer på Mac og Windows, hvilket gør dem universelle i deres applikation.
PS: Mens du er her, ville det være kriminelt ikke at introducere dig til toadmin.dk Sysadmin-biblioteket, en one-stop-løsningshub for din sysadmin-hovedpine.