Co je DNS a proč je kritické pro Internet
Domain Name System (DNS) je distribuovaný hierarchický systém pro pojmenovávání a vyhledávání síťových zdrojů. Překládá lidsky čitelné názvy (např. example.com) na síťové adresy (např. 192.0.2.1 nebo 2001:db8::1) a poskytuje metadata o službách. DNS je navrženo pro škálování, redundanci a loose consistency – změny se šíří postupně podle TTL a replikací zón.
Základní komponenty a role
- Rekurzivní resolver: zprostředkovatel pro klienty (stub resolvery), provádí iterativní dotazy a cacheuje odpovědi.
- Autoritativní server: definitivní zdroj pro konkrétní zónu, odpovídá na dotazy bez další rekurze.
- Kořenové servery: udržují kořenovou zónu (.) a delegace na TLD; provozovány v globální anycast síti.
- Registry a registrátoři: správa TLD (.cz, .com) a poskytování delegací (NS, DS) pro druhé úrovně.
- Stub resolver: součást OS/aplikace, předává dotazy rekurzivnímu resolveru (typicky ISP či podnikový).
Hierarchie jmenného prostoru a delegace
DNS jmenný prostor je strom se zónami oddělenými tečkami: kořen → TLD (např. .cz) → druhá úroveň (example.cz) → subdomény. Delegace probíhá zapsáním záznamů NS v nadřazené zóně a odpovídajícími glue záznamy (A/AAAA), pokud jsou autoritativní servery v delegovaném jmenném prostoru.
Typy záznamů a jejich použití
- A / AAAA: IPv4/IPv6 adresa hostu.
- CNAME: alias na jiné jméno; nesmí koexistovat s dalšími typy na stejném jméně.
- NS: autoritativní servery zóny; používány pro delegace i v apexu zóny.
- MX: poštovní směrování domény na mail servery s prioritami.
- TXT: volný text; často pro SPF, DKIM, DMARC, ověřování domény.
- SRV: umístění služby s protokolem a portem (např. _sip._tcp).
- PTR: reverzní mapování IP → jméno v doménách in-addr.arpa a ip6.arpa.
- SOA: metadata zóny – primární server, e-mail správce, sériové číslo a časování replikací.
- CAA: povolení CA vydávat certifikáty pro doménu.
- DNSKEY / DS / RRSIG / NSEC/NSEC3: prvky DNSSEC pro podepisování a validaci odpovědí.
- NAPTR / SVCB / HTTPS / TLSA: pokročilé směrování (ENUM, nové modely pro web, DANE).
Jak probíhá rezoluce jména
- Klient (stub) pošle dotaz na rekurzivní resolver (RD=1).
- Resolver zkontroluje cache; pokud není, dotáže se kořene, získá NS pro TLD.
- Iterativně pokračuje k TLD a dále k autoritativním serverům pro hledanou zónu.
- Po získání odpovědi ji uloží do cache podle TTL a vrátí klientovi (RA=1).
- Pro CNAME může následovat řetězení dotazů, dokud nedostane konečný typ (např. A/AAAA).
Formát DNS zprávy a význam polí
- Hlavička: ID transakce, příznaky (QR, OPCODE, AA, TC, RD, RA, AD, CD), RCODE.
- Sekce: Question, Answer, Authority, Additional; komprese jmen pro úsporu.
- Přenos: primárně UDP/53 (kvůli latenci), fallback na TCP/53 pro velké odpovědi, AXFR/IXFR a DNSSEC.
Cache, TTL a negativní caching
Cache zvyšuje výkon a dostupnost; TTL určuje dobu platnosti záznamu. Negativní caching (NXDOMAIN, NODATA) je řízen parametrem minimum v SOA. Chybné či příliš dlouhé TTL komplikuje změny (např. migrace) a zvyšuje riziko nekonzistence.
EDNS(0), fragmentace a limity velikosti
EDNS(0) rozšiřuje velikost UDP odpovědí (obvykle až 1232–4096 bajtů), přidává volby (např. DNS Cookie). Velké odpovědi mohou fragmentovat IP pakety a způsobovat ztráty; best practice je držet odpovědi pod hranicí PMTU nebo preferovat TCP/DoT/DoH pro velké zprávy a DNSSEC.
DNSSEC: kryptografická integrita a autenticita
- Princip: autoritativní zóna podepisuje sady záznamů (RRset) klíčem ZSK, KSK slouží pro důvěryhodné zakotvení (DS v nadřazené zóně).
- Validace: rekurzivní resolver ověřuje RRSIG a staví řetěz důvěry od kořene až k dotčené zóně.
- Negativní odpovědi: NSEC/NSEC3 dokazují neexistenci jména/typu bez úniku celé zóny.
- Operace: rotace klíčů (ZSK častěji než KSK), správné sériování a hlídání expirací podpisů.
Soukromí, minimalizace a šifrování transportu
- QNAME minimization: resolver dotazuje po krocích jen nezbytné části jména ke snížení úniku informací.
- DNS over TLS (DoT) a DNS over HTTPS (DoH): šifrovaný transport mezi klientem a resolverem zvyšuje soukromí a integritu.
- DNS over QUIC (DoQ): nízká latence, lepší odolnost vůči ztrátám a head-of-line blocking.
- EDNS Client Subnet (ECS): předávání prefixu klienta pro geo-balancing; má dopady na soukromí a cache.
Dostupnost a škálování: anycast, geoDNS a balancing
- Anycast: stejné IP rozsáhlé distribuované síti uzlů; směrování klienty k nejbližšímu uzlu zvyšuje odolnost a snižuje latenci.
- GeoDNS: různá odpověď podle lokality tazatele (IP geolokace, ECS); vhodné pro obsahové sítě.
- Rate-limiting a RRL: omezení odpovědí z autoritativních serverů při anomálním chování tazatele.
Bezpečnostní hrozby a obrana
- Cache poisoning: mitigace randomizací zdrojového portu, 0x20 case randomizací, DNSSEC validací.
- Amplifikační útoky: malé dotazy vs. velké odpovědi; obrana přes BCP38 (anti-spoofing), RRL a omezení otevřených resolverů.
- Otevřené resolvery: nepovolený přístup z internetu; zavřít či filtrovat podle politiky.
- Malware a DGA: detekce anomálních dotazů, RPZ (Response Policy Zones) pro blokace domén.
Správa zón: AXFR/IXFR, NOTIFY, dynamické DNS
- AXFR: plný přenos zóny na sekundární servery; nastavte ACL a TSIG pro integritu a autentizaci.
- IXFR: inkrementální přenos změn – šetří šířku pásma a zrychluje propagaci.
- NOTIFY: signalizace změny sekundárům mimo standardní refresh interval.
- Dynamic DNS (RFC 2136): online změny záznamů s ověřením (TSIG), užitečné pro automatizaci a DHCP integraci.
Provozní modely: vlastní DNS vs. cloudová služba
- On-prem/self-hosted: plná kontrola, možné nižší náklady ve velkém měřítku, nutnost vlastního SRE a bezpečnosti.
- Managed/cloud DNS: globální anycast, SLA, integrace s API a IAM, platba dle dotazů a zón.
- Hybrid: kritické zóny on-prem s hidden master, globální distribuce přes cloud sekundáry.
Reverzní DNS a e-mailová reputace
PTR záznamy v in-addr.arpa a ip6.arpa zlepšují doručitelnost e-mailu. Kombinujte s SPF (TXT), DKIM (public key v TXT) a DMARC pro politiku ověřování. Nesoulad mezi A/AAAA a PTR může zhoršit reputaci.
Specifika pro IPv6
- AAAA záznamy: dbejte na paritu s A; preferujte dual-stack a testujte konektivitu.
- ip6.arpa: reverzní zóna s nibble formátem; automatizace je klíčová kvůli délce jmen.
- MTU a fragmentace: preferujte menší EDNS velikosti odpovědí a DoT/DoH/DoQ.
Vývojové a podnikové vzory: split-horizon a conditional forwarding
- Split-horizon: rozdílné odpovědi podle zdroje dotazu (interní vs. externí pohled); pozor na konzistenci a cachování.
- Conditional forwarding: přesměrování dotazů pro vybrané domény na interní autoritativní servery (např. AD DS).
- Service discovery: SRV/SVCB/HTTPS záznamy pro lokalizaci služeb, DNS-SD v lokálních sítích, mDNS pro bezinfrastrukturní prostředí.
Monitoring, metriky a observabilita
- Dostupnost a latence: měřte p95/p99 doby dotazů, chybovost podle RCODE, saturaci zdrojů.
- Cache hit ratio: klíčová metrika výkonu resolveru, ovlivňuje náklady i latenci.
- Objem dotazů: QPS, top domény/typy, anomálie (DGA, skoky v NXDOMAIN).
- Logování: detailní dotazy s ohledem na GDPR a uchovávání; sampling pro vysoké objemy.
Nástroje pro správce a diagnostiku
- dig / kdig / drill: ruční dotazy, test DNSSEC (AD bit), EDNS velikosti, trace (+trace).
- nslookup: starší nástroj, méně doporučovaný pro pokročilou diagnostiku.
- tcpdump / Wireshark: inspekce protokolu, fragmentace, retransmise, flagy.
- dnstap: streamování dotazů/odpovědí z resolverů pro analýzu v reálném čase.
Referenční software a role
- Autoritativní servery: BIND, Knot DNS, NSD, PowerDNS Authoritative.
- Rekurzivní resolvery: Unbound, Knot Resolver, PowerDNS Recursor, CoreDNS (často v cloudu/kontejnerech).
- Integrované platformy: Active Directory DNS pro interní sítě s AD integrovanými zónami.
Provozní bezpečnost a compliance
- Přístupové politiky: řízení změn, více očí na publikaci zón, audit záznamů.
- TSIG/TLS: ochrana AXFR/IXFR, rozhraní API a synchronizací.
- Segmentace: oddělení managementu, oddělené sítě pro externí autoritativní a interní resolvery.
- Hardening: minimalizace funkcí, omezení rekurze, limity na odpovědi, pravidelné aktualizace.
Migrační a změnové strategie
- Snížení TTL: několik dnů před změnou (např. přesun hostingu) snížit TTL, po stabilizaci vrátit.
- Postupná validace: canary změny v menší subdoméně, monitoring NXDOMAIN a chyb.
- Rollback: připravená předchozí konfigurace, skripty pro rychlé navrácení stavu.
Checklist nejlepší praxe
- Dva a více nezávislých autoritativních serverů, ideálně anycast, různí poskytovatelé/ASN.
- Správně nastavené NS a odpovídající glue; konzistence mezi parent a child zónou.
- DNSSEC podepsané zóny, pravidelná rotace klíčů a validace v resolverech.
- QNAME minimization, DoT/DoH/DoQ pro citlivé segmenty; rozumné EDNS velikosti.
- Uzavřené resolvery, RRL a BCP38 proti spoofingu; RPZ pro politické filtrování, pokud je vyžadováno.
- Automatizace správy zón (GitOps, CI/CD), testy konfigurací a syntaktická validace.
- Monitoring p99 latence, chybovosti a cache hit ratio; alerting na změny NS/DS/MX.
Závěr
DNS je základní vrstva internetu, která musí zároveň splnit nároky na výkon, bezpečnost a provozní jednoduchost. Moderní provoz kombinuje DNSSEC, šifrované transporty, anycastovou distribuci, pečlivé cacheování a automatizaci změn. Organizace, které spravují DNS jako kritickou službu s jasnými SLO, robustní observabilitou a bezpečnostními kontrolami, získají vyšší odolnost, lepší uživatelskou zkušenost a nižší provozní riziko.