Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks
Obsah:
- Instalace
dig
- Nainstalujte
dig
na Ubuntu a Debian - Nainstalujte
dig
na CentOS a Fedora - Nainstalujte
dig
na Arch Linuxu - Porozumění výstupu dig
- Tisk pouze odpovědi
- 1. Získejte krátkou odpověď
- 2. Získejte podrobnou odpověď
- Server specifických názvů dotazů
- Dotaz na typ záznamu
- 1. Dotaz na záznamy A
- 2. Dotazování záznamů CNAME
- 3. Dotazy na záznamy TXT
- 4. Dotaz na MX záznamy
- 5. Dotazování NS záznamů
- 6. Dotaz na všechny záznamy
- Zpětné vyhledávání DNS
- Hromadné dotazy
- Soubor .digrc
- Závěr
Dig (Domain Information Groper) je výkonný nástroj příkazového řádku pro dotazování názvových serverů DNS.
Příkaz
dig
umožňuje dotazovat se na informace o různých záznamech DNS, včetně adres hostitele, výměny pošty a jmenných serverů. Jedná se o nejčastěji používaný nástroj mezi správci systému pro řešení problémů s DNS kvůli jeho flexibilitě a snadnosti použití.
V tomto tutoriálu vám ukážeme, jak používat obslužný program
dig
pomocí praktických příkladů a podrobných vysvětlení nejběžnějších možností
dig
.
Instalace
dig
Chcete-li zkontrolovat, zda je příkaz
dig
k dispozici pro váš typ systému:
dig -v
Výstup by měl vypadat asi takto:
DiG 9.11.3-1ubuntu1.1-Ubuntu
Pokud není v systému k dispozici dig, příkaz výše vytiskne „dig: command not found“. Nástroj
dig
můžete snadno nainstalovat pomocí správce balíčků svého distro.
Nainstalujte
dig
na Ubuntu a Debian
sudo apt update && sudo apt install dnsutils
Nainstalujte
dig
na CentOS a Fedora
Nainstalujte
dig
na Arch Linuxu
Porozumění výstupu dig
Ve své nejjednodušší podobě, je-li použit k dotazování na jednoho hostitele (doménu) bez jakýchkoli dalších argumentů, je příkaz dig docela podrobný.
V následujícím příkladu provedeme dotaz pro načtení informací o doméně
linux.org
.
dig linux.org
Výstup by měl vypadat asi takto:
Podívejme se na jednotlivé sekce a vysvětlíme výstup příkazu
dig
:
-
První řádek výstupu vytiskne nainstalovanou verzi digu a dotaz, který byl vyvolán. Druhý řádek zobrazuje globální možnosti (ve výchozím nastavení pouze cmd).
; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd
První část obsahuje technické podrobnosti o odpovědi přijaté od dožádaného orgánu (serveru DNS). Záhlaví zobrazuje operační kód (akci provedenou dig) a stav akce. V tomto příkladu je stav
NOERROR
, což znamená, že dožádaný orgánNOERROR
dotaz bez problému.;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5
Tuto sekci lze odstranit pomocí volby
+nocomments
, která také zakáže některé záhlaví jiných oddílů.Sekce „OPT“ pseudo se ve výchozím nastavení zobrazuje pouze v novějších verzích obslužného programu dig. Informace o mechanismech rozšíření pro DNS (EDNS) najdete zde.
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096
V části „OTÁZKA“ ukazuje náš dotaz (dotaz). Ve výchozím nastavení
dig
vyžaduje záznam A.;; QUESTION SECTION:;linux.org. IN A
Tuto sekci můžete zakázat pomocí možnosti
+noquestion
.Oddíl „ODPOVĚĎ“ nám poskytuje odpověď na naši otázku. Jak jsme již zmínili, ve výchozím nastavení si
dig
vyžádá záznam A. Zde doménalinux.org
odkazuje na IP adresu104.18.59.123
.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123
Obvykle nechcete odpověď vypínat, ale tuto sekci můžete z výstupu odebrat pomocí volby
+noanswer
.Sekce „AUTHORITY“ nám říká, které servery jsou oprávněním odpovídat na dotazy DNS týkající se dotazované domény.
;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.
Tuto část výstupu můžete zakázat pomocí volby
+noauthority
.Oddíl „DALŠÍ“ nám poskytuje informace o IP adresách autoritativních serverů DNS uvedených v sekci autorizace.
;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82
Volba
+noadditional
zakáže další část odpovědi.Poslední část výstupu dig obsahuje statistiky o dotazu.
;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212
Tuto část můžete zakázat pomocí možnosti
+nostats
.
Tisk pouze odpovědi
Ve většině případů byste chtěli získat pouze rychlou odpověď na váš dotaz.
1. Získejte krátkou odpověď
Chcete-li získat krátkou odpověď na svůj dotaz, použijte možnost
+short
:
dig linux.org +short
104.18.59.123 104.18.58.123
Výstup bude zahrnovat pouze IP adresy záznamu A.
2. Získejte podrobnou odpověď
Chcete-li získat podrobnější odpověď, vypněte všechny výsledky pomocí možností
+noall
a poté zapněte pouze část odpovědi s možností
+answer
.
dig linux.org +noall +answer
; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123
Server specifických názvů dotazů
Ve výchozím nastavení, pokud není zadán žádný jmenný server,
dig
používá servery uvedené v souboru
/etc/resolv.conf
.
Chcete-li určit server názvů, proti kterému bude dotaz spuštěn, použijte symbol
@
(at) následovaný adresou IP serveru nebo hostitelským jménem.
Například pro dotaz na server názvů Google (8.8.8.8) informace o doméně
linux.org
kterou byste použili:
dig linux.org @8.8.8.8
; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70
Dotaz na typ záznamu
Dig vám umožní provést jakýkoli platný DNS dotaz připojením typu záznamu na konec dotazu. V následující části vám ukážeme příklady, jak hledat nejběžnější záznamy, například A (IP adresa), CNAME (kanonický název), TXT (textový záznam), MX (poštovní výměník) a NS (jmenné servery).
1. Dotaz na záznamy A
Chcete-li získat seznam všech adres pro název domény, použijte možnost:
dig +nocmd google.com a +noall +answer
google.com. 128 IN A 216.58.206.206
Jak již víte, pokud není zadán žádný typ záznamu DNS, vyžádá si záznam A. Můžete také dotazovat na záznam A bez zadání možnosti.
2. Dotazování záznamů CNAME
Chcete-li najít název aliasu, použijte volbu
cname
:
dig +nocmd mail.google.com cname +noall +answer
mail.google.com. 553482 IN CNAME googlemail.l.google.com.
3. Dotazy na záznamy TXT
Použijte volbu
txt
pro načtení všech záznamů TXT pro konkrétní doménu:
dig +nocmd google.com txt +noall +answer
google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
4. Dotaz na MX záznamy
Chcete-li získat seznam všech poštovních serverů pro konkrétní doménu, použijte volbu
mx
:
dig +nocmd google.com mx +noall +answer
google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.
5. Dotazování NS záznamů
Chcete-li najít autoritativní jmenné servery pro naši konkrétní doménu, použijte volbu
ns
:
dig +nocmd google.com ns +noall +answer
google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.
6. Dotaz na všechny záznamy
Pomocí
any
možnosti získáte seznam všech záznamů DNS pro konkrétní doménu:
dig +nocmd google.com any +noall +answer
google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60
Zpětné vyhledávání DNS
Pro dotaz na jméno hostitele spojené s konkrétní IP adresou použijte volbu
-x
.
Například pro provedení zpětného vyhledávání na
208.118.235.148
byste použili:
dig -x 208.118.235.148 +noall +answer
Jak můžete vidět z výstupu pod IP adresou
208.118.235.148
je spojena s názvem hostitele
wildebeest.gnu.org
.
; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.
Hromadné dotazy
V následujícím příkladu zkoumáme domény uvedené v souboru
domains.txt
.
lxer.com linuxtoday.com tuxmachines.org
dig -f domains.txt +short
108.166.170.171 70.42.23.121 204.68.122.43
Soubor.digrc
Chování příkazu dig lze ovládat nastavením možností pro uživatele v souboru
${HOME}/.digrc
.
Pokud je soubor
.digrc
přítomen v domovském adresáři uživatele, použijí se v něm zadané volby před argumenty příkazového řádku.
Pokud například chcete zobrazit pouze sekci odpovědí, otevřete textový editor a vytvořte následující soubor
~/.digrc
:
Závěr
dig
je nástroj příkazového řádku pro dotazování informací DNS a odstraňování problémů souvisejících s DNS.
Co je DNS vyhledávání a jak vyhledává služba DNS

ČLánek vysvětluje koncept domény. Odpovědi na to, co je DNS nebo systém názvů domén předtím, než začnete mluvit o tom, jak vyhledávání DNS funguje
Příkaz Chmod v Linuxu (oprávnění souboru)

V Linuxu je přístup k souborům spravován prostřednictvím oprávnění k souborům, atributů a vlastnictví. Tento tutoriál popisuje, jak pomocí příkazu chmod změnit přístupová oprávnění k souborům a adresářům.
Příkaz Chgrp v Linuxu (změna skupiny)

V systému Linux je každý soubor spojen s vlastníkem a skupinou a má oprávnění, která určují, kteří uživatelé mohou soubor číst, zapisovat nebo provádět. Příkaz chgrpc mění vlastnictví dané soubory ve skupině.