Ji� v dob�ch ARPAnetu byla pot�eba si pamatovat adresy jednotliv�ch po��ta��. A jeliko� si �lov�k pamatuje sp��e jm�na �i n�zvy ne� skupiny ��sel vznikla my�lenka p�evodu ��seln�ch adres na jmenn� adresy. V t�to dob� ARPAnetu byl p�eklad na UNIXov�ch stroj�ch �e�en pomoc� souboru /etc/hosts, kter� byl distribuov�n na v�echny po��ta�e (dodnes se pou��v� pro ��ely p�ezd�vek �asto nav�t�vovan�ch server� a pro pou�it� p�ed dotazem na DNS server nebo v p��pad� v�padku DNS serveru). Tato koncepce p�estala v�ak vyhovovat p�edev��m kv�li n�rok�m na rychlou aktualizaci a na zvy�uj�c� se mno�stv� adres d�ky Internetu. A tak v roce 1983 vyvinul Paul Mockapetris DNS protokol, kter� je pops�n v RFC 882, 883 a aktualizov�n v RFC 1034, 1035.
DNS (Domain Name System, syst�m dom�nov�ch jmen) - je ucelen� celek, umo��uj�c� u�ivatel�m pou��vat symbolick� dom�nov� jm�na m�sto ��seln�ch adres. Sou��st� tohoto syst�mu jsou jak pravidla pro tvorbu dom�nov�ch jmen i dom�n jako takov�ch, tak i mechanismy a prost�edky pro praktick� p�evod symbolick�ch jmen na ��seln� IP adresy. Syst�m tzv. name server� dohromady tvo�� distribuovanou datab�zi obsahuj�c� pot�ebn� p�evodn� informace.
Prostor dom�nov�ch jmen tvo�� strom. Ka�d� uzel stromu obsahuje informace o ��sti jm�na neboli dom�n�. Ko�enem stromu je tzv. ko�enov� dom�na, kter� se zapisuje te�kou. Pod n� se v hierarchick� �rovni nach�zej� tzv. dom�ny nejvy��� �rovn� Top-Level Domain neboli TLD, nap��klad st�tn� cz, sk a dal�� jako com, edu, org. Ka�d� koncov� po��ta� m� ve sv� konfiguraci s��ov�ch parametr� obsa�enu i adresu lok�ln�ho DNS serveru, na n�j� se m� obracet s dotazy. V opera�n�ch syst�mech odvozen�ch od Unixu je obsa�ena v souboru /etc/resolv.conf. Pokud po��ta� hled� ur�itou informaci v DNS (nap�. IP adresu k dan�mu jm�nu), obr�t� se s dotazem na tento lok�ln� server. Ka�d� DNS server m� ve sv� konfiguraci uvedeny IP adresy ko�enov�ch server�. Obr�t� se tedy s dotazem na n�kter� z nich. Ko�enov� servery maj� autoritativn� informace o ko�enov� dom�n�. Konkr�tn� znaj� v�echny existuj�c� dom�ny nejvy��� �rovn� a jejich servery. Dotaz je tedy n�sledn� sm�rov�n na n�kter� ze server� dom�ny nejvy��� �rovn�, v n�� se nach�z� c�lov� jm�no. Ten je op�t schopen poskytnout informace o sv� dom�n� a posunout �e�en� o jedno patro dol� v dom�nov�m strom�. T�mto zp�sobem �e�en� postupuje po jednotliv�ch patrech dom�nov� hierarchie sm�rem k c�li, a� se dostane k serveru autoritativn�mu pro hledan� jm�no, kter� po�le definitivn� odpov��.
DNS servery se chovaj� dv�ma zp�soby:
Protokol DNS pou��v� k p�enosu dat UDP nebo TCP protokol. Z�kladn� komunikace prob�h� p�es protokol UDP av�ak jen do velikosti 512B, nad tuto velikost je pou��v�n protokol TCP stejn� jako pro ���en� datab�ze DNS server�. Pro p�enos prost�ednictv�m obou protokol� je pou��v�n port 53.
Informace o dom�nov�ch jm�nech a jejich IP adres�ch, stejn� jako v�echny ostatn� informace DNS z�znamu jsou ulo�eny v pam�ti DNS server� ve tvaru zdrojov�ch v�t (Resource Records - RR).
Nej�ast�ji pou��van� typy zdrojov�ch z�znam� jsou tyto:
@ IN SOA ns.kdesi.cz. franta.kdesi.cz. ( 200605140 - seriov� ��slo 1h - refresh 5m - retry 1w - expire 1d - TTL ) |
aaa IN NS ns IN NS ns.jinde.cz. |
www IN A 1.2.3.4 |
www IN AAAA 2001:718:1c01:1:02e0:7dff:fe96:daa8 |
www IN MX 10 mail IN MX 20 mail.jinde.cz. |
www IN CNAME neco |
1.2.3.4 IN PTR cosi.kdesi.cz. |
Resolver je vlastn� DNS klient, kter� nen� spu�t�n na PC jako d�mon, ale zprost�edkov�v� dan� slu�by pomoc� knihovny resolveru, kter� jsou implementov�ny ve standardn�ch knihovn�ch C.
Konfigura�n�m souborem pro resolver je /etc/resolv.conf. Slou�� jako seznam name server� a zpravidla obsahuje dva typy ��dk� (druh� se m��e n�kolikr�t opakovat):
domain mojedomena.cz nameserver 1.2.3.4 nameserver 1.2.3.5 |
PC m��eme tak� konfigurovat 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. Nej�ast�ji se tento soubor pou��v� pro vytvo�en� p�ezd�vek. Nap��klad n�sleduj�c� p��klad umo��uje pou��vat p�ezd�vku localhost a umo��uje zadat do browseru jen http://oo m�sto http://www.openoffice.cz.
127.0.0.1 localhost 212.47.25.165 oo |
Mo�no ob� metody kombinovat (nej�ast�j�� p��pad), pomoc� souboru /etc/host.conf nebo /etc/nsswitch.conf , ve kter�ch se nastavuje po�ad�, v jak�m se budou datab�ze prohl��et. Zpravidla se nejd��ve prohl��� /etc/hosts a posl�ze DNS.
BIND je bezesporu nejpou��van�j��m DNS serverem na platform� Unix. Je konstruov�n pro obrovsk� zat��en�, a proto se u v�ech velk�ch DNS server� setk�me pr�v� s touto aplikac�.
BIND (proces named) se standardn� spou�t� pod u�ivatelem root, co� nen� z hlediska bezpe�nosti p��li� p��v�tiv�. Proto je velmi vhodn� vytvo�it nov�ho u�ivatele, pod kter�m by se BIND spou�t�l a spou�t�t tak BIND v tzv. chrootovsk�m re�imu. Na str�nk�ch Chroot-BIND-HOWTO naleznete velice podrobn� postup jak nastavit chrootovsk� re�im, tady jen ve zkratce:
/chroot/named/etc /chroot/named/etc/named /chroot/named/dev /chroot/named/var /chroot/named/var/run |
Konfigurace jmenn�ho serveru BIND prob�h� pomoc� souboru /etc/named.conf, kter� je po startu p�e�ten a n�sledn� zavedeny p��slu�n� DNS datab�ze do pam�ti. P��kazy pro nastaven� v /etc/named.conf:
controls { inet 127.0.0.1 allow { localhost; }; }; |
include jmeno_souboru; |
options { directory "/var/named"; query-source port 53; forward prvn�_dotazovany_server; forwarders { ostatni_servery; }; |
zone "xyz.cz" { type master; notify yes; file "xyz.cz.zone"; }; zone "abc.cz" { type slave; masters { 194.149.105.18; }; file "abc.cz.zone"; }; zone "." { type hint; file "root.hints"; }; |
Konfigurace z�nov�ch soubor� prob�h� pomoc� v�t RR (Resource Records), kter� ji� byly pops�ny d��ve. P��klad zone souboru:
$TTL 1d @ IN SOA ns.kdesi.cz. franta.kdesi.cz. ( 200605140 - seriov� ��slo 1h - refresh 5m - retry 1w - expire 1d - TTL ) IN NS ns IN MX 10 mail.ns www IN CNAME neco www IN A 1.2.3.4 |
Pro kontrolu v�mi vytvo�en�ch konfigura�n�ch soubor� named.conf a soubor� z�n slou�� programy named-checkconf a named-checkzone.
Spou�t�n� je doporu�eno v chrootovsk�m re�imu pomoc� p��kazu named -u named -t /chroot/named/.
Narozd�l od BINDu nen� djbdns jedin�m programem, ale souborem n�kolika mal�ch program�, kter� pln� v�dy jen jedinou funkci.
Krom� v��e uveden�ch obsahuje djbdns i dal�� dva servery - rbldns a walldns a n�kolik klientsk�ch aplikac�, kter� lze pou��vat nap��klad pro p�evod jmen a adres z p��kazov� ��dky (nap�. nam�sto klasick�ho nslookupu). V neposledn� �ad� je zde je�t� knihovna, kter� umo��uje programovat DNS klienty jednodu���m zp�sobem, ne� jak� nab�z� standardn� resolver.
N�vod jak nainstalovat djbdns.
www.owebu.cz
www.fi.muni.cz/~xbatko
cs.wikipedi.org
archiv P090
www.earchiv.cz
www.abclinuxu.cz
linux.tosovsky.info
www.isc.org