For en systemadministrator ser alt greit ut – helt til det ikke gjør det lenger. I slike kritiske situasjoner vil disse «dig»-kommandoene være svært nyttige. Følg med for å lære mer.
Systemadministratorer utfører en imponerende jobb hver dag. Det mest grunnleggende kravet til en systemadministrator er å være tilgjengelig 24 timer i døgnet, noe som jeg setter stor pris på.
Men vi skal ikke dykke ned i deres arbeidsoppgaver; i stedet skal vi se på deres foretrukne verktøy for å feilsøke DNS-problemer.
Hva er «dig»-kommandoer?
«Dig»-kommandoer, som er en forkortelse for Domain Information Groper, er en av de raskeste metodene for å spørre DNS-servere om hva som fungerer og hva som ikke fungerer.
Med enkle og lettfattelige tekster kan du sjekke serverens IP-adresse, navneservere, e-postutveksling, TTL (Time To Live) osv.
Før vi går i gang med noen grunnleggende «dig»-kommandoer, må du sjekke om du har installert «dig»-verktøyene:
$ dig -v
Dette skal gi deg et resultat som viser «dig»-versjonen, slik:
DiG 9.18.1-1ubuntu1-Ubuntu
Hvis du ikke får et lignende svar, må du først installere «dig»-verktøyene.
For de som bruker Ubuntu og Debian, skriver du inn:
$ sudo apt-get install dnsutils
Og for de som bruker CentOS eller RHEL, bruker du:
$ sudo yum install bind-utils
Deretter kjører du `dig -v` for å forsikre deg om at installasjonen gikk som den skulle.
Til slutt kan du gå videre til de følgende avsnittene for å se på noen «dig»-kommandoer som kan hjelpe deg i din rolle som systemadministrator.
Sjekk IP-adressen
Dette er en av de enkleste kommandoene der vi sjekker serverens IP-adresse som ligger bak et domenenavn.
Vi begynner med iterasjonen `dig tipsbilk.net.com`.
$ dig tipsbilk.net.com
; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> tipsbilk.net.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:
;tipsbilk.net.com. IN A
;; ANSWER SECTION:
tipsbilk.net.com. 67 IN A 172.66.43.163
tipsbilk.net.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
Det første viktige elementet er statusen: NOERROR i seksjonen «Got answer» øverst. Dette forteller oss at alt gikk bra uten problemer.
Men informasjonen vi egentlig var ute etter med denne spørringen, er serverens IP-adresse. Den er nevnt i svarseksjonen: 172.66.40.93 (den primære serveren) og 172.66.43.163 (den sekundære).
I tillegg finner du den opprinnelige spørringen i «Question»-delen.
Den siste delen gir litt statistikk om søket.
Men dette er mye informasjon, og den er ikke nødvendig hver gang.
Derfor kan du hente et renere svar på denne spørringen ved å skrive inn:
$ dig tipsbilk.net.com +noall +answer
tipsbilk.net.com. 53 IN A 172.66.43.163
tipsbilk.net.com. 53 IN A 172.66.40.93
Her utelater vi all ekstra informasjon med `+noall`, og tillater kun det forventede svaret med `+answer`.
Du kan få et enda kortere svar ved å bruke:
$ dig tipsbilk.net.com +short
172.66.43.163
172.66.40.93
Dette var den grunnleggende spørringen som returnerte DNS A-posten; la oss se på noen flere.
Finn spesifikke DNS-poster
Navneservere, den autoritative DNS-serveren for et domene, kan finnes ved hjelp av `ns`-variabelen.
$ dig tipsbilk.net.com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.
På samme måte vil `mx`-variabelen svare med e-postserverne, sammen med deres prioriteringer.
$ dig tipsbilk.net.com mx +noall +answer
tipsbilk.net.com. 300 IN MX 1 aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 10 alt3.aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 10 alt4.aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 5 alt1.aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 5 alt2.aspmx.l.google.com.
På samme måte kan `txt`, `aaaa`, `cname`, osv., brukes som «dig»-kommandovariabler for å returnere ulike DNS-poster.
Spor DNS
Som tittelen antyder, sjekker «Trace DNS» veien fra rotnavneserverne, de autoritative navneserverne, og helt til domenets IP-adresse.
$ dig tipsbilk.net.com +trace
; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> tipsbilk.net.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
tipsbilk.net.com. 172800 IN NS olga.ns.cloudflare.com.
tipsbilk.net.com. 172800 IN NS todd.ns.cloudflare.com.
tipsbilk.net.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
tipsbilk.net.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
tipsbilk.net.com. 300 IN A 172.66.43.163
tipsbilk.net.com. 300 IN A 172.66.40.93
tipsbilk.net.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 tipsbilk.net.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 kortere svar ved å bruke `+short`- eller `+noall +answer`-variabler.
Omvendt DNS-oppslag
Omvendt DNS-oppslag avslører PTR-posten som er knyttet til IP-adressen. Det er det motsatte av en DNS A-post og kobler IP-adressene til domenenavnet.
Hvis et domenenavn ikke har en DNS PTR-post, vil det ikke være noen svarseksjon.
Kommandoen som brukes 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 ser, er domenenavnet i «Answer»-delen, `media-router-fp74.prod.media.vip.bf1.yahoo.com/`, koblet til den primære IP-adressen 74.6.143.26.
Og et besøk til denne URL-en vil faktisk sende deg til Yahoos søkehjemmeside.
Men dette gjelder ikke nødvendigvis for alle webservere. I noen tilfeller vil ikke disse lange og kompliserte adressene føre til noe spesielt.
Spørre spesifikke DNS-servere
Noen ganger kan det være nødvendig å bruke en bestemt server for DNS-spørringer. Dette kan enkelt gjøres ved å legge til `@DNS-server IP-adresse`, slik at du kan velge en hvilken som helst DNS-server for en bestemt spørring.
$ dig @1.1.1.1 tipsbilk.net.com +noall +answer +stats
tipsbilk.net.com. 300 IN A 172.66.40.93
tipsbilk.net.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 bekrefte dette i statistikkdelen, som nevner `Server: 1.1.1.1`, som tilhører Cloudflare.
På samme måte kan du spørre Google DNS-servere (8.8.8.8):
$ dig @8.8.8.8 tipsbilk.net.com mx +noall +answer +stats
tipsbilk.net.com. 300 IN MX 1 aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 10 alt3.aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 10 alt4.aspmx.l.google.com.
tipsbilk.net.com. 300 IN MX 5 alt1.aspmx.l.google.com.
tipsbilk.net.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
La oss grave det opp ⛏️
Som navnet antyder, brukes disse kommandoene til å grave frem DNS-informasjon og identifisere relaterte problemer. «Dig»-kommandoer er vanligvis raske i bruk og enkle å huske.
Ikke minst kan du installere «dig»-verktøy på både Mac og Windows, noe som gjør dem universelle i bruk.
PS: Mens du er her, ville det være synd å ikke introdusere deg for tipsbilk.net sitt Sysadmin-bibliotek, et senter for alle løsninger for systemadministratorers hodepine.