DNS

Server DNS neodpovídá? Na vině může být špatné nastavení, ale i zavirovaný  systém - Cnews.cz

Kategorie : Počítačové sítě

Podkategorie :

Tutoriálů: 1

POPIS:
DNS (Domain Name System) je hierarchický, decentralizovaný systém doménových jmen, který je realizován servery DNS a protokolem stejného jména, kterým si vyměňují informace. Jeho hlavním úkolem a příčinou vzniku jsou vzájemné převody doménových jmen a IP adres uzlů sítě.

DNS

Komunikace mezi jednotlivými IP uzly probíhá na základě IP adres, které jednoznačně definují každého klienta rozsáhlé počítačové sítě

Tento přístup je pro člověka nevhodný a těžko zapamatovatelný

DNS (Domain Name System) je řešení, které umožňuje:

·          využít symbolických adres

·          skrýt nedostatky nebo strukturu sítě

·          rozdělit síť dle logické přehlednosti

·          definovat, vytvářet a spravovat přidělené zóny (rozdělit otevřenou síť do správních oblastí)

·          možnost využití jmen při komunikaci není jediným důsledkem zavedení DNS

Jmenný systém musí vyřešit problematiku:

·          zásady tvorby, přidělování a správy jmen

·          vytvoření a systematické údržby jmenné databáze

·          zajištění komunikačních a převodních mechanizmů

·          mnoho dalších problémů souvisejících s nasazením DNS

Internet, respektive otevřená počítačová síť, je rozdělen do tzv. domén

·          domény systému DNS zajišťují logické zpřehlednění a rozdělení jednotlivých fyzických částí do jednotného celku

·          d rámci domény je možné vytvářet podskupiny – subdomény

·          každá skupina má přiřazeno jméno, z jednotlivých jmen se pak skládá doménové jméno uzlu

Doménové jméno:

·          skládá se z řetězců vzájemně oddělených tečkou

·          jméno se zkoumá zprava doleva

·          nejvyšší instancí je tzv. root doména, vyjadřuje se tečkou zcela vpravo (většinou se vynechává)

·          V root doméně jsou definovány tzv. generické domény –TLD

·          Top Level Domains: edu, com, net, org, mil, int, arpa a dvojznakové domény jednotlivých států (ISO-3166)

·          jména tvoří stromovou strukturu = první řetězec je jméno počítače, další řetězec je jméno nejnižší vnořené domény

·          celé jméno může mít max. 255 znaků, jednotlivé řetězce max. 63 znaků

·          řetězce mohou obsahovat písmena, číslice, pomlčky (nesmí být na začátku nebo na konci)

·          možno používat malá i velká písmena

·          na počítačích uvnitř domény je možné psát pouze jméno počítače bez domény

·          DNS funguje hierarchicky

·          Na internetu jsou rozmístěné tzv. kořenové servery –servery, které zajišťují kořenovou zónu (pro doménu .xxx)

·          Mají tedy přehled o delegaci toplevel domén, jako je COM, EDU, DE nebo CZ

·          Každá doména nižší úrovně musí mít server, který zajišťuje funkčnost a propojení v systému DNS

·          Servery v hierarchii na sebe navzájem odkazují a společně tak vyřeší jakýkoli dotaz

 

Reverzní překlad je překlad IP adresy na doménové jméno

·          záznam definující vazbu IP adresy na doménové jméno je záznam PTR

·          reverzní překlad využívají některé programy (ftp, traceroute,...)

·          pokud není v DNS zaveden reverzní záznam pro doménové jméno, mohou některé služby nesprávně pracovat

·          záznamy PTR, respektive reverzní domény jsou důležité (ne každý poskytovatel tento princip zodpovědně realizuje)

Reverzní doména je vždy vytvářena a delegována pro síť IP adres

·          pro síť 194.149.177 musí být v DNS vytvořena a delegována reverzní doména 177.149.194.in-addr.arpa

Reverzní doména tedy nijak nesouvisí s klasickou doménou

V jedné reverzní doméně se mohou vyskytovat doménová jména z různých domén

Typy reverzních domén se odvíjejí od rozsahu používané sítě

Příkladem může být použití rozsah 256 IP adres – síť třídy C

O delegaci reverzních domén pro sítě třídy B a C se nestarají národní sdružení NIC, ale mezinárodní organizace přidělující IP adresy.

·          v Evropě delegaci reverzních domén zajišťuje organizace RIPE

·          na jmenný server RIPE ns.ripe.net jsou delegovány reverzní domény pro sítě IP adres, které RIPE přiděluje

·          poskytovatelům, tedy např.: 200.in-addr.arpa, 201.in-addr.arpa, 202.in-addr.arpa

·          RIPE deleguje reverzní domény pro menší intervaly IP adres –sítě třídy C na jmenné servery poskytovatelů nebo koncových uživatelů

Data o doméně uložené na name serveru jsou nazývány zónou

Zóna obsahuje jen část domény. Doména je skupina počítačů, které mají společnou pravou část svého doménového jména

Autonomní systémy dělí Internet z hlediska IP-adres (směrování), naproti tomu domény dělí Internet z hlediska jmen počítačů. Reverzní domény kopírují strukturu poskytovatelů Internetu

 

Jmenný server udržuje informace pro překlad jmen počítačů na IP-adresy (resp. pro reverzní překlad)

·          obhospodařuje nějakou část z prostoru jmen všech počítačů – zónu

·          name server může pomocí věty typu NS ve své konfiguraci delegovat spravování subdomény na name server nižší úrovně

·          name server je program, který provádí na žádost resolveru překlad

Primární name server

·          udržuje data o své zóně v databázích na disku

·          na primárním name serveru má smysl editovat databázi

Sekundární name server

·          kopíruje databáze v pravidelných časových intervalech z primárního name serveru

Primární i sekundární name servery jsou tzv. autoritou pro své domény, jejich informace se považují za nezvratná (autoritativní)

Caching only server

·          není autoritou –využívá obecné vlastnosti name serveru, tj. data, která jím prochází, ukládá ve své paměti

·          tato data se označují jako neautoritativní, každý server je caching server, ale slovy caching only zdůrazňujeme, že pro žádnou zónu není ani primárním, ani sekundárním name serverem

Root name server

·          name server obsluhující root doménu

·          root name server je primárním serverem – rozdílné od ostatních name serverů

Jeden name server může být pro nějakou zónu primárním name serverem, pro jinou sekundárním

·          Z hlediska klienta není mezi primárním a sekundárním name serverem rozdíl

·          Pro správnou činnost musí name server znát root name servery (není pro ně však autoritou)

Forwarding a slave servery

·          nesouvisí s tím, zda jsou primárními nebo sekundárními servery pro nějakou zónu, ale souvisí se způsobem jejich překladu

Předávání dotazů

·          forwarding server vezme požadavek od klienta a předá jej forwarderovi na rychlé síti jako rekurzivní dotaz

·          forwarder je server v Internetu, který je připojen rychlejšími linkami = dotaz rekurzivně vyřeší a pošle zpět forwarding serveru konečný výsledek

·          pro forwarding je praktické použít name server poskytovatele Internetu

Slave server

·          slave servery se používají v uzavřených podnikových sítích (za firewallem), kde není možný kontakt s root name servery

·          slave server pak kontaktuje forwardera, který je součástí firewallu

·          slave server musí být forwarding server

·          oba mohou být caching only servery

·          oba mohou být primární nebo sekundární name servery pro určitou zónu

Doménová služba je realizována jednoduchým protokolem DNS

·          tento protokol pracuje způsobem dotaz – odpověď =

·          klient pošle dotaz serveru a server na dotaz odpoví =

·          jistou komplikací je komprese jmen, která se provádí proto, aby byly DNS pakety co nejúspornější =

·          DNS je protokol aplikační vrstvy, neřeší tedy otázku vlastního přenosu paketů =

·          využívá DNS jako transportní protokoly UDP i TCP =

·          dotaz i odpověď jsou přenášeny vždy stejným transportním protokolem.U dotazů na překlad (tj. žádosti o RR record) je dávána přednost protokolu UDP

V případě, že je DNS odpověď delší než 512 B, vloží se do odpovědi pouze část informací nepřesahující 512 B

Bit TC v záhlaví specifikuje o neúplnou odpověď = Klient si může kompletní odpověď vyžádat protokolem TCP

U přenosu zón např. mezi primárním a sekundárním name serverem se používá protokol TCP

Name server standardně očekává dotazy jak na portu 53/udp, tak na portu 53/tcp

DNS nejčastěji využívá UDP

·          datagram se vyšle prvnímu serveru

·          nepřijde-li odpověď do krátkého časového okamžiku, pošle se datagram s žádostí dalšímu

·          zkusí se další, pak se kolečko opakuje do vypršení časového intervalu

·          tento přístup maximalizuje rychlost z důvodu existence více name serverů

Přeložení jména na IP-adresu zprostředkovává tzv. resolver

Resolver je klient, který se dotazuje name serveru

Databáze je celosvětově distribuována

·          Nejbližší name server nemusí znát odpověď, proto tento name server může žádat o překlad další name servery

·          Veškerá komunikace se skládá z dotazů a odpovědí

Name server po startu načte do paměti data pro zónu, kterou spravuje:

·          Primární name server načte data z lokálního disku

·          Sekundární name server dotazem zone transfer získá data z primárního name serveru

Name server i resolver společně sdílejí paměť cache

·          Do ní ukládají kladné odpovědi na dotazy, které provedly jiné name servery

·          Šetří čas při opětovných dotazech

Resolver zformuluje požadavek na name server a očekává jednoznačnou odpověď =

Odpověď hledá ve své cache paměti, zde se nacházejí data získaná při předešlých řešeních (autoritativní i neautoritativní)

·          nezná-li odpověď, pak kontaktuje další servery (name server musí znát IP-adresy root name serverů)

·          není-li dostupný žádný root name server, pak pokus o překlad zkolabuje

Root name server zjistí, že informace o doméně cz delegoval větou typu NS na name server nižší úrovně

Dotazujícímu se name serveru vrátí IP-adresu separujícího doménu cz

Name server se obrátí na server pro doménu cz, který zjistí, že informace o doméně delegovala větou NS na nižší úroveň

Vrátí tedy IP-adresu serveru spravujícího doménu uhk.cz

Server se obrátí na server spravující doménu uhk.cz, který požadavek vyřeší (nebo ne) a výsledek vrátí klientovi

Informace, které server obdržel, si uloží do cache

= „A“ – pro převod doménového jména na IPv4 adresu

·          „AAAA“ – pro převod doménového jména na IPv6 adresu

CNAME“ – alias doménového jména na jiné doménové jméno = jeden počítač může mít více logických jmen pro různé služby (www.fim.cz, ftp.fim.cz) = může provozovat jednu službu pro více domén (www.uhk.cz, www.fim.cz atd.)

MX“ – na jaké doménové jméno se má směrovat pošta pro nějakou doménu

·          může, ale nemusí být doménovým jménem konkrétního počítače

·          jeden počítač může přijímat poštu pro více domén

·          změnou v DNS lze směrovat poštu jinam, třeba na centrální podnikový mailserver

NS“ – který počítač slouží jako DNS server pro danou doménu

PTR“ – reverzní záznam = jaké je doménové jméno pro konkrétní IP adresu (192.168.1.1.in-addr.arpa PTR lide.uhk.cz)

SOA“ - zajišťuje určitou část režijních informací =

·          označuje DNS server pro danou doménu jako primární (Start Of Authority)

Existují určitá pravidla pro formální čistotu DNS

·          nemělo by být zapsáno více A (AAAA) záznamů (doménových jmen) na jedinou IP adresu

·          aliasy lze vytvořit pomocí CNAME

·          záznamy MX, NS, CNAME, PTR a SOA by měly ukazovat zásadně na A záznam (FQDN – hlavní a jedinečné doménové jméno)

·          příslušný reverzní záznam musí přesně odpovídat

·          V případě nedodržení pravidel je pravděpodobná nefunkčnost některých služeb a síťových programů

·          A a PTR záznamy můžou způsobovat nemožnost připojení se na anonymní FTP servery

·          Některé další servery v rámci své bezpečnostní politiky považují rozdílnost záznamů, respektive chyby v DNS jako nebezpečnou činnost, které se snaží zamezit (obrana před potenciálním útokem)

Registrace domény je v současné době jednoduchá

·          proces registrace je do značné míry automatizován =

·          existuje větší množství poskytovatelů, respektive delegovaných registrátorů =

·          delegace domény a konfigurace vlastního serveru je daleko složitějším problémem pro správce sítě

Delegace domény – obvykle z příčiny změny poskytovatele

·          zprovoznění primárního name server pro doménu =

·          konfigurujeme sekundárního name server pro doménu, případně požádáme o jeho konfiguraci svého poskytovatele Internetu =

·          žádost o delegaci domény v doméně vyšší úrovně =

·          pokud se jedná o doménu druhé úrovně, je třeba ještě registrovat doménu v databázi domén =

·          změna delegace domény v doméně vyšší úrovně

Po provedení změny delegace je vhodné nechat běžet alespoň původní sekundární name server (s novými daty) několik dní =

V paměti name serverů po celém světě je ještě IP adresa původních serverů =

Okamžité zastavení primárního i sekundárních name serverů by mohlo způsobit problémy