Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Zjišťování DNS pomocí dig a nslookup

Modul 8: Bezpečnost a řešení problémů · Doba čtení: 10 min

Cíl lekce: Po této lekci budete umět pomocí dig a nslookup zjišťovat záznamy, dotazovat konkrétní jmenný server a číst výstup.

Klíčové pojmy: dig, nslookup, Resolve-DnsName, +short, @server, +trace, sekce ANSWER a AUTHORITY, status NOERROR, NXDOMAIN, SERVFAIL, dig -x

Proč si to ověřovat sami?

Panel Vám ukáže, co jste vyplnili Vy. To, co vidí zbytek světa, může být jiné: možná DNS spravuje jiná strana, možná je v cache ještě stará odpověď. Pomocí dotazovacího programu položíte stejný dotaz jako prohlížeč nebo mailový server a uvidíte skutečnou odpověď.

Existují tři běžné programy:

ProgramKdeKomentář
digmacOS, Linux (Windows přes WSL nebo lze nainstalovat samostatně)Nejpodrobnější, standard mezi správci
nslookupWindows, macOS, LinuxDostupný všude, stručnější výstup
Resolve-DnsNameWindows PowerShellPraktické na Windows bez dalšího softwaru

Nemáte po ruce příkazové okno? Pak můžete udělat úplně totéž pomocí online dig nástroje (lekce 8.3).

Váš první dotaz pomocí dig

Otevřete Terminál (macOS/Linux) a napište:

$ dig example.com A

Výstup vypadá zkráceně takto:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41872
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                  IN      A

;; ANSWER SECTION:
example.com.           2847    IN      A       192.0.2.10

;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)

Co si přečíst:

  • status: nejdůležitější slovo. Viz tabulka níže.
  • flags: ad znamená, že resolver odpověď ověřil pomocí DNSSEC (lekce 8.1).
  • ANSWER SECTION: samotné záznamy. Sloupce jsou stejné jako v zóně: název, TTL, třída, typ, hodnota.
  • TTL (zde 2847): kolik sekund tato odpověď ještě zůstane v cache resolveru. Pokud bylo v zóně nastaveno 3600, znamená to, že odpověď je už 753 sekund stará. Zeptáte-li se znovu, uvidíte, jak se číslo odpočítává.
  • SERVER: kterého resolveru jste se ptali. Doma je to často Váš router.

Tři stavy, které byste měli znát

StatusVýznamCo dělat
NOERROR s odpovědíVše v pořádku, toto je odpověďNesedí hodnota? Pak je nastaven špatný záznam, nebo vidíte starou cache
NOERROR bez odpovědi (ANSWER: 0)Název existuje, ale nemá záznam tohoto typuČasto: ptáte se na špatný typ (například A u názvu, který má jen CNAME nebo jen MX)
NXDOMAINTento název vůbec neexistujePřeklep, chybějící záznam, nebo zdvojená doména jako mail.example.com.example.com
SERVFAILResolver nemohl získat spolehlivou odpověďJmenné servery nedostupné, nebo porušený DNSSEC řetězec (zkuste +cd)

Užitečné varianty

Pouze odpověď pomocí +short:

$ dig +short MX example.com
10 mail.example.com.
20 mail2.example.com.

Dotaz na jiný resolver nebo přímo na jmenný server pomocí @. Toto je nejdůležitější trik při řešení problémů. Zeptáte-li se přímo autoritativního jmenného serveru, dostanete vždy čerstvou odpověď, bez cache:

$ dig +short NS example.com
ns1.hosting.example.
ns2.hosting.example.

$ dig +short A www.example.com @ns1.hosting.example
192.0.2.20

$ dig +short A www.example.com @9.9.9.9
192.0.2.10

Zde na první pohled vidíte, co se děje: jmenný server už vrací novou adresu (.20), veřejný resolver má v cache ještě starou (.10). Nemusíte tedy nic dělat, jen počkat, až uplyne TTL (modul 6).

Jiné typy: za název uveďte typ.

$ dig +short TXT example.com
"v=spf1 a mx include:_spf.hosting.example ~all"
"google-site-verification=AbC123..."

$ dig +short TXT _dmarc.example.com
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

$ dig +short CNAME shop.example.com
shops.platform.example.

Sledování celé cesty pomocí +trace. dig pak sám dělá to, co dělá resolver: nejprve root, pak TLD, pak autoritativní server (lekce 1.4):

$ dig +trace example.com A
.                 518400  IN  NS  a.root-servers.net.
;; Received 239 bytes from 192.168.1.1#53
com.              172800  IN  NS  a.gtld-servers.net.
;; Received 708 bytes from 198.41.0.4#53(a.root-servers.net)
example.com.      172800  IN  NS  ns1.hosting.example.
;; Received 412 bytes from 192.5.6.30#53(a.gtld-servers.net)
example.com.      3600    IN  A   192.0.2.10
;; Received 57 bytes from 198.51.100.53#53(ns1.hosting.example)

Pomocí +trace uvidíte, které jmenné servery registr skutečně předává. To se hodí, pochybujete-li, zda už byla změna jmenných serverů provedena.

Zobrazení DNSSEC pomocí +dnssec: navíc dostanete podpisy RRSIG. Pomocí +cd vypnete kontrolu, abyste zjistili, zda SERVFAIL způsobuje DNSSEC.

Reverzní DNS pomocí -x (lekce 4.6):

$ dig +short -x 192.0.2.25
mail.example.com.

Totéž pomocí nslookup

nslookup funguje na každém počítači. Nejdůležitější tvary:

C:\> nslookup example.com
Server:  router.lan
Address:  192.168.1.1

Non-authoritative answer:
Name:    example.com
Address:  192.0.2.10

C:\> nslookup -type=mx example.com
example.com    MX preference = 10, mail exchanger = mail.example.com

C:\> nslookup -type=txt _dmarc.example.com 9.9.9.9

Druhá adresa za názvem (zde 9.9.9.9) je server, kterého se ptáte, stejně jako @ u dig. "Non-authoritative answer" znamená pouze to, že odpověď pochází od resolveru, a ne od autoritativního jmenného serveru: to je normální. Pokud název neexistuje, nslookup oznámí Non-existent domain, což je totéž co NXDOMAIN.

Windows PowerShell: Resolve-DnsName

PS> Resolve-DnsName example.com -Type MX
PS> Resolve-DnsName _dmarc.example.com -Type TXT -Server 9.9.9.9
PS> Resolve-DnsName example.com -Type A -DnsOnly

Vymazání vlastní cache

Vidí online nástroj už novou odpověď, ale Váš počítač ještě ne? Pak je stará odpověď v cache Vašeho vlastního počítače nebo prohlížeče.

  • Windows: ipconfig /flushdns v příkazovém řádku.
  • macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder v Terminálu.
  • Linux se systemd-resolved: resolvectl flush-caches.
  • Prohlížeč: anonymní okno, nebo telefon přes 4G/5G s vypnutou wifi.

Cache svého poskytovatele nebo routeru si sami vymazat nemůžete; tam musíte počkat na uplynutí TTL.

V praxi: jak to vypadá v panelu

Ve většině panelů nelze dig přímo spustit. Používejte proto dig vedle svého panelu: nejprve se v panelu podívejte, co jste vyplnili, pak pomocí dig @<Váš jmenný server> ověřte, zda to jmenný server skutečně vydává, a nakonec pomocí dig @9.9.9.9 zjistěte, zda to už vidí vnější svět. Můj WebOké má DNS diagnostiku, která vzájemně porovnává jmenné servery; jiné služby mají podobná tlačítka "kontrola DNS".

Shrnutí

  • dig <název> <typ> pokládá stejný dotaz jako prohlížeč nebo mailový server; nejprve si přečtěte status.
  • NOERROR s odpovědí je v pořádku, NOERROR bez odpovědi znamená "název existuje, typ ne", NXDOMAIN znamená "název neexistuje", SERVFAIL znamená "žádná spolehlivá odpověď".
  • Pomocí @server se zeptáte konkrétního resolveru nebo přímo autoritativního jmenného serveru; tak uvidíte rozdíl mezi chybou a cache.
  • +short, +trace, +dnssec, +cd a -x jsou varianty, které budete potřebovat nejčastěji.
  • nslookup a Resolve-DnsName dělají totéž na Windows.

Kvíz

1. dig mail.example.com A vrátí status: NXDOMAIN. Co to znamená?



2. Změnili jste záznam A pro www. dig +short www.example.com @ns1.hosting.example vrátí novou adresu, dig +short www.example.com @1.1.1.1 ještě starou. O co jde?



3. Který příkaz zobrazí celou cestu od rootu přes TLD až k autoritativnímu jmennému serveru?



4. Ve výstupu dig je u záznamu A uvedena TTL 412. V zóně je nastaveno 3600. Co to znamená?



5. Co dělá nslookup -type=mx example.com 9.9.9.9?



Úkol

Úkol Z8.2: dig a nslookup. Pomocí dig, nslookup nebo Resolve-DnsName (případně online dig nástroje) zjistěte tři věci:

  1. status názvu, který neexistuje: bestaat-niet-dnscursus.sidn.nl;
  2. záznamy MX domény wikipedia.org, přímo od jednoho ze jmenných serverů wikipedia.org (nejprve je vyhledejte);
  3. TTL, kterou v tuto chvíli vrací veřejný resolver pro záznam A domény sidn.nl (zeptejte se dvakrát s minutovým odstupem a obě čísla si zapište).

Vyplňte odpovědi.

Úkol Z8.2: dig a nslookup





Co vyplníte a co zjistíme online, neukládáme. Váš prohlížeč si pamatuje Vaše odpovědi a to, zda jste úkol splnili. Pokud jste přihlášeni, uložíme pouze informaci, že jste úkol měli (téměř) správně, v Moje kurzy; tam to také můžete odstranit.

Doporučená literatura

Tyto články popisují postup ve WebOké; příkazy fungují všude stejně.

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…