Internet běží na kódu. Je to divoký, chaotický svět, který drží pohromadě podle měřítek, kterých si sotva všimneme. V centru toho všeho je DNS.
Lidé často říkají “Domain Name Server”. To není pravda. Zkratka znamená Domain Name System. Jedná se o protokol ze sady TCP/IP. Jeho úkol je jednoduchý, ale ambiciózní. Převádí názvy čitelné pro člověka, jako je „howstuffworks.com“ na adresy internetového protokolu (IP). Počítače nečtou slova. Čtou čísla. 70.42.251.42 – takto stroj najde svého přítele v síti.
Představte si DNS jako telefonní seznam pro Internet. Bez něj byste si museli zapamatovat řetězce čísel, abyste mohli navštívit jakýkoli web. Virtuální pláně a hustá města dat byste procházeli zpaměti. Nyní existují stovky milionů domén. Hodně štěstí ve snaze si je všechny zapamatovat.
Bez serverů DNS se webový prostor zastaví. Jak ale vaše zařízení pozná, který server má kontaktovat? Když se připojíte k Wi-Fi nebo k vašemu ISP, váš router nebo modem vám pošle konfigurační data. Patří mezi ně servery DNS, které musí vaše zařízení používat k překladu adres.
Probrali jsme základy. Nyní přejděme k mechanismům. Konkrétně, jak jsou IP adresy strukturovány a proč je to důležité pro překlad názvů.
Pochopení struktury IP adresy a procesu rozlišení
DNS server přeloží název domény na IP adresu. Zní to jednoduše. Ve skutečnosti to není pravda.
- Používají se miliardy IP adres.
- Většina strojů má jména, která jsou pro lidi srozumitelná.
- DNS servery zpracovávají miliardy dotazů současně.
- Každý den se mění miliony domén.
Aby se DNS vyrovnala s touto zátěží, spoléhá na přísnou efektivitu. Standardy spravuje Internet Assigned Numbers Authority (IANA). Každé zařízení potřebuje jedinečnou adresu, buď ve formátu IPv4 nebo IPv6.
Zde je návod, jak je rozlišit:
- IPv4 : Čtyři čísla oddělená tečkami. Příklad: „70.74.251.42“.
- IPv6 : Osm hexadecimálních skupin oddělených dvojtečkami. Příklad: „2001:0cb8:85a3:0000:0000:8a2e:0370:7334“.
IPv6 je novější standard. Zatím zůstaneme u běžného IPv4.
Každé číslo v adrese IPv4 je oktet. Je to 8bitové binární číslo. Vezměme číslo 42. V dvojkové soustavě je to 00101010. Každá číslice odpovídá mocnině dvou. Přidejte hodnoty bitů, které jsou povoleny. “2 + 8 + 32 = 42”.
Pro každý oktet existuje celkem 256 možných hodnot. Od nuly do 255.
Některé adresy jsou rezervované. IANA jim přiděluje konkrétní úkoly. 127.0.0.1 je adresa místního hostitele (loopback). Identifikuje počítač, který používáte. Komunikace s 127.0.0.1 je prostě komunikace se sebou samým.
Webové servery potřebují stabilitu. Používají statické IP adresy. Síťovému rozhraní tohoto systému je vždy přiřazena stejná adresa. Aby toho bylo dosaženo, je adresa IP spojena s adresou řízení přístupu k médiím (MAC). MAC adresu zapisuje do zařízení výrobce. Je jedinečný. Takovou adresu má každé drátové nebo bezdrátové rozhraní.
Nyní se podíváme na druhou stranu rovnice – doménová jména. Ale nejprve, kde se skrývá vaše vlastní IP adresa?
Jak zjistit IP adresu na libovolném zařízení
Vaše adresa se pravidelně mění, pokud nemáte nastavenou statickou IP. To je pro domácí uživatele vzácné. Zde je návod, jak to hned najít.
- Windows : Otevřete příkazový řádek. Zadejte
ipconfig. Stiskněte Enter. Hledejte IPv4 adresu. - Mac : Přejděte na Předvolby systému. Klepněte na Síť. Vyberte aktivní připojení (zelená tečka). Klikněte na “Upřesnit”. Přejděte na kartu TCP/IP.
- Linux nebo UNIX : Otevřete terminál, jako je XTERM nebo iTerm. Zadejte
ifconfig. Hledejte „inet addr“. - Smartphone : Zkontrolujte nastavení sítě v operačním systému. Záleží na verzi telefonu a OS.
Pokud jste ve své domácí síti, pravděpodobně uvidíte 192.168.x.x, 172.16.x.x nebo 10.x.x.x. Písmeno x je číslo mezi 0 a 255. Jedná se o vyhrazené soukromé adresy. Váš router je používá k připojení k širšímu internetu.
Toto je místní strana. Dalším krokem je pochopení samotných doménových jmen.
Jak doménová jména skutečně fungují
Pamatování IP adres je prohraná bitva. Váš mozek není navržen tak, aby držel náhodné řetězce čísel, ale miluje slova. To je celý smysl doménových jmen. V hlavě už máte stovky těchto jmen.
- google.com je gigant, který používá každý
- mit.edu – omezeno na oblast vzdělávání
- bbc.co.uk – vnořená struktura kódů zemí
Vidíte tečky. Tento vzorec znáte. Poslední částí této adresy je Doména nejvyšší úrovně (TLD). IANA je spravuje v databázi kořenové zóny. Nyní je jich více než 1000. Většina z nich je otevřená všem. Některé jsou omezené.
- COM, NET, ORG – každý je může zaregistrovat. Původně byly určeny pro komerční využití, sítě a neziskové organizace. Teď? Jen známky.
- EDU, MIL, GOV – omezené. Adresu .edu si nemůžete jen tak koupit, pokud nejste vzdělávací instituce.
- .UK, .US, .RU – kódy zemí. Spravováno místními úřady.
Přidáním slov před TLD se vytvoří hierarchie. Každá tečka odděluje úroveň. “howstuffworks” je uvedena jako doména druhé úrovně pod .com. Tato struktura ukazuje na konkrétní servery.
Vezměte bbc.co.uk. To není jen doména. Toto je subdoména pod .co, která sama o sobě patří pod .uk. Toto je vnořený systém souborů pro Internet.
Slovo úplně vlevo? Toto je název hostitele. Obvykle je to „www“ nebo „mail“. Sdělí systému, ke kterému počítači se chcete připojit. Jedna doména může obsluhovat miliony jedinečných názvů hostitelů. Dokud nejsou v konfliktu, je vše v pořádku.
Pak je tu předpona. HTTP. Hypertext Transfer Protocol. Jedná se o handshake mezi vaším prohlížečem a serverem. Teď ho ale uvidíte jen zřídka. Uvidíte HTTPS. “S” znamená bezpečnost. Šifrování povoleno. Číslo vaší kreditní karty zůstává důvěrné. Pokud nepoužíváte HTTPS, křičíte svá data přes otevřený kanál.
Při registraci domény musíte uvést, kam směřuje. Konkrétně potřebujete nameservery. Tyto servery DNS mají oprávnění pro vaši doménu. Vědí, kde je www.yoursite.com. To obvykle řeší váš poskytovatel hostingu. Už mají připravenou infrastrukturu DNS.
Jak servery DNS směrují provoz
Tady se děje kouzlo. Nebo začne bolet hlava, když se něco zlomí.
DNS není jeden velký počítač. Toto je distribuovaný systém. Hierarchie serverů, které spolupracují. Pokud selže jeden, převezmou náklad ostatní. Je navržen pro stabilitu. Ale je to také složité.
Když zadáte URL, váš počítač IP adresu jen neuhádne. ptá se.
Nejprve zkontroluje vlastní mezipaměť. Navštívil tento web včera? Velký. Již zná IP adresu. Není třeba obtěžovat nikoho jiného. Na rychlosti záleží. Latence zabíjí uživatelský zážitek.
Pokud je mezipaměť prázdná, kontaktuje řešitel. To obvykle poskytuje váš ISP nebo veřejná služba, jako je Cloudflare nebo Google. Řešitel dělá hlavní práci. Odpověď zatím nemá, ale ví, kde hledat.
Začíná shora. Kořenové servery. Po celém světě je rozmístěno 13 logických shluků. Neznají IP adresu vašeho webu. Vědí, kdo provozuje .com. Přesměrují resolver na TLD .com servery.
Servery TLD vědí, kdo vlastní vaši konkrétní doménu. Přesměrují resolver na vaše autoritativní jmenné servery. Jsou to ty, které jste nastavili při registraci domény. Vedou skutečný záznam. Záznam A. IP adresa.
Překladač obdrží tuto IP. Odešle to zpět do vašeho počítače. Váš prohlížeč se připojuje. Stránka se načítá.
To vše se děje v milisekundách. Potřesení rukou nevidíte. Nevidíte přeskakování požadavků mezi root, TLD a autoritními servery. Prostě vidíte stránku.
Ale co když v kterékoli fázi dojde k selhání? Zobrazí se chyba. “DNS_PROBE_FINISHED_NO_INTERNET.” otravuje. Protože problém není ve vašem připojení. Problém je v telefonním seznamu.
Právě tato distribuovaná povaha brání zhroucení internetu. Neexistuje jediný bod selhání. To ale také znamená, že je snadné udělat chybu v konfiguraci. Jeden překlep v nastavení DNS a váš web je pryč. Nevypíná se. Jednoduše se stane nenalezitelným.
Systém si zakládá na přesnosti. A nadbytečnost. Pokud váš autoritativní server vypadne, ale máte nakonfigurované sekundární servery, provoz pokračuje. Pokud ne? Umlčet.
Pochopení tohoto toku pomáhá, když se věci rozbijí. Není to magie. Toto je vyhledávací tabulka. Velmi velká, velmi distribuovaná vyhledávací tabulka.
Co vlastně dělá server DNS ve vaší síti
Měřítko je úžasné. DNS servery zpracovávají více dotazů než jakákoli jiná databáze na planetě. Provádějí miliardy vyhledávání a současně každý den přijímají aktualizace od milionů uživatelů. A přesto, navzdory skutečnosti, že jsou distribuovány na milionech strojů a řízeny bezpočtem týmů, systém funguje jako jeden mozek.
To je zázrak distribuovaného inženýrství.
Většina lidí vnímá DNS jako černou skříňku. Předáte řízení IT oddělení a doufáte v to nejlepší. Ale nemusíte být síťový inženýr, abyste mohli efektivně řídit. Musíte pouze porozumět popisu úkolu.
Ne každý server DNS vykonává stejnou funkci. Hlavní role jsou vlastně dvě. Pochopení toho, která z nich platí pro vaši konfiguraci, změní způsob, jakým přistupujete k řešení problémů a konfiguraci.
Řešení mezipaměti
Tento server je umístěn ve vaší místní síti. Jeho hlavním úkolem není vědět všechno, ale pamatovat si, co často žádá. Ukládá malou lokální databázi názvů domén a IP adres, které vaše síť používá nejčastěji.
Na všechno ostatní deleguje požadavky. Pro odpověď kontaktuje ostatní servery DNS na internetu. To urychlí procházení webu pro všechny uživatele v dané síti. Při každém otevření nové karty nemusíte kontaktovat kořenový server na jiném kontinentu. Přistupujete k místní mezipaměti.
Autoritativní jmenný server
Tento server ukládá hlavní záznam. Přiřazuje IP adresy všem hostitelům a subdoménám, za které je zodpovědný.
Pro vlastní zóny neexistuje žádné delegování. Pokud vlastníte doménu, tento server je zdrojem pravdy. Sdělí zbytku internetu přesné umístění vašeho webu, poštovního serveru nebo koncového bodu API.
Jeden slouží jako zkratka, druhý jako zdroj dat.
Záměna mezi těmito dvěma je začátkem většiny problémů. Nemůžete ukládat záznamy, za které nezodpovídáte, a nemůžete být autoritou v doméně, kterou nespravujete.
Proč je toto rozlišení důležité? Protože nastavení zabezpečení a výkonu zcela závisí na roli, kterou server plní. Řešitel potřebuje silné zásady ukládání do mezipaměti. Autoritativní server vyžaduje přísnou správu zón.
Který tedy používáte? Nebo používáte obojí? V malých konfiguracích je běžné najít jeden stroj provádějící oba úkoly. To je v pořádku. Jen nezapomeňte, že se jedná o logicky samostatné funkce.
Pochopení tohoto oddělení činí zbytek správy DNS méně jako kouzlo a více jako logika.
Jak váš ISP zpracovává dotazy DNS
Váš ISP poskytuje první linii obrany. Nebo útoky. Podle toho, jak se cítíte ohledně jeho návyků omezujících rychlost. Když se připojíte, DHCP vám automaticky poskytne adresu DNS serveru vašeho poskytovatele. Nežádáš o to. Prostě se objeví.
Server poskytovatele funguje jako líný knihovník.
- Kontroluje své vlastní police. Pokud má pro danou doménu IP adresu, předá vám ji. Připraveno.
- Pokud je police prázdná, kontaktuje jiný server. Může se postupně dotazovat na tři nebo čtyři servery.
- Pamatuje si odpověď. Ukládání do mezipaměti zajišťuje rychlé zpracování budoucích požadavků.
- Pokud po důkladném hledání nenajde, co hledá, vrátí chybu. “Doména nenalezena.”
Docela jednoduché. Ale to je pouze strana žadatele.
Kdo skutečně vlastní data domény
Druhá skupina serverů je důležitější, pokud publikujete nějaký obsah. Jedná se o servery, které jsou svázány s vaším webhostingem nebo poskytovatelem e-mailu. Abyste je mohli používat, nemusíte být správcem serveru. Hostingové ovládací panely umožňují konfiguraci jedním kliknutím.
Konkrétní server, který uchovává autoritativní data pro vaši doménu, se nazývá Sign of Authority (SOA). Toto je hlavní. Když SOA aktualizuje záznam, změna se šíří. Je předán dalším DNS serverům, které je následně předávají dalším a šíří se po internetu jako fáma.
SOA je jediným zdrojem pravdy. Všechno ostatní je jen kopie.
Kořenové servery a hierarchie
Nahoře jsou kořenové jmenné servery. Zpracovávají domény nejvyšší úrovně, jako jsou .com nebo .org. Jsou jich stovky. Málokdy s nimi komunikujete přímo. Váš ISP se obvykle zastaví na úrovni domény nejvyšší úrovně (TLD).
Ale co když se řetěz přetrhne? Co když poskytovatel odmítne hledat? Systém se může vrátit zpět na kořenový server. Toto je poslední možnost. Bezpečnostní síť. Pomáhá najít správnou SOA, když se cesta ztratí.
Nastavení oprávnění vaší domény
Nyní vidíte síť. Jak je propojená? Proč je rychlá? Proč se to někdy nedaří?
Dalším krokem je nastavit se jako autorita. Už nemusíte jen číst mapu. Ty to nakreslíš.
Nastavení záznamů domény
Vybrali jste jméno. Je to zdarma. Zaregistrovali jste to. co bude dál?
Musíte internetu sdělit, kde přesně se tato doména nachází. Pokud se váš registrátor liší od vašeho poskytovatele hostingu, musíte tuto mezeru překlenout. Nasměrujte doménu na správnou IP adresu nebo název hostitele. To se děje pomocí DNS záznamů.
Považujte záznamy DNS za pokyny. Každý z nich plní specifický úkol. Jsou uloženy v souboru zóny na serveru DNS. Pokud provozujete svůj vlastní server, pravděpodobně tento soubor upravujete ručně v textovém editoru. Většina moderních registrátorů poskytuje webové rozhraní. Je to jednodušší. Místo zadávání kódu stačí stisknout tlačítka.
Zde jsou typy příspěvků, které skutečně použijete.
Záznamy hostitele (A)
Toto je požadované minimum. Záznam A mapuje název hostitele na IP adresu. Bez A-záznamu není web. Toto je základní vztah mezi vasedomena.com a číslem serveru 192.0.2.1.
Canonical Name Records (CNAME)
Toto je pseudonym. Přezdívka. CNAME ukazuje jedno jméno na druhé. Pokud zadáte alias, automaticky vás přesměruje na server definovaný v záznamu A. Chcete, aby www ukazovalo na vaši hlavní doménu? Použijte CNAME.
Záznamy Mail Exchange (MX)
To je zodpovědné za e-mail. Říká světu, který server přijímá poštu pro vaši doménu. Nemusíte hostovat svůj vlastní poštovní server. Většina lidí používá Google nebo Microsoft. Vytvoříte záznam MX, který odkazuje na ghs.google.com nebo podobnou adresu. Vaše doména si zachovává svou identitu, ale Gmail dělá těžkou práci.
Záznamy jmenného serveru (NS)
Vyhlašují pravomoci. Záznamy NS obsahují jmenné servery odpovědné za vaši zónu. Když jiné servery DNS vyhledávají vaši doménu, nejprve zkontrolují tyto záznamy NS. Sdělují globální síti, kdo má poslední slovo v datech vaší domény.
Začátek úřadu (SOA)
Hlavní vstup. Nachází se na začátku každého souboru zóny. Určuje primární jmenný server a další administrativní data. Pokud používáte registrátora DNS, nemusíte s tím pracovat. Pokud hostujete server sami, musíte to pochopit.
Záznam SOA je jediným zdrojem pravdy pro zónu DNS vaší domény.
Zde je návod, jak vypadá soubor raw zóny pro ty, kteří upravují text přímo. Prostřední sloupec zobrazuje typ záznamu. Symbol „@“ znamená „to odkazuje na kořenovou doménu, pokud není uvedeno jinak“.
Většinu uživatelů zajímají pouze záznamy MX a CNAME. Pomocí MX směrujte e-maily do Google Workspace. Pomocí CNAME „zaparkujte“ subdomény. Možná máte herní server na samostatné IP adrese. Nasměrujte na něj games.example.com pomocí CNAME. Jen.
Jak se mění zabezpečení DNS
DNS není statický. On se mění.
Koncem roku 2018 ICANN implementoval nové bezpečnostní prvky. Aktualizovali kryptografické klíče pro DNSSEC. Konkrétně klíč k podpisu klíče kořenové zóny (KSK). Jednalo se o významnou událost pro technologické profesionály.
Proč? Internet roste. Internet věcí každý den přidává miliony nových zařízení. Více zařízení znamená více útočných ploch. Hackeři milují DNS. Unesou jej, aby ukradli data nebo narušili služby.
Otrava DNS a útoky odepření služby jsou skutečnými hrozbami. Obrana proti nim vyžaduje být informován. Pokud spravujete DNS, nemůžete tyto aktualizace ignorovat. Klíče se z nějakého důvodu změnily. Zabezpečení není volitelné, pokud může být internetový telefonní seznam přepsán útočníkem.
Často kladené otázky o DNS
Co je DNS?
Toto je systém doménových jmen. Internetový telefonní seznam. Propojuje lidsky čitelné adresy URL se strojově čitelnými IP adresami.
Co dělá DNS?
Přiřazuje adresu URL konkrétní IP adrese webu. Bez něj byste si museli pamatovat řetězce čísel pro každý web, který navštívíte.
Mohu použít 8.8.8.8?
Ano. Toto je veřejný DNS společnosti Google. Google to podporuje. Může ho použít kdokoli. Často je rychlejší než výchozí DNS vašeho ISP.
Je bezpečné přepnout DNS?
Ano. Přechod na OpenDNS nebo Google DNS je bezpečný. Toto je reverzibilní. Nenaruší váš počítač ani síť. Jednoduše změníte adresář, ve kterém požadujete adresy.
Co znamená DNS na mém telefonu?
Každé internetové připojení používá DNS. Váš telefon není výjimkou. V systému Android můžete nastavit soukromé DNS. Přejděte do Nastavení > Síť a internet > Upřesnit > Soukromé DNS. Zadejte název hostitele preferované služby DNS. Klikněte na “Uložit”. Vaše dotazy budou směrovány přes tohoto poskytovatele namísto výchozího DNS vašeho operátora.
Další zdroje
Vždy je co nového se naučit. DNS jde hlouběji než jen specifikovat doménu. Pokud se chcete ponořit do architektury, podívejte se na návody na strukturu souborů zóny nebo implementaci DNSSEC. Základy zpřístupnění webu online. Podrobnosti to udrží v bezpečí.
























