www.SAMURAJ-cz.com 

26.04.2024 Oto Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

DNS (Domain Name System) zaměřeno na Microsoft

Pondělí, 26.11.2007 14:26 | Samuraj - Petr Bouška |
Tento článek tematicky navazuje na sérii o základech počítačových sítí, ale je psán jinou formou. K jeho napsání mne inspirovaly certifikační testy firmy Microsoft, které velmi často obsahují otázky zaměřené na DNS a to hlavně na použití různých typů zón. Takže v první části je určitý teoreticko-praktický popis funkce DNS, který rozhodně není vyčerpávající. A v druhé části se řeší různé použití DNS v podání Microsoftu. Jedná se i o věci, které jsem v praxi nikdy nepoužil, ale jsou potřebné do testů.

Funkce DNS

Domain Name System, známější pod svou zkratkou DNS, je internetový standard zahrnutý v TCP/IP. Slouží k překladu jmen objektů na IP adresy či jiné zdrojové záznamy (resource records). Jména objektů se označují jako doménová jména (domain name) a nejčastěji se jedná o jména hostitelů (hostname), jsou to alfanumerické řetězce, které jsou lépe zapamatovatelné než IP adresy. Příkladem doménového jména je www.samuraj-cz.com a k němu náleží IP adresa 193.86.238.17.

DNS nabízí i obrácenou funkci a to je překlad IP adres na jména objektů. K tomu se využívají tzv. PTR záznamy. Záznamy v DNS dnes existují nejen pro hostname, ale také pro řadu služeb. Nejpoužívanějším příkladem je MX záznam pro poštovní server. Díky tomu nemusíme znát ani jméno serveru ani jeho IP adresu, ale pouze doménu, pro kterou chceme poštovní server nalézt. To využívají ostatní poštovní servery, když chtějí doručit email (z emailové adresy zjistí doménu a k ní naleznou MX záznam, tedy cíl komunikace).

Výhodou používání internetových jmen je lepší zapamatovatelnost a také to, že je možno změnit fyzické umístění počítače a jeho IP adresu a přitom používat stále stejné jméno. Přitom pro komunikaci pomocí TCP/IP se musí používat IP adresy. Funkci internetu bychom si asi nedokázali bez DNS představit. Microsoft na DNS postavil i funkci svého firemního prostředí - domény a využívá jej například pro lokalizaci řady doménových služeb.

Protokol DNS využívá pro komunikaci porty TCP 53 a UDP 53. Definován je v RFC 1035 (a různé funkce v řadě dalších).

Tvorba doménových jmen

Jmenný prostor v internetu je rozdělen na domény (domain). Zodpovědnost za zprávu jmen uvnitř každé domény je delegována, typicky na systémy uvnitř této domény. Tomu odpovídá i hierarchická organizace serverů a způsob tvoření doménových jmen. Podle delegace oprávnění se ještě mluví o zónách. Většinou je zóna rovna jedné doméně, ale může zahrnovat i několik domén, které jsou spravovány jednou autoritou.

Podobně jako jsou rozděleny rozsahy IP adres na sítě a podsítě, tak se dělí jmenné názvy na domény a subdomény. Ale přesto zde nemusí být pevná vazba mezi rozsahy IP adres a doménových jmen. Například dvě různá jména domén mohou odkazovat na stejné adresy.

Obor doménových jmen DNS je tvořen stromem (hierarchická struktura). Každý uzel stromu obsahuje informace o doméně (kterou spravuje, tedy různé záznamy v dané doméně) a odkazy na subdomény. Kořenem stromu je kořenová doména, která se zapisuje jako tečka (.). Pod ní následují domény nejvyšší úrovně (TLD – Top Level Domain, například com a cz). Dále domény druhé úrovně (Second Level Domain, třeba microsoft.com) a případně další subdomain.

Ukázka struktury DNS

Když skládáme doménové jméno, tak používáme domény od nejnižší úrovně a zapisujeme je zleva doprava oddělené tečkou. Tedy k obrázku např. www.samuraj-cz.com. Obrázek není úplně přesný, protože www není podřízená doména, ale záznam v doméně samuraj-cz.com.

Pro reverzní překlad IP adres na jména objektů se využívá pseudo domény IN-ADDR.ARPA. Z důvodu řazení podle významnosti se používá reverzní tvar IP adresy, např. pro IP 192.168.0.1 je DNS záznam 1.0.168.192. IN-ADDR.ARPA.

Zónové soubory

Jak jsem zmínil, strom doménových jmen se dělí na zóny, tedy oblasti spravované jedním správcem (organizací). Zóna obsahuje jednu (nejčastěji) nebo více domén. V zóně jsou také uvedeny autoritativní informace o spravovaných doménách. Tyto informace poskytuje autoritativní DNS server, tedy server, který je považovaný za důvěryhodný pro zónu.

Obsah zóny, jednotlivé zdrojové záznamy, je uložen v zónovém souboru (zone file). To je většinou textový soubor. Mezi některými DNS servery může docházet k replikaci záznamů (například mezi primárním a sekundárním NS), tomuto procesu se říká zone transfer.

Konfigurace Zone Transferu

Nalezení záznamu v DNS

Standardně DNS server provádí rekurzivní (opakované) dotazy. Nejprve potřebuje vědět, kde začít hledat jména v první vrstvě oboru názvů DNS. Tyto informace jsou obsaženy v tzv. root hints, což je seznam úvodních záznamů, které použije DNS služba, aby našla servery, které jsou autoritativní pro kořen stromu oboru názvů DNS domény (DNS domain namespace tree). Standardně root hints obsahují odkazy na 13 root serverů, které se nachází po celém světě a zajišťují technickou infrastrukturu internetu.

Root Hints

Vezmeme adresu, kterou chceme přeložit (např. www.samuraj-cz.com) a rozdělíme ji na jednotlivé domény postupně zprava. Kořenovému serveru pošleme dotaz na adresu DNS serveru nejvyšší úrovně (tedy pro com). Dostaneme adresu TLD NS a jeho se zeptáme na adresu autoritativního serveru pro doménu druhé úrovně (samuraj-cz.com). A tak můžeme pokračovat dále. Na nejnižší úrovni se zeptáme již na IP adresu záznamu (www.samuraj-cz.com).

Typy záznamů v DNS

DNS podporuje řadu různých typů záznamů, podle typu záznamu uchovává různé parametry. Obecné parametry pro všechny typy záznamů jsou jméno, třída (pouze IN jako internet), TTL (čas jak dlouho může být záznam uložen v keši), typ záznamu, data záznamu. Zde uvádím několik nejdůležitějších typů.

  • host – address (A) – běžný záznam, obsahuje adresu počítače
  • alias – canonical name (CNAME) – další jméno (alias) pro existující záznam v doméně
  • mail exchanger (MX) – adresa poštovního serveru
  • service location (SRV) – adresa některé služby, jako ldap, kerberos, ftp, a další
  • name server (NS) – seznam serverů, které zajišťují DNS služby pro doménu, záznam se nachází v nadřízené doméně a v aktuální doméně
  • pointer (PTR) – užívají se pro reverzní překlad
  • start of authority (SOA) – odkazuje na server, kde jsou primární údaje (primární NS), a obsahuje údaje pro zone transfer
Vytvoření nového záznamu

Typy zón

Služba DNS je systémovou komponentou na Windows Serveru 2003. V tomto DNS můžeme vytvořit celou řadu různých zón. Nejčastěji se používá primární zóna (primary zone) a pokud jsme v interní síti a používáme doménu, tak je nejlepší volbou integrovaná do Active Directory.

Vytvoření nové zóny

Primary zone

  • obsahuje autoritativní kopii dat pro zónu a podporuje jejich zápis a změnu
  • standardní primární zóna ukládá databázi zón do textového souboru
  • může existovat pouze jeden primární server (používá hlavní kopii zóny)

Secondary zone

  • obsahuje autoritativní kopii dat pro zónu pouze pro čtení
  • přidává se k primární zóně z důvodu zálohy, zvyšuje dostupnost a odolnost proti poruše
  • data získává pomocí zone transferu z primárního serveru nebo z jiného sekundárního serveru
  • zone transfer spotřebovává dost pásma (může být plný nebo inkrementální)

Stub zone

  • obsahuje autoritativní kopii dat pro zónu pouze pro čtení
  • uchovává pouze odkazy na autoritativní DNS servery domény
  • jinak řečeno jedná se o kopii zóny, která obsahuje pouze NS, SOA a glue A záznamy
  • slouží hlavně ke zvýšení výkonu rozeznávání jmen (name resolution), není třeba kontaktovat několik DNS serverů v internetu, ale rovnou se nalezne autoritativní DNS pro doménu

Active Directory-Integrated zone

  • jedná se o primární zónu (tedy autoritativní se zápisem)
  • databáze zón je uložena v Active Directory databázi (místo v souboru)
  • díky tomu se zjednodušuje administrace, zvyšuje bezpečnost a umožňuje automatické replikace (spolu s replikací AD)
  • je možno použít pouze, pokud je DNS nainstalováno na doménovém kontroléru
  • těchto serverů (kopií zóny) může existovat tolik, kolik je doménových řadičů (oproti standardnímu jednomu primárnímu serveru)

Lookup Zone

Pro správu Microsoft DNS služby slouží snap-in do MMC konzole. V této konzoli se připojíme k určitému DNS serveru a ve stromu pod ním se nachází několik položek.

  • Cached Lookups – každý DNS server standardně uchovává po určitou dobu záznamy, které v poslední době hledal, aby opakovaný dotaz mohl rychleji zodpovědět (pro zobrazení těchto záznamů musíme mít zapnuto Advanced View)
  • Forward Lookup Zones – teprve zde jsou jednotlivé zóny (může jich být na serveru více), obsahuje mapování jmen na IP
  • Revers Lookup Zones – obsahuje obrácené mapování IP adres na jména (PTR záznamy)
Lookup Zones - MS DNS konzole

Další možnosti

Private root zone

Pro vnitřní síť firmy je často lepší (z důvodu bezpečnosti a správy) vytvořit vlastní oddělený prostor jmen, který je oddělený od veřejných sítí. K tomu využijeme interní DNS kořen (internal DNS root) a na něm vytvoříme privátní DNS kořenovou zónu (private DNS root zone).

Pozn.: I v odděleném jmenném prostoru by se neměla používat jména, která již existují v internetu.

Caching-only DNS

Tento server neobsahuje žádnou zónu, jeho účelem je ukládat vyřízené dotazy do keše, aby se při opakovaném dotazu mohli vyřídit okamžitě.

Forwarding

Forwarding bychom mohli přeložit jako předávání (lépe řečeno přeposílání) a jedná se o metodu, která se v praxi hodí pro nasazení v řadě scénářů.

Forwarding slouží k přeposlání dotazu pro externí DNS jméno na DNS server mimo naši síť. Oproti klasickému chování (podrobněji popsanému výše), kdy se začíná hledáním v root hints a pak následuje řada dotazů různým serverům. Pro konfiguraci forwardingu tedy pouze specifikujeme určitý DNS server a následně jsou všechny externí dotazy (které nevyřídí keš) přeposílány na tento server. Po přijetí odpovědi, je tato zaslána klientovi.

Použití forwardingu se může hodit z důvodu bezpečnosti, zvýšení výkonu či lepšího využití internetové linky.

  • V případě špatného připojení k internetu, můžeme optimalizovat výkon překladu jmen tak, že všechny dotazy posíláme přes jeden forwarder (místo celé řady spojení dotaz-odpověď je pouze jedno).
  • Při použití forwardingu můžeme na firewallu povolit komunikaci pouze na jeden venkovní DNS server a tím zvýšit bezpečnost.
  • Můžeme nastavit conditional forwarding na autoritativní servery některých domén, takže z nich získáváme odpovědi přímo.

Forwarder posílá trochu jiný typ DNS dotazu, jedná se o rekurzivní dotaz (dotazovaný server musí provést rekurzivně další dotazy a poslat odpověď), na rozdíl od klasického dotazu, který se označuje jako iterativní.

Konfigurace Forwardingu

Na Microsoft DNS se Forwarding nastavuje pro určitý server na záložce Forwarders. Od verze Windows Server 2003 zde můžeme nastavit klasický forwarding tak, že k položce All other DNS domains nastavíme adresy patřičných DNS serverů. A conditional forwarding tak, že přidáme novou doménu a k ní její DNS servery.

Conditional forwarding

Podmíněný forwarding (conditional forwarding) se od klasického forwardingu liší v tom, že přeposílá pouze dotazy, které vyhovují zadané podmínce na doménové jméno.

Vkládání a aktualizace záznamů

Standardní záznamy v DNS jsou statické (ručně vložené). Můžeme, ale také využít automatického vkládání a aktualizace záznamů. Tato metoda se označuje jako dynamické aktualizace (dynamic update). To se používá nejčastěji v součinnosti s DHCP serverem, když klient získá adresu z DHCP, tak si ji zaregistruje se svým jménem na DNS. Případně můžeme nastavit DHCP server, aby on registroval do DNS klienty, kterým přidělí adresu.

Na Microsoftím serveru můžeme nastavit, zda jsou dynamické aktualizace povolené a případně kdo je může provádět. Jako bezpečný (secure) se označuje klient, který je ověřený vůči Active Directory.

Nastavení dynamických aktualizací

Zajímavé odkazy

Téma DNS je mnohem širší, než co jsem zde zmínil. Nevěnoval jsem například způsobu, jakým mezi sebou komunikují DNS servery nebo klient se serverem. Nezmínil jsem speciální záznamy a subdomény, které využívá Microsoft doména. A také jsem vynechal informace o možnosti provázání DNS a WINS. Takže zde jsou nějaké odkazy, kde naleznete další podrobnosti.

zobrazeno: 71942krát | Komentáře [7]

Autor:

Související články:

Počítačové sítě - Computer networks

Tento seriál se věnuje základům počítačových sítí. Jsou zde stručně popsány důležité praktické aspekty, které by měl znát každý, kdo se o sítě zajímá.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] kuba

    Fajn článek, škoda že na Win, ale na Linux si to v hlavě přenesu :)

    Úterý, 27.11.2007 16:50 | odpovědět
  2. [2] Radek

    Diky za pomoc, momentalne se pripravuji na svuj treti exam 70-291 a tvoje clanky me dosti pomahaji.

    Čtvrtek, 28.02.2008 16:03 | odpovědět
  3. [3] Karel

    Prosim radu: Mam pridelovani adres DDNS a mel bych byt jako host jmeno.firma ale nevim odkud mi se stale zobrazuje stare jmeno ktere mel stary notas :( nevim kde to hledat odkud to jmeno furt taha :( diky

    Čtvrtek, 24.07.2008 11:12 | odpovědět
  4. [4] Karel

    Dodatek... Jedna se o RadHat

    Čtvrtek, 24.07.2008 11:13 | odpovědět
  5. [5] martin

    :-O ahoj . Vie mi niekto poradit...?? potrebujem textove nazvy DNS serverov google- Ako ich zistim....??' DAKUJEM

    Neděle, 29.01.2012 20:06 | odpovědět
  6. [6] qal

    Jsem laik a přesto musím spravovat W2008 server (AD, DNS).

    Docela by bylo fajn rozšířit článek o vkládání záznamů.

    Mám (interní) doménu domena.local, server se jmenuje srvdomena. Venku v Internetu máme doménu domena.cz a server, na němž je web.

    Netuším jak a kam vložit některé záznamy do DNS W2008, který je uvnitř privátní sítě:

    adresa dalsi1.domena.cz ma byt pomocí DNS směrována rovnou na IP venku.

    adresa dalsi2.domena.cz má být směrována dovnitř přímo na srvdomena.

    Jako jaké záznamy je mám vložit ?

    A do jaké zóny (dopředné/zpětné)

    A co do nich vlastne zapsat ?

    • na komentář odpověděl [7]TT
    Středa, 06.02.2013 09:23 | odpovědět
  7. [7] TT

    To:odpověď na [6]qal: Myslím, že je to trochu složitější - podle mne potřebuješ autoritativní záznamy pro minimálně tři domény (2x vperjod, a min 1x nazad). V jedné budou tvé lokální názvy pro "domena".local; ve druhé pro "domena".cz - ta obvykle nebývá spravována lokálně, ale u providera - správce nameserveru; a třetí na reverzní překlad IP adres na doménová jména (např 168.192.IN-ADDR.ARPA).

    Krom hlavičky zony budou záznamy hlavně adresní v dopředných zonách (dalsi1.domena.cz IN A 192.168.1.1) a reverzní ve zpětných (1.1.168.192 IN PTR dalsi1.domena.cz)...

    A hlavně, pokud chceš provozovat nějaký server na lokální adrese tak, aby byl "vidět zvenčí", tak je třeba využít port-forward nebo nějakou jinou metodu na firewallu, a do vnější domény psát IP adresu toho firewallu, ne koncového serveru... a vhodné je udělat si na to i DMZ, nepropagovat přímo lokální síť.... celý ten dotaz možná vyžaduje rozsáhlější odpověď a to už je asi jiný článek, nebo i placená služba :-)

    Pondělí, 03.04.2023 10:56 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách