Kao sistem administrator, sve deluje savršeno dok se ne pojave problemi. U tim kriznim situacijama, ove `dig` komande će vam biti od velike pomoći. Zato je dobro da ste u toku.
Sistemski administratori obavljaju izuzetno zahtevan posao. Čak i samo to što su dežurni 24/7 je nešto što izuzetno cenim.
Ali, ovde nismo da bismo se bavili njihovim opisom posla; umesto toga, pogledaćemo njihovo oružje izbora kada rešavaju probleme sa DNS-om.
Šta su `dig` komande?
Skraćeno od Domain Information Groper, `dig` komande predstavljaju jedan od najbržih načina da se proveri DNS server kako radi, odnosno šta ne radi.
Možete proveriti IP adresu servera, imena servera, razmenu pošte, raspitati se o TTL-u itd., koristeći jednostavne tekstualne komande koje se lako pamte.
Pre nego što krenemo sa nekoliko osnovnih `dig` komandi, uverite se da su vam `dig` alati instalirani:
$ dig -v
Ovo bi trebalo da vrati rezultat koji pokazuje verziju `dig`, ovako:
DiG 9.18.1-1ubuntu1-Ubuntu
Ako ne dobijete sličan odgovor, prvo morate instalirati `dig` alate.
Za korisnike Ubuntu i Debian sistema, unesite:
$ sudo apt-get install dnsutils
A ako ste na CentOS ili RHEL sistemu, koristite:
$ sudo yum install bind-utils
Zatim, pokrenite `dig -v` kako biste bili sigurni da je instalacija uspešno obavljena.
Konačno, pređite na sledeće odeljke kako biste pogledali neke od `dig` komandi koje će vam pomoći kao administratoru sistema.
Provera IP adrese
Ovo je jedna od najosnovnijih komandi, gde proveravamo IP adresu servera na kojem se nalazi određeni domen.
`dig techblog.co.rs.com` je iteracija sa kojom ćemo početi.
$ dig techblog.co.rs.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> techblog.co.rs.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: ;techblog.co.rs.com. IN A ;; ANSWER SECTION: techblog.co.rs.com. 67 IN A 172.66.43.163 techblog.co.rs.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
Prva važna stvar je status: `NOERROR` u odeljku „Got answer“ na vrhu. Ovo nam govori da je sve prošlo bez problema.
Ali, informacija koju smo tražili ovim upitom je IP adresa servera. Ona je navedena u odeljku „Answer“ – 172.66.40.93 (primarni server) i 172.66.43.163 (sigurnosni server).
Pored toga, vaš originalni upit se nalazi u odeljku „Question“.
Poslednji odeljak pruža neke statističke podatke o upitu.
Ali, to je previše informacija, koje nisu potrebne svaki put.
Dakle, možete dobiti jasniji odgovor na ovaj upit unošenjem:
$ dig techblog.co.rs.com +noall +answer techblog.co.rs.com. 53 IN A 172.66.43.163 techblog.co.rs.com. 53 IN A 172.66.40.93
Ovde isključujemo sve pomoću `+noall`, a uključujemo samo očekivani odgovor sa `+answer`.
Možete dobiti još kraći odgovor koristeći:
$ dig techblog.co.rs.com +short 172.66.43.163 172.66.40.93
Ovo je bio osnovni upit koji je vraćao DNS A zapis; hajde da vidimo još neke.
Pronalaženje određenih DNS zapisa
Imena servera, odnosno autoritativni DNS server za domen, mogu se pronaći pomoću promenljive `ns`.
$ dig techblog.co.rs.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
Slično tome, promenljiva `mx` odgovara serverima pošte zajedno sa njihovim prioritetima.
$ dig techblog.co.rs.com mx +noall +answer techblog.co.rs.com. 300 IN MX 1 aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 10 alt3.aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 10 alt4.aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 5 alt1.aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 5 alt2.aspmx.l.google.com.
Na isti način, `txt`, `aaaa`, `cname` itd., mogu se koristiti kao promenljive komande `dig` za vraćanje različitih DNS zapisa.
Praćenje DNS-a
Kao što i naslov kaže, praćenje DNS-a proverava putanju od korenskih servera imena, autoritativnih servera imena, do IP adrese domena.
$ dig techblog.co.rs.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> techblog.co.rs.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 techblog.co.rs.com. 172800 IN NS olga.ns.cloudflare.com. techblog.co.rs.com. 172800 IN NS todd.ns.cloudflare.com. techblog.co.rs.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 techblog.co.rs.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 techblog.co.rs.com. 300 IN A 172.66.43.163 techblog.co.rs.com. 300 IN A 172.66.40.93 techblog.co.rs.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 techblog.co.rs.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg== ;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms
Alternativno, možete dobiti kratak odgovor koristeći promenljive `+short` ili `+noall +answer`.
Obrnuto DNS traženje
Obrnuto DNS traženje otkriva PTR zapis povezan sa IP adresom. To je suprotno od DNS A zapisa i uparuje IP adresu sa imenom domena.
Međutim, neće biti odeljka za odgovore ako ime domena nema DNS PTR zapis.
Komanda u igri je `dig -x IP adresa`.
[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
Kao što vidite, ime domena u odeljku „Answer“, `media-router-fp74.prod.media.vip.bf1.yahoo.com`, povezano je sa njegovom primarnom IP adresom 74.6.143.26.
A poseta ovoj URL adresi će vas zapravo odvesti na početnu stranicu Yahoo pretrage.
Međutim, ovo možda nije tačno za sve veb hostove; u nekim slučajevima, ove dugačke URL adrese ne rešavaju ništa.
Upit za specifične DNS servere
Ponekad želite da „pingujete“ određeni server za DNS upite. To se lako može postići dodavanjem IP adrese `@DNS servera`, birajući bilo koji DNS server za određeni upit.
$ dig @1.1.1.1 techblog.co.rs.com +noall +answer +stats techblog.co.rs.com. 300 IN A 172.66.40.93 techblog.co.rs.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
Ovo možete proveriti u odeljku sa statistikom, gde se pominje `SERVER: 1.1.1.1`, koji pripada Cloudflare-u.
Slično, može se postaviti upit za Google DNS servere (8.8.8.8):
$ dig @8.8.8.8 techblog.co.rs.com mx +noall +answer +stats techblog.co.rs.com. 300 IN MX 1 aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 10 alt3.aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 10 alt4.aspmx.l.google.com. techblog.co.rs.com. 300 IN MX 5 alt1.aspmx.l.google.com. techblog.co.rs.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
Hajde da ga „iskopamo“ ⛏
Kao što ime govori, ove komande se koriste za „iskopavanje“ DNS informacija i identifikaciju povezanih problema. `Dig` komande su uglavnom brze u radu i lako se pamte.
Da ne pominjemo, takođe možete instalirati `dig` alate na Mac i Windows, što ih čini univerzalnim u primeni.
PS: Dok ste ovde, ne bi bilo loše da vas upoznam sa vxdxvxd Sysadmin bibliotekom, centralnim mestom rešenja za vaše sistemske probleme.