Potreba pamätať si názvy počítačov namiesto ich numerických adries siaha do dôb ARPANETu. V tej dobe sa na UNIXoch používal súbor /etc/hosts, ktorý mapoval numerické adresy na mená. Tento súbor si musel každý počítač na sieti stiahnuť(v tej dobe umiestnený na servri SRI). V dnešních UNIXoch stále súbor hosts existuje a používa sa najmä pri riešení problémov s DNS servrom. Tento prístup je ale nevhodný - distribuovať súbor hosts na každý počítač je veľmi neefektívne. Tento problém vyriešil Paul Mockapetris, ktorý v roku 1983 vyvinul protokol DNS.
DNS(Domain Name System) je systém, ktorý distribuuje hierarchickú databázu. Táto slúži hlavne na preklad medzi adresami a menami v sieti. Samotná databáza je uložená na tzv. name serveroch, ktorých sa klienti pýtajú pomocou resolverov.
Priestor domenových mien tvorí strom, ktorého koreňom je tzv. koreňová doména(zapisuje sa ako bodka). Pod ňou sa nachádzajú tzv. Top-Level Domains, ktoré obsahujú domény národné(.cz, .sk, .jp ...) a generické(.com, .org, .net ...). TLD sa ďalej delia na subdomény, pričom každá obsahuje vlastný nameserver. Ak nameserver nevie odpovedať, pýta sa koreňového nameservru.
Údaje DNS servru sú uložené v tvare tzv. zdrojových viet(RR, Resource Record), ktoré obsahujú:
NAME - doménové meno, pre ktoré sa záznam vytvára TYPE - typ záznamu CLASS - rodina protokolov, ku ktorej sa záznam vzťahuje TTL - time to live, doba počas ktorej je záznam udržovaný v cache ako platný RDLENGTH - dľžka pola RDATA RDATA - vlastné dáta, formát závisí na type a triede RR
Najčastejšie typy RR:
SOA - (Start Of Authority) - určuje autoritatívny nameserver pre zónu, je vždy práve jeden a to na začiatku súboru @ IN SOA ns.niekde.sk. nieco.niekde.sk. ( 200605140 - seriové číslo 1h - refresh 5m - retry 1w - expire 1d - TTL ) sériové číslo - verzia databázového súboru. Pri zmene súboru musíme toto číslo zvýšiť. refresh - ako často majú sekundárne nameservre overovať svoje data. retry - ak sekudárny NS nemôže kontaktovať primárny po uplynutí intervalu refresh, bude to ďalej skúšať každých Retry sekúnd. expire - ak sa sekundárnemu NS nepodarí kontaktovať primárny NS do Expire sekúnd, prestane poskytovať informácie (data sú príliš staré). TTL - hodnota sa vzťahuje k všetkým záznamom v db súbore a ovplyvňuje ako dlho môžu ostatné servery (neautoritatívne) udržovat daný záznam v svojej cache(nula - nevkladať RR do cache).NS - (Name Server) - definuje autoritatívny NS pre doménu.
aaa IN NS ns IN NS ns.niekde.sk.
www IN A 1.2.3.4
www IN AAAA 2001:714:cc01:1:02e0:66ff:fe96:daa6
www IN MX 10 mail IN MX 20 mail.niekde.sk.
www IN CNAME nieco
1.2.3.4 IN PTR nieco.niekde.sk.
Je to sada knihovných funkcií(lib c), ktoré využívajú klientské aplikácie pre prístup k DNS. Jeho konfigurácia je typicky uložená v súboroch /etc/resolv.conf(nastavenie IP adries DNS servrov, miestna doména...) a /etc/host.conf(poradie v ktorom sa majú oslovovať /etc/hosts, DNS a NIS).
príklad /etc/resolv.conf
domain mojadomena.sk nameserver 11.12.13.14 nameserver 11.12.13.15
127.0.0.1 localhost 147.251.48.1 aisa
Najpoužívanejší DNS server v UNIXovom prostredí, zvláda veľkú záťaž a je de facto štandartom na UNIXových DNS servroch.
Púšťať BIND(named) je ako root nebezpečné, používa sa preto chroot.
/chroot/named/etc /chroot/named/etc/named /chroot/named/dev /chroot/named/var /chroot/named/var/runďalej sa vytvoria špeciálne súbory, ako /dev/null a /dev/random, adresaru chroot sa nastavia oprávnenia a následne sa BIND do tohto adresáru nainštaluje.
controls { inet 127.0.0.1 allow { localhost; }; };include - vkladá súbor
include meno_suboru;key - špecifikuje informácie pre použitie pri autentizácii a autorizácii
options { directory "/var/named"; query-source port 53; forward prvy_spytovany_server; forwarders { ostatne_servry; };server - nastavuje rôzne konfiguračné možnosti
zone "xyz.cz" { type master; notify yes; file "xyz.sk.zone"; }; zone "abc.cz" { type slave; masters { 174.129.115.18; }; file "abc.sk.zone"; }; zone "." { type hint; file "root.hints"; };
Konfigurácia zónových súborov prebieha pomocou RR (Resource Records). Príklad zone súboru:
$TTL 1d @ IN SOA ns.niekde.sk. nieco.niekde.sk. ( 200605140 - sériové číslo 1h - refresh 5m - retry 1w - expire 1d - TTL ) IN NS ns IN MX 10 mail.ns www IN CNAME nieco www IN A 1.2.3.4
Pre kontrolu vytvorených konfiguračných súborov named.conf a súborov zón slúžia programy named-checkconf a named-checkzone.
Spustenie je odporúčané v chrootovskom režime pomocou príkazu named -u named -t /chroot/named/.
Ďalsie informácie je možné získať z manuálu BINDu, DNS How-To a rôznych ďalších stránok priložených v zozname použitej literatúry.