4 витална примера команди за копање које треба да знате као сисадмин или програмер

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.