DNS - 1. část

Napsal Dalibor Baník (») 23. 8. 2006 v kategorii Operační systémy, přečteno: 4535×

První část popisující význam DNS a překlad adres

DNS slouží k ...

K identifikaci počítačů v síti se používají IP adresy = těžko zapamatovatelné,
proto jsou nahrazeny doménovým jménem. IP adresa je tímto jménem plně nahraditelná
mimo identifikace samotného name serveru. Jedna IP adresa může mít přiřazeno několik doménových jmen. Vazba mezi jménem a IP adresou je definována v DNS databázi (Domain Name System).


Např.:

ping banan.cz - ještě před provedením příkazu se přeloží název domény na IP adresu (82.208.39.115)
Pochybnosti v případě nekorektního DNS vyřešíme zadáním přímo IP adresy:


Např.:

ping 82.208.39.115
rovněž můžeme zaslat e-mail na jmeno@[82.208.39.115]

(podmínkou je neprovozování virtuálních serverů, resp. jedna IP = jedna doména)


Doména a subdomény

- jsou uváděny v tečkové notaci a čteme zprava doleva podle úrovně doménového názvu

řetězec.řetězec.řetězec.....řetězec.


1) jméno počítače
2) jméno nejnižší vnořené úrovně
3) další vyšší domény atd.
- pro jednoznačnost na konci uvádíme tečku (v praxi možno vynechat)
- jedná se o absolutní název domény


Reverzní domény

- potřeba chceme-li najít IP adresu na základě názvu domény (překlad IP na doménové jméno)
- reverzní záznam tvoříme opačným postupem, nakonec přidáme .in-addr-arpa

Např.:

192.168.1.10 = 1.168.192.in-addr.arpa //reverzní doména
192.168.1.10 = 10. 1.168.192.in-addr.arpa //reverzní doména třídy C


Zóna

Data o doméně uložená na name serveru jsou nazývána zónou. Zóna obsahuje jen část
domény, resp. je částí prostoru jmen, kterou obhospodařuje jeden name server.


Dotazy a překlady

Překlad jména na IP adresu zprostředkovává tzv. resolver. Jedná se o klienta,
který se dotazuje name serveru. Nezná-li nejbližší name server odpověď, může
požádat o pomoc další name servery. Resolver po svém spuštění načte do paměti
data pro zónu, kterou spravuje.


PRIMARní name server načte data z lokálního disku
SEKUNDARní name server dotazem "zone transfer" získá pro spravované zóny data z primárního name serveru a rovněž je uloží do paměti.


Data z primárního a sekudárního name serveru se označují jako autoritativní (nezvratná). Dále name server načte data která nejsou součástí dat jeho spravované zóny,
ale umožní mu spojení s root name servery a případně s name servery, kterým delegoval pravomoc pro spravování subdomén. Tato data se nazývají neautoritativní.


Name server i resolver společně sdílejí cache do které během práce ukládají
kladné odpovědi na dotazy, které provedly jiné name servery, tj. ke kterým jsou
jiné name servery autority. Data jsou neautoritativní, pouze šetří čas při
opětovných dotazech. Do této paměti jsou ukládány pouze kladné odpovědi.
Celý proces může urychlit tzv. "negativní caching" (ukládají se také záporné odpovědi).


Porty a protokoly pro přenos

DNS používá k přenosu protokoly UDP i TCP a to na portech 53 (53/udp, 53/tcp).
Běžné dotazy - překlad jména na IP adresu - se provádějí pomocí protokolu UDP
(délka je omezena na 512b). Dotazy přenášející data o zóně používají pro transfer
protokol TCP (možno větší objem dat).


Databáze s daty nutnými pro překlad jsou vždy uloženy alespoň na dvou nezávislých
name serverech (počítačích). Je-li jeden nedostupný, překlad může provést druhý ze serverů. Předpokládá se, že jsou veškeré name servery dostupné.


Reslover

Server je v systémech UNIX realizován prostřednictvím programu "named".
Postup programu:

a) provede překlad sám
b) vyžádá pomoc u dalších serverů
c) zjisti, že překlad není možný


Konfiguračním souborem pro resolver je /etc/resolv.conf. Zpravidla obsahuje dva
typy řádků (druhý se může několikrát opakovat):

domain jméno místní domény
nameserver IP adresa name serveru


V případě, kdy uživatel zadá jméno domény bez tečky, resolver za zadané jméno
přidá jméno domény z hodnoty "domain" a pokusí se předat tento název name serveru
k překladu. Nebude-li překlad úspěšný, dojde k pokusu o předání názvu bez rozšíření
o hodnotu "domain". Více názvů místních serverů (domain) můžeme zadat uvedením
hodnoty "search"


Příkazem "nameserver" specifikujeme IP adresu name serveru, který má resolver
kontaktovat. Můžeme uvést i více hodnot pro případy, kdy nebude některý z uvedených
možno kontaktovat. IP adresu nelze zaměnit za název !!!

Také můžeme konfigurovat veškeré PC bez použití DNS, v tom případě se veškeré
dotazy na překlad adres provádějí lokálně pomocí souboru /etc/hosts. Možno obě
metody kombinovat (nejčastější případ), pozor ovšem na obsah databáze /etc/hosts.

Můžeme nastavit pořadí, v jakém se budou databáze prohlížet a to v souboru
/etc/host.conf. Zpravidla se nejdříve prohlíží /etc/hosts a posléze DNS, jak uvádí příklad níže:

order hosts,bind
multi on


Nameserver

Udržuje informace pro překlad jmen počítačů na IP adresy (resp. pro reverzní překlad).
Nameserver obhospodařuje část z prostoru jmen všech počítačů. Tato část se nazývá zóna.
Nameserver může větou typu NS ve své konfiguraci delegovat spravování subdomény
na nameserver nižší úrovně.


Nameserver je programem provádějícím překlad na žádost resolveru. V našem
případě relizován démonem named.

Rozlišujeme:

Primární name server: udržuje data o své zóně v databázích na disku. Pouze na primárním name serveru má smysl editovat databáze
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í servery jsou tzv. autoritou pro své domény, tj. jejich data pro příslušnou zónu se považují za nezvratná (autoritativní).
Caching only server není pro žádnou doménu primárním ani sekundárním name serverem (autoritou). Pouze data, která jím prochází ukládá do své paměti (neatoritativní). Každý server je caching serverem, označením vymezíme, že server není autoritou.
Root name server server obsahující root doménu. Každý root name server je primárním serverem (narozdíl od ostatních NS)

Data na sekundárním name serveru jsou obnovena po době určené ve větě SOA DNS záznamu.
Pro správnou funkci name serveru musí tento znát root name servery. Ty zavádí
příkazem cache do sekundární paměti (není k nim autorita).


Postup překladu:

a) resolver zformuluje požadavek na name server a očekává jednoznačnou odpověď, umí-li NS odpovědět, obratem zašle odpověď (hledá v cache paměti - obsahuje aautoritativní i neautoritativní data), nezná-li odpověď, kontaktuje další NS (vždy začíná od root NS). Pro každý NS musí znát IP adresy root name serverů. Není-li žádný NS dostupný, po několika neúspěšných pokusech celý proces překladu zkolabuje
b) name server se obrátí na server pro doménu .CZ, který zjistí, že informace o doméně delegoval větou typu NS name serveru nižší úrovně a zašle našemu name serveru IP adresy serverů spravujících danou doménu
c) server se obrátí na NS spravující doménu, který mu požadavek vyřeší (nebo ne). Výsledek předá klientovi
d) informace, které postupně získal si též uloží do cache pro případné další užití


NSLOOKUP

Užitečný program pro správce name serverů. Můžeme provádět dotazy jakoby name
serverem a to zákazem rekurence a přidáním doménových jmen příkazy:

=> nslookup => set norecurse, set nosearch


Forwarding a slave servery

Další typy name serverů dle způsobu překladu.

FORWARDING SERVER s výhodnou uvítáme při nízké rychlosti připojení k internetu
(vytáčená linka). FS dostane 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 vyšší
rychlostí. Dotaz rekurzivně vyřeší a pošle našemu forwarding serveru konečný výsledek.
Jako forwarder je praktické využít name server poskytovatele Internetu.

Pokud forwarding server nedostane odpověď od forwardera v časovém intervalu, sám kontaktuje root name servery s pokusem vyřešit překlad.

Nemá-li forwarding server kontaktovat root name servery, ale pouze vyčkat na odpověď
forwardera, označujeme jej rovněž jako SLAVE SERVER. Tyto se používají zejména
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. Avšak forwarding server i slave server
mohou být caching only servery nebo také primární či sekundární name servery pro určitou zónu.

Štítky: DNS
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel nula a deset