Jako systémový správce věci vypadají pěkně, dokud nevypadají. V těch krizových okamžicích se vám budou tyto povely hodit. Zůstaňte naladěni.
Systémoví administrátoři pokaždé odvedou sakra práci. Dokonce i ten nejzákladnější požadavek na práci správce systému, jímž je být 24/7 v pohotovosti, je něco, co oceňuji za hranice.
Ale nejsme tu, abychom se ponořili do jejich pracovních profilů; místo toho zkontrolujte jejich zbraň, abyste mohli řešit problémy s DNS.
Table of Contents
Co jsou Dig Commands?
Zkratka pro Domain Information Groper, příkazy Dig jsou jednou z nejrychlejších metod dotazování serverů DNS na to, co funguje a co ne.
Pomocí snadno zapamatovatelných textů můžete zkontrolovat IP adresu serveru, jmenné servery, výměnu pošty, dotazovat se na TTL atd.
Než začnete s několika základními příkazy dig, zkontrolujte, zda máte nainstalované nástroje dig:
$ dig -v
To by se mělo vrátit s výsledkem označujícím verzi dig, takto:
DiG 9.18.1-1ubuntu1-Ubuntu
Pokud neobdržíte podobnou odpověď, musíte nejprve nainstalovat nástroje Dig.
Pro lidi používající Ubuntu a Debian zadejte:
$ sudo apt-get install dnsutils
A použijte:
$ sudo yum install bind-utils
…pokud používáte CentOS nebo RHEL.
Dále spusťte dig -v, abyste zajistili, že instalace proběhne hladce.
Nakonec přejděte na následující části a podívejte se na několik příkazů Dig, které vám jako systémovému správci pomohou.
Zkontrolujte IP adresu
Toto je jeden z nejjednodušších, kde kontrolujeme IP adresu serveru, na které je založen název domény.
dig etechblog.cz.com je iterace, se kterou začneme.
$ 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í důležitá věc je stav: NOERROR v sekci Mám odpověď nahoře. To nám říká, že to šlo dobře bez problémů.
Ale informace, pro kterou jsme provedli tento dotaz, je IP adresa serveru. Je to zmíněno v části odpovědí 172.66.40.93 (primární server) a 172.66.43.163 (zabezpečený proti selhání).
Kromě toho se váš původní dotazový dotaz nachází v části Otázka.
Poslední část poskytuje několik statistik o dotazu.
Ale to je strašně moc informací, které nejsou potřeba pokaždé.
Takže můžete získat čistší odpověď na tento dotaz zadáním:
$ 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 vše popíráme pomocí +noall, jen abychom umožnili očekávanou odpověď s +odpovědí.
Ještě stručnější odpověď lze získat pomocí:
$ dig etechblog.cz.com +short 172.66.43.163 172.66.40.93
Toto byl základní dotaz vracející záznam DNS A; uvidíme ještě několik.
Najděte konkrétní záznamy DNS
Nameservery, autoritativní DNS server pro doménu, lze nalézt pomocí proměnné ns.
$ dig etechblog.cz.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
Podobně proměnná mx odpovídá poštovním serverům spolu s jejich prioritami.
$ 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 lze txt, aaaa, cname atd. použít jako proměnné příkazu dig pro vrácení různých záznamů DNS.
Trasování DNS
Jak je patrné z nadpisu, Trace DNS kontroluje cestu od kořenových jmenných serverů, autoritativních jmenných serverů, až po IP adresu 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
Případně můžete získat krátkou odpověď pomocí proměnných +short nebo +noall +answer.
Reverzní vyhledávání DNS
Reverzní DNS vyhledávání odhalí PTR záznam spojený s IP adresou. Je to opak DNS A záznamu a přiřazuje IP adresy k názvu domény.
Pokud však název domény nemá záznam DNS PTR, nebude zde žádná sekce odpovědí.
Příkaz ve hře 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 můžete vidět, název domény v sekci odpovědí, media-router-fp74.prod.media.vip.bf1.yahoo.com/, je spojen se svou primární IP adresou 74.6.143.26.
A návštěva této adresy URL vás ve skutečnosti přesměruje na domovskou stránku vyhledávání Yahoo.
To však nemusí platit pro všechny webhostingy; v některých případech tyto ošklivé, dlouhé adresy URL nic nevyřeší.
Dotazování na konkrétní servery DNS
Někdy chcete ping na konkrétní server pro dotazy DNS. Toho lze snadno dosáhnout přidáním adresy IP serveru @DNS a výběrem libovolného serveru DNS 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
Můžete si to ověřit v sekci statistik, kde je zmíněn Server: 1.1.1.1, který patří Cloudflare.
Podobně lze dotazovat servery 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 to vykopat ⛏️
Jak název napovídá, používají se k vyhledávání informací DNS a identifikaci souvisejících problémů. Dig příkazy jsou při práci obvykle rychlé a snadno zapamatovatelné.
Nemluvě o tom, že můžete také nainstalovat dig utility na Mac a Windows, díky čemuž jsou ve své aplikaci univerzální.
PS: Když už jste tady, bylo by trestné nepředstavit vám knihovnu etechblog.cz Sysadmin, komplexní centrum řešení pro vaše problémy sysadmin.