4 Příklady příkazů Vital Dig, které znáte jako správce systému nebo vývojář

Být systémovým administrátorem je často klidná práce, ale jakmile dojde ke komplikacím, situace se rychle mění. V kritických chvílích se vám následující příkazy mohou velmi hodit. Zůstaňte s námi.

Systémoví administrátoři odvádějí nesmírně důležitou práci. I základní požadavek na jejich pozici, tedy být k dispozici 24 hodin denně, 7 dní v týdnu, si zaslouží velké uznání.

Nicméně, nyní se nebudeme zaměřovat na jejich pracovní náplň, ale spíše se podíváme na jejich nástroje, konkrétně na ty, které pomáhají při řešení problémů s DNS.

Co jsou příkazy Dig?

Příkazy Dig, zkratka pro Domain Information Groper, představují jeden z nejefektivnějších způsobů, jak se dotazovat DNS serverů ohledně jejich funkčnosti.

Pomocí jednoduchých a snadno zapamatovatelných textových příkazů můžete zjišťovat IP adresy serverů, názvy jmenných serverů, poštovní servery, hodnoty TTL a další důležité informace.

Než se pustíme do základních příkazů dig, ujistěte se, že máte nainstalované potřebné nástroje:

$ dig -v

Tento příkaz by měl vrátit verzi nástroje dig, například takto:

DiG 9.18.1-1ubuntu1-Ubuntu

Pokud neobdržíte podobnou odpověď, je nutné nejprve nástroje Dig nainstalovat.

Pro uživatele systémů Ubuntu a Debian zadejte:

$ sudo apt-get install dnsutils

A pro systémy CentOS nebo RHEL použijte:

$ sudo yum install bind-utils

Následně znovu spusťte příkaz dig -v, abyste ověřili, že instalace proběhla úspěšně.

V následujících sekcích se podíváme na několik užitečných příkazů Dig, které mohou usnadnit práci každému systémovému administrátorovi.

Zjištění IP adresy

Jedná se o jeden z nejjednodušších příkazů, který umožňuje zjistit IP adresu serveru, na kterém je daná doména hostována.

Pro začátek použijeme příkaz `dig etechblog.cz.com`.

$ dig etechblog.cz.com

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> etechblog.cz.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:
;etechblog.cz.com.			IN	A

;; ANSWER SECTION:
etechblog.cz.com.		67	IN	A	172.66.43.163
etechblog.cz.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

První klíčová informace je status `NOERROR` v sekci `Got answer`. To signalizuje, že dotaz proběhl bez komplikací.

Hlavním cílem dotazu je získání IP adresy serveru. Ty jsou uvedeny v sekci `ANSWER`, konkrétně `172.66.40.93` (primární server) a `172.66.43.163` (záložní server).

Původní dotaz je uveden v sekci `QUESTION`.

Poslední sekce poskytuje statistiky související s dotazem.

Tento výstup však může být příliš obsáhlý. Proto je možné získat čistší odpověď pomocí příkazu:

$ dig etechblog.cz.com +noall +answer
etechblog.cz.com.		53	IN	A	172.66.43.163
etechblog.cz.com.		53	IN	A	172.66.40.93

Zde jsme pomocí `+noall` potlačili všechny výchozí informace a zobrazili pouze výsledek pomocí `+answer`.

Ještě stručnější výstup získáme pomocí:

$ dig etechblog.cz.com +short
172.66.43.163
172.66.40.93

Toto byl základní dotaz pro získání DNS A záznamu. Nyní se podíváme na další typy záznamů.

Zjištění konkrétních DNS záznamů

Jmenné servery, autoritativní DNS servery pro danou doménu, lze zjistit pomocí proměnné `ns`.

$ dig etechblog.cz.com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.

Proměnná `mx` naopak zobrazí poštovní servery včetně jejich priorit.

$ dig etechblog.cz.com mx +noall +answer
etechblog.cz.com.		300	IN	MX	1 aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	5 alt2.aspmx.l.google.com.

Stejným způsobem můžete použít proměnné jako `txt`, `aaaa`, `cname` atd. pro získání různých typů DNS záznamů.

Trasování DNS

Funkce trasování DNS sleduje cestu dotazu od kořenových jmenných serverů přes autoritativní jmenné servery až k IP adrese cílové domény.

$ dig etechblog.cz.com +trace

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> etechblog.cz.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

etechblog.cz.com.		172800	IN	NS	olga.ns.cloudflare.com.
etechblog.cz.com.		172800	IN	NS	todd.ns.cloudflare.com.
etechblog.cz.com.		86400	IN	DS	2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
etechblog.cz.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

etechblog.cz.com.		300	IN	A	172.66.43.163
etechblog.cz.com.		300	IN	A	172.66.40.93
etechblog.cz.com.		300	IN	RRSIG	A 13 2 300 20221110051242 20221108031242 34505 etechblog.cz.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg==
;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms

Stejně jako u předchozích příkazů, můžete použít parametry `+short` nebo `+noall +answer` pro zjednodušení výstupu.

Reverzní DNS vyhledávání

Reverzní DNS vyhledávání, známé také jako PTR záznam, přiřazuje IP adresy k názvům domén, což je opačný proces než u A záznamů.

Pokud pro danou IP adresu neexistuje PTR záznam, výstup nebude obsahovat sekci odpovědí.

Použitý příkaz 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

Jak vidíte, název domény `media-router-fp74.prod.media.vip.bf1.yahoo.com/`, který je uveden v sekci odpovědí, je spojen s IP adresou `74.6.143.26`.

Navštívení této adresy URL vás skutečně přesměruje na domovskou stránku vyhledávání Yahoo.

Je však důležité poznamenat, že toto nemusí platit pro všechny webhostingy a v některých případech nemusí být dlouhé a složité adresy URL relevantní.

Dotazování na specifické DNS servery

V některých situacích můžete potřebovat dotazovat se na konkrétní DNS server. Toho lze snadno dosáhnout přidáním adresy IP serveru s parametrem `@DNS`. Můžete si tak vybrat libovolný server pro konkrétní dotaz.

$ dig @1.1.1.1 etechblog.cz.com +noall +answer +stats
etechblog.cz.com.		300	IN	A	172.66.40.93
etechblog.cz.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

Ověřit si to můžete v sekci statistik, kde je uvedeno `SERVER: 1.1.1.1`, což je adresa serveru Cloudflare.

Podobně můžeme provést dotaz na server Google DNS (8.8.8.8):

$ dig @8.8.8.8 etechblog.cz.com mx +noall +answer +stats
etechblog.cz.com.		300	IN	MX	1 aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
etechblog.cz.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
etechblog.cz.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

Pojďme kopat hlouběji ⛏️

Jak už bylo zmíněno, příkazy Dig slouží k vyhledávání informací o DNS a k identifikaci souvisejících problémů. Příkazy Dig jsou obecně rychlé a snadno zapamatovatelné.

Nástroje Dig lze navíc instalovat na systémy Mac a Windows, díky čemuž jsou univerzálně použitelné.

PS: Když už jste tady, bylo by škoda neupozornit na knihovnu etechblog.cz Sysadmin, komplexní centrum řešení pro všechny vaše problémy se správou systémů.