GNU/Linux >> Znalost Linux >  >> Linux

Užitečné příklady Linux Dig pro správce sítě

Jako správce sítě Linux pravděpodobně narazíte na různé problémy, které lze vyřešit pomocí Linux dig (Domain Information Groper) příkaz. Nejste si jisti, jak dig příkaz funguje? Bez obav! Čeká vás to!

V tomto tutoriálu se naučíte několik užitečných příkladů, jak používat dig k řešení skutečných problémů.

Ponořte se a spřátelte se s tímto mocným nástrojem!

Předpoklady

Tento tutoriál bude praktickou ukázkou. Pokud chcete pokračovat, ujistěte se, že máte systém Linux. Tento tutoriál používá Ubuntu 20.04, ale bude fungovat jakákoli moderní distribuce Linuxu.

Instalace Linuxu dig Příkaz

Linux dig umožňuje shromáždit informace DNS, které mohou být užitečné při odstraňování problémů s DNS. Ale před kopáním jmenných serverů musíte nejprve nainstalovat dig na vašem počítači.

1. Spuštěním příkazu apt update níže aktualizujte index balíčků vašeho systému.

apt update -y

2. Dále spusťte následující příkaz apt install pro instalaci dnsutils na váš počítač. DiG je součástí balíčku nástroje DNS (dnsutils) nainstalovaného s jmennými servery BIND.

dnsutils je sada nástrojů poskytovaných týmem Ubuntu, která obsahuje různé nástroje DNS na straně klienta, jako je dig.

apt install dnsutils -y

3. Nakonec spusťte příkaz dig níže, abyste ověřili instalaci DiG.

dig -v

Níže verze DiG ukazuje 9.16.1, ale vaše se může lišit.

Vyzkoušení Linux Dig pro základní DNS dotaz

Nyní, když máte nainstalovaný dig, můžete vyzkoušet dig příkaz pro základní DNS dotaz. Příkaz dig vám umožňuje dotazovat se na servery DNS, abyste získali několik informací, které můžete použít k odstraňování a opravě problémů s DNS.

Syntaxe pro základní DNS dotaz je následující kde:

  • server – DNS server pro dotaz na IP adresu nebo název domény. Pokud nezadáte server, DiG použije předkonfigurovaný DNS vašeho počítače.
  • name – Název domény nebo IP adresa, kterou chcete vyhledat.
  • type – Typ záznamu DNS, který hledáte.
dig [server] [name] [type]

Nyní spusťte následující příkaz k dotazu na záznamy DNS pro google.com .

Když spustíte dig příkaz bez jakýchkoli příznaků nebo argumentů, dig provede DNS dotaz jako argument a vrátí záznam A pro zadaný název hostitele.

dig [google.com]()

Základní dotaz DNS pomocí dig je užitečný pro několik různých úkolů, jako například:

  • Kontrola záznamů DNS pro doménu.
  • Zjištění, který server DNS se používá pro doménu.
  • Zkontrolujte, zda váš počítač používá správný server DNS.

Dotaz na google.com

Porozumění výstupu základního DNS dotazu

Vzhledem k tomu, že DiG vrátil spoustu informací o názvu domény, na kterou jste se dotazovali, již můžete vidět, co se s touto doménou děje. Nebo ne? Asi ne. Ale nebojte se. Projdete si rozpisem jednotlivých sekcí, které uvidíte na základním výstupu dotazu DNS.

První řádek níže zobrazuje verzi DiG a dotazovaný název domény (google.com ). Druhý řádek zároveň zobrazuje globální možnosti použité ke spuštění dotazu.

V tomto případě byla použita jediná možnost +cmd , který říká DiG, aby vytiskl příkazy, které byly spuštěny, když je DiG provádí.

Následující část (HEADER ) zobrazí technické podrobnosti dotazu:

  • První řádek určuje operační kód použitý pro dotaz (v tomto případě QUERY ), za kterým následuje stav:NOERROR dotazu a id číslo (47244 ). NOERROR stav označuje, že server DNS zpracoval dotaz a úspěšně vrátil odpověď. Pokud získáte SERVFAIL stavu, došlo k nějaké chybě serveru DNS, která vedla k neúspěšnému dotazu.
  • příznaky sekce ukazuje, které příznaky byly nastaveny pro dotaz. V tomto případě qr (odpověď na dotaz), rd (rekurze nebyla žádoucí) a ra (k dispozici je rekurze).
  • Poslední řádek uvádí, kolik dotazů (QUERY ) byly vytvořeny (1 ). Uvidíte také, kolik ODPOVĚDĚT s (1 ), AUTHORITY záznamy (0 ) a DALŠÍ záznamy (1 ) DiG se vrátil.

OPT PSEUDOSECTTION níže označuje, že zpráva DNS byla rozšířena pomocí protokolu EDNS0. Vlajky pole je prázdné, protože nebyly nastaveny žádné možnosti, zatímco udp pole určuje maximální velikost zprávy DNS, která je 65 494 bajtů.

Nyní ODPOVĚĎ část níže zobrazuje odpověď vrácenou na dotaz. V tomto případě jste požádali o záznam A pro google.com a server DNS vrátil IP adresu 142.250.80.110 . Můžete se podívat na google.com Záznam ukazuje na tuto IP adresu.

Konečně poslední část obsahuje informace o době dotazu a serveru použitém ke zpracování dotazu. Níže vidíte, že dotaz trval čtyři milisekundy (4 ms ) a SERVER použitý měl IP adresu 127.0.0.53 .

Čím méně času serveru DNS trvá zpracování dotazu a vrácení odpovědi, tím lépe. Nechcete, aby vaši uživatelé dlouho čekali na vyřešení dotazů DNS. Dlouhé čekání může vést ke špatné uživatelské zkušenosti.

Načítání krátkých a podrobných odpovědí

Právě jste zadali dotaz na DNS, který vrátil několik informací. Ale můžete kontrolovat, jaký výstup získáte? Ano, připojením příznaků (+short , +noall a +answer ) na dig příkaz.

Předpokládejme, že žádáte o záznam A. DNS server vrací záznam A i AAAA. Ale s +short příznak, DNS vrátí pouze záznam A. +short příznak může být užitečný pro získání rychlé odpovědi ze serverů DNS, aniž byste museli probírat všechny dodatečné informace.

Spusťte níže uvedený příkaz pro dotaz google.com znovu. Tentokrát však přidejte +short příznakem získáte pouze krátkou odpověď.

dig +short google.com

Níže uvidíte, že DiG vrátil pouze krátkou odpověď, což je adresa serveru Google.

Nyní spusťte následující příkaz k dotazu google.com , vrací podrobnou odpověď. +noall flag vynechá všechny výchozí informace zobrazené při spuštění dig příkaz, kromě sekce odpovědí (+answer ).

dig google.com +noall +answer

Určení jmenných serverů pro překlad názvů domén

Zatím jste viděli, jak používat dig příkaz s výchozím nastavením. Předpokládejme však, že chcete otestovat, zda konkrétní jmenný server dokáže přeložit název domény nebo ne. V takových případech specifikujte, který DNS server DiG používá při spuštění dig příkaz může pomoci.

Ve výchozím nastavení dig používá servery DNS uvedené v /etc/resolv.conf soubor, jak je uvedeno níže.

Chcete-li přepsat, který server DNS používá DiG při překladu názvu domény, připojíte @ symbol následovaný serverem DNS nebo IP.

Spusťte níže uvedený příkaz pro dotaz na název domény (server ) pomocí preferovaného serveru DNS (dns-or-ip ). Nezapomeňte nahradit dns-or-ip s vaším serverem DNS, ale tento výukový program používá 8.8.8.8 .

dig server +noall +answer @dns-or-ip

Níže můžete vidět, že server DNS úspěšně přeložil název domény a vrátil podrobné odpovědi.

Dotaz na konkrétní typy záznamů

Ve výchozím nastavení dig příkaz se dotazuje na záznam A, pokud neurčíte žádný typ záznamu. DiG však také umožňuje dotazovat se na jiné typy záznamů DNS, jako je MX, NS, TXT atd.

Chcete-li určit typ záznamu, připojte typ záznamu hned za název domény, kterou hledáte, jako v následujícím příkladu.

Spusťte níže uvedený příkaz pro dotaz na google.com pro záznamy MX.

dig +noall +answer google.com mx

Níže vidíte záznam MX pro google.com je smtp.google.com .

Nyní spusťte následující příkaz k dotazu google.com pro záznamy TXT

dig +noall +answer google.com txt

Níže uvedený výstup zobrazuje všechny záznamy TXT pro google.com , jak je uvedeno níže.

Provádění dotazů v dávkovém režimu

Předpokládejme, že chcete vyhledat informace DNS pro více názvů domén. Dotazování informací jeden po druhém pro každý název domény může být únavné a časově náročné.

Naštěstí dig příkaz podporuje dávkový režim, kde můžete zadat soubor obsahující seznam názvů domén. DiG bude provádět DNS dotazy pro všechny názvy domén uvedených v tomto souboru v dávkovém režimu.

Otevřete nový textový soubor s názvem dns-batch-file.txt ve vašem preferovaném textovém editoru a přidejte názvy domén (jedno na řádek), jak je uvedeno níže. Jakmile budete se seznamem spokojeni, uložte soubor a zavřete editor.

Nyní spusťte následující příkaz pro dotaz na všechny domény uvedené v zadaném (-f ) dns-batch-file.txt soubor v dávkovém režimu.

dig -f dns-batch-file.txt +noall +answer

Jak můžete vidět níže, informace DNS pro všechny domény byly dotazovány a zobrazeny v tabulkovém formátu.

Ovládání chování DiG pomocí .digrc Soubor

DiG načte různá nastavení ze souboru ~/.digrc, když spustíte příkaz dig. Tento soubor obsahuje různá nastavení, která vám umožní ovládat dig příkaz se chová. Pomocí souboru ~/.digrc , můžete nastavit výchozí DNS server dig příkaz by se měl dotazovat nebo nastavit výchozí typ záznamu pro dotaz, pokud žádný nezadáte.

Možná se při spuštění dig snažíte získat podrobnou odpověď a většinu času ignorovat všechny ostatní sekce příkaz. V takových případech můžete použít ~./digrc soubor pro nastavení výchozího výstupního stylu pro dig příkaz, jako v následujícím příkladu.

Spusťte echo níže, který neposkytuje výstup, ale přidává +noall +answer řádku na ~/.digrc soubor.

echo "+noall +answer" > ~/.digrc

Nyní spusťte dig příkaz k dotazu na název domény bez argumentů. Nahraďte domain s vaším preferovaným názvem domény.

dig domain

Můžete vidět, že výstup nyní obsahuje pouze sekci odpovědí, jak je uvedeno níže. DiG by použil +noall +answer příznaky z ~/.digrc soubor, i když jste při spuštění příkazu dig nepřidali žádné příznaky.

Závěr

V tomto článku jste se naučili různé funkce Linuxu dig pro efektivní dotazování serverů DNS. Také jste se dotkli přizpůsobení požadovaného dig výstup příkazu pomocí více příznaků.

V tuto chvíli již víte, jak využít Linux dig při každodenní práci, zejména při odstraňování problémů se sítí.

Nezastavujte se zde však. Je toho více, čeho můžete dosáhnout s Linuxem dig příkaz. Proč nepoužít dig příkaz k provedení zpětného vyhledávání DNS za účelem nalezení názvu domény spojeného s IP adresou?


Linux
  1. 16 užitečných příkladů příkazů „cp“ pro začátečníky v systému Linux

  2. Jak používat příkaz id v Linuxu:5 užitečných příkladů

  3. Příklady příkazů dig v Linuxu

  1. 12 Užitečné příklady příkazů „dmidecode“ pro správce systému Linux

  2. 9 Užitečné příklady příkazu Split v Linuxu

  3. 10 Užitečné příklady Sar (Sysstat) pro monitorování výkonu UNIX / Linux

  1. 10 užitečných příkladů příkazů ncat (nc) pro systémy Linux

  2. 11 Užitečné příklady rozdělených příkazů pro systémy Linux

  3. Jak používat příkaz Dig v Linuxu