DNS HOWTO Autor: Nicolai Langfeldt janl@math.uio.no v2.0.6, 22 Lipca 1998 WWeerrssjjaa ppoollsskkaa:: LLeesszzeekk UUrrbbaa��sskkii ttyyggrryyss@@ffiiddoonneett..oorrgg..ppll v2.1, 4 Sierpnia 1998 Jak zosta� ma�oetatowym administratorem DNS. Dokument ten zosta� napisany w standardzie ISO-8859-2. Orygina� tego dokumentu znajduje si� pod adresem ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/. ______________________________________________________________________ Table of Contents: 1. Preambu�a 1.1. Legalno�� 1.2. Osoby pracuj�ce nad tym dokumentem; pro�ba o pomoc 1.3. Dedykacja 2. Wprowadzenie 3. Serwer nazw z pami�ci� podr�czn� (cache) 3.1. Uruchamianie named 4. (EM 4.1. Ale najpierw troch� czystej teorii 4.2. W�asna domena 4.3. Strefa odwrotna 5. Prawdziwa domena 5.1. /etc/named.conf (lub /var/named/named.conf) 5.2. /var/named/root.hints 5.3. /var/named/zone/127.0.0 5.4. /var/named/zone/land-5.com 5.5. /var/named/zone/206.6.177 6. Nadz�r 7. Przej�cie z wersji 4 na wersj� 8 8. FAQ 9. Jak zosta� pe�noetatowym administratorem DNS 10. Od t�umacza ______________________________________________________________________ 11.. PPrreeaammbbuu��aa S�owa kluczowe: DNS, bind, bind-4, bind-8, named, dialup, ppp, slip, isdn, Internet, domain, name, hosts, resolving 11..11.. LLeeggaallnnoo���� (C)opyright 1995 Nicolai Langfeldt. Nie zmienia� bez zachowania praw autorskich. Dokument ten mo�e by� dowolnie rozpowszechniany dot�d, dok�d zostanie zachowana wiadomo�� o prawach autorskich. 11..22.. OOssoobbyy pprraaccuujj��ccee nnaadd ttyymm ddookkuummeenntteemm;; pprroo��bbaa oo ppoommoocc Chcia�bym podzi�kowa� Arntowi Gulbrandsenowi, kt�ry przeczyta� szkice tej pracy niezliczon� ilo�� razy i dostarczy� wielu przydatnych sugestii. Chc� te� podzi�kowa� ludziom, kt�rzy wysy�ali mi e-mailem sugestie i uwagi. Ten dokument nigdy nie b�dzie uko�czony - wysy�aj mi listy o twoich problemach i sukcesach, mo�e to sprawi�, �e HOWTO b�dzie dok�adniejsze. Pieni�dze, komentarze i/lub pytania mo�esz wysy�a� do janl@math.uio.no. Je�eli wy�lesz mi e-mail i b�dziesz ��da� odpowiedzi, _u_p_e_w_n_i_j _s_i_�, �e adres zwrotny jest poprawny i dzia�aj�cy. PPrroosszz��, przeczytaj sekcj� ``FAQ'' przed wys�aniem do mnie listu. Je�i chcesz przet�umaczy� to HOWTO, zawiadom mnie, abym m�g� �ledzi�, w jakich j�zykach zosta�em opublikowany, mog� te� zawiadamia� ci�, kiedy HOWTO b�dzie uaktualniane. 11..33.. DDeeddyykkaaccjjaa To HOWTO jest dedykuj� dla Anne Line Norheim Langfeldt. Zreszt� pewnie nigdy tego nie przeczyta, bo nie jest tego rodzaju dziewczyn�. 22.. WWpprroowwaaddzzeenniiee CCzzyymm tteenn ddookkuummeenntt jjeesstt,, aa cczzyymm nniiee.. Dla pocz�tkuj�cych: DNS to System Nazw Domen (Domain Name System). DNS przekszta�ca nazwy maszyn na numery IP, kt�re s� ich adresami, mapuje z nazwy na adres i odwrotnie. To HOWTO opisuje, jak zdefiniowa� takie mapowanie u�ywaj�c systemu Linux. Mapowanie to po prostu zwi�zek jednej rzeczy z drug�, w tym przypadku nazwy maszyny, jak ftp.linux.org i jej adresu IP, 199.249.150.4. DNS jest dla pocz�tkuj�cych (ciebie ;-)) jednym z najtrudniejszych zagadnie� administracji sieci. To HOWTO wyja�nia par� rzeczy - opisuje jak postawi� _p_r_o_s_t_y serwer nazw DNS, zaczynaj�c z serwerem cache i przechodz�c do ustawiania podstawowego (primary) serwera DNS dla domeny. �eby uzyska� informacj� o bardziej z�o�nonych konfiguracjach, zobacz sekcj� ``FAQ'' tego dokumentu. Je�eli i tam nie znajdziesz potrzebnego opisu, bedziesz musia� _p_r_z_e_c_z_y_t_a_� Prawdziw� Dokumentacj�. Powr�c� do jej sk�adnik�w w ``ostatnim rodziale''. Zanim zaczniesz, powiniene� tak skonfigurowa� swoj� maszyn�, �eby� m�g� telnetowa� si� na ni� i z niej, oraz z powodzeniem przeprowadzi� wszystkie rodzaje po��cze� z sieci�, a zw�aszcza m�c wykona� telnet 127.0.0.1 i uzyska� po��czenie z w�asnym komputerem (przetestuj to teraz!). Potrzebne b�d� te� poprawne: /etc/nsswitch.conf (lub /etc/host.conf), /etc/resolv.conf i /etc/hosts, jako punkt startowy, poniewa� nie b�d� wyja�nia� tu ich funkcji. Je�li nie masz tego wszystkiego ustawionego i dzia�aj�cego, NET-3 HOWTO i/lub PPP-HOWTO wyja�niaj� jak to ustawi�. Przeczytaj je. Kiedy m�wi� ,,twoja maszyna'', mam na my�li komputer, na kt�rym chcesz ustawi� DNS, a nie �adn� inn� maszyn�, jak� mo�esz mie�, kt�ra jest zwi�zana z twoj� sieci�. Przyjmuj�, �e nie jeste� za �adnym rodzajem �ciany ognia (firewall), kt�ra blokuje zapytania (queries) o nazwy. Je�eli jeste�, b�dziesz potrzebowa� specjalnej konfiguracji, przeczytaj sekcj� ``FAQ''. Serwerem nazw w Unixie jest program nazywany named. Jest on cz�ci� pakietu bind, kt�ry jest koordynowana przez Paula Vixie z Internet Software Consortium. Named jest za��czony w wi�kszo�ci dystrybucji Linuxa i zazwyczaj zainstalowany jako /usr/sbin/named. Je�eli masz ju� named, mo�esz go prawdopodobnie u�ywa�; je�li nie, mo�esz wzi�� binaria z jakiego� Linuxowego serwera ftp, lub najnowsze i najlepsze �r�d�a z ftp.isc.org/isc/bind/src/cur/bind-8/. To HOWTO opisuje wersj� 8 bind'a. Stara wersja tego HOWTO (o bind 4) jest dost�pna na http://www.math.uio.no/~janl/DNS/. Je�eli strona man named'a m�wi o named.conf masz bind'a 8, a je�eli o named.boot, bind 4. Je�li masz 4 i obchodzi ci� bezpiecze�stwo, naprawd� powiniene� dokona� rozszerzenia do nowego 8. DNS to baza danych szeroka jak sama sie�. Uwa�aj, co do niej wk�adasz. Je�eli w�o�ysz do niej �mieci, ty i inni wyjm� tak�e �mieci. Je�eli utrzymasz sw�j DNS w czysto�ci i ci�g�o�ci, b�dzie ci dobrze s�u�y�. Naucz si� go u�ywa�, administrowa� i znajdowa� b��dy, a zostaniesz kolejnym dobrym administratorem, utrzymuj�cym sie� przed upadni�ciem na kolana z powodu prze�adowania niedobrym zarz�dzaniem. W tym dokumencie napisa�em par� wyja�nie�, kt�re nie s� ca�kowicie prawdziwe (jednak�e s� przynajmniej w po�owie prawd�). Wszystko w interesie uproszczenia. Wszystko b�dzie (prawdopodobnie ;-)) dzia�a�, je�eli uwierzysz w to, co m�wi�. PPooddppoowwiieedd��:: Zr�b kopie zapasowe wszystkich plik�w, kt�re b�dziesz zmienia�, �eby� m�g� wr�ci� do starej, dzia�aj�cej konfiguracji, je�eli nic si� nie powiedzie. 33.. SSeerrwweerr nnaazzww zz ppaammii��ccii�� ppooddrr��cczznn�� ((ccaacchhee)) PPiieerrwwsszzyy kkrrookk ww kkoonnffiigguurroowwaanniiuu DDNNSS''uu,, bbaarrddzzoo pprrzzyyddaattnnyy ddllaa kkoorrzzyyssttaajj��ccyycchh zz mmooddeemmuu.. Serwer z pami�ci� podr�czn� b�dzie szuka� odpowiedzi na zapytania o nazwy i pami�ta� odpowied�, �eby� m�g� jej u�y� nast�pnym razem, kiedy b�dziesz jej potrzebowa�. To skr�ci czas oczekiwania za drugim razem kiedy b�dziesz potrzebowa� nazwy, zw�aszcza je�eli korzystasz z wolnego po��czenia. Po pierwsze, potrzebujesz pliku /etc/named.conf. Jest on czytany, kiedy named zostaje uruchamiany. Narazie powinien po prostu zawiera�: ______________________________________________________________________ // Plik konfiguracyjny dla serwera nazw ,,caching'' options { directory "/var/named"; // Odkomentowanie tego mo�e pom�c, je�eli musisz przej�� przez // �cian� ognia (firewall), a co� nie dzia�a: // query-source address * port 53; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; ______________________________________________________________________ Linia directory m�wi named'owi, gdzie szuka� plik�w. Wszystkie pliki w podkatalogach b�d� odpowiada�y tej zmiennej. A wi�c pz jest podkatalogiem w /var/named, czyli /var/named/pz. /var/named to odpowiedni katalog, zgodnie z _L_i_n_u_x _F_i_l_e _s_y_s_t_e_m _S_t_a_n_d_a_r_d. Plik o nazwie /var/named/root.hints jest zdefiniowany w named.conf. Powinien on zawiera� nast�puj�ce rekordy: ______________________________________________________________________ \&. 6D IN NS G.ROOT-SERVERS.NET. \&. 6D IN NS J.ROOT-SERVERS.NET. \&. 6D IN NS K.ROOT-SERVERS.NET. \&. 6D IN NS L.ROOT-SERVERS.NET. \&. 6D IN NS M.ROOT-SERVERS.NET. \&. 6D IN NS A.ROOT-SERVERS.NET. \&. 6D IN NS H.ROOT-SERVERS.NET. \&. 6D IN NS B.ROOT-SERVERS.NET. \&. 6D IN NS C.ROOT-SERVERS.NET. \&. 6D IN NS D.ROOT-SERVERS.NET. \&. 6D IN NS E.ROOT-SERVERS.NET. \&. 6D IN NS I.ROOT-SERVERS.NET. \&. 6D IN NS F.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241 ______________________________________________________________________ BBAARRDDZZOO WWAA��NNEE:: W niekt�rych wersjach tego dokumentu zawarto�� powy�szego pliku b�dzie posiada� kilka spacji albo tab przed pierwszym wype�nionym (non blank) znakiem. Nie powinny si� one znale�� w pliku. SSkkaassuujj kkaa��dd�� ppoopprrzzeeddzzaajj��cc�� ssppaaccjj�� w plikach, kt�re wycinasz i wklejasz z tego HOWTO. PPaammii��ttaajj,, ccoo ppoowwiieeddzziiaa��eemm oo ppoopprrzzeeddzzaajj��ccyycchh ssppaaccjjaacchh!! Plik opisuje g��wne serwery (root servers) na �wiecie. Dane zmieniaj� si� z biegiem czasu i _m_u_s_z_� by� nadzorowane. Przeczytaj ``sekcj� o nadzorze'', �eby uzyska� informacje o uaktualnianiu serwera. Nast�pna linia w named.conf to linia primary. Wyja�ni� jej funkcj� w nast�pnym rozdziale, a teraz tylko utw�rz plik 127.0.0 w podkatalogu pz: ______________________________________________________________________ @ IN SOA linux.bogus. hostmaster.linux.bogus. ( 1 ; Numer seryjny 8H ; Od�wie�enie 2H ; Powt�rzenie 1W ; Przedawnienie 1D) ; Minimalny TTL NS ns.linux.bogus. 1 PTR localhost. ______________________________________________________________________ Nast�pnie, potrzebujesz pliku /etc/resolv.conf, wygl�daj�cego nast�puj�co: ______________________________________________________________________ search poddomena.twoja-domena.edu twoja-domena.edu nameserver 127.0.0.1 ______________________________________________________________________ Linia ,,search'' ustala, kt�re domeny powinny by� przeszukane dla jakichkolwiek nazw w�z��w, z jakimi chcesz si� po��czy�. Linia nameserver definiuje adres twojego serwera nazw, w tym przypadku twoj� w�asn� maszyn�, poniewa� tu pracuje named (127.0.0.1 wystarczy, nie ma znaczenia, czy tw�j komputer ma inny adres). Je�li chcesz wyznaczy� kilka serwer�w nazw, wstaw oddzieln� lini� ,,nameserver'' dla ka�dego. (Zauwa�: Named nigdy nie czyta tego pliku, robi to resolver, kt�ry u�ywa named.) �eby zilustrowa�, co ten plik robi: Je�li klient pr�buje znale�� foo, wtedy jako pierwsze pr�bowane jest foo.poddomena.twoja-domena.edu, potem foo.twoja-domena.edu, a w ko�cu foo. Je�eli klient pr�buje szuka� sunsite.unc.edu, najpierw pr�bowane jest sunsite.unc.edu.poddomena.twoja-domena.edu (tak, to jest g�upie, ale w ten spos�b dzia�a), potem sunsite.unc.edu.twoja-domena.edu, a w ko�cu sunsite.unc.edu. Nie wpisuj za wielu domen w linii search, poniewa� zabiera to troch� czasu, �eby je wszystkie przeszuka�. Przyk�ad przyjmuje, �e nale�ysz do domeny poddomena.twoja-domena.edu, tw�j komputer jest wtedy prawdopodownie nazwany tw�j- komputer.poddomena.twoja-domena.edu. Linia search nie powinna zawiera� twojej TLD (Top Level Domain, Domena Najwy�szego Poziomu, w tym przypadku edu). Je�eli cz�sto ��czysz si� z w�z�ami w innej domenie, mo�esz doda� t� domen� do linii search w ten spos�b: ______________________________________________________________________ search poddomena.twoja-domena.edu twoja-domena.edu inna-domena.com ______________________________________________________________________ i tak dalej. Oczywi�cie musisz wpisa� prawdziwe nazwy domen zamiast podanych. Zauwa� brak kropek na ko�cach nazw domen. Nast�pnie, zale�nie od twojej wersji libc, musisz poprawia� albo /etc/nsswitch.conf, albo /etc/host.conf. Je�eli ju� masz nsswitch.conf, b�dziemy poprawia� w�a�nie ten plik, a je�li nie, host.conf. (NAPRAWD� zalecam poprawianie hhoosstt..ccoonnff we wszystkich systemach, w kt�rych istnieje, np. u mnie jest i jeden i drugi - przyp. t�um.) //eettcc//nnsssswwiittcchh..ccoonnff Jest to d�ugi plik, kt�ry ustala, sk�d wzi�� r�ne rodzaje typ�w danych, z jakiego pliku lub bazy. Zazwyczaj zawiera on na g�rze pomocne komentarze, kt�re powiniene� teraz przeczyta�. Potem znajd� lini� zaczynaj�c� si� na ,,hosts:'' - powinna zawiera�: ______________________________________________________________________ hosts: files dns ______________________________________________________________________ Je�eli nie ma linii zaczynaj�cej si� na ,,hosts:'', wpisz powy�sz�. M�wi, �e programy powinny najpierw spojrze� do pliku /etc/hosts, potem sprawdzi� DNS zgodnie z resolv.conf. //eettcc//hhoosstt..ccoonnff Prawdopodobnie zawiera kilka linii, jedna powinna zaczyna� si� na order i wygl�da� nast�puj�co: ______________________________________________________________________ order hosts,bind ______________________________________________________________________ Je�eli nie ma linii ,,order'' powiniene� j� dopisa�. M�wi ona procedurom szukaj�cym nazw, �eby najpierw zajrze� do /etc/hosts, a potem spyta� serwer nazw (kt�ry ustali�e� w pliku resolv.conf jako 127.0.0.1). Te dwa pliki s� om�wione w podr�czniku man resolv(8) (wykonaj polecenie ,,man 8 resolv'') w wi�kszo�ci dystrybucji Linuxa. Ta strona man jest wed�ug mnie ca�kiem mo�liwa do zrozumienia, a ka�dy, zw�aszcza administratorzy DNS, powinni j� przeczyta�. Zr�b to teraz - je�eli powiesz sobie ,,p�niej'', nigdy nie b�dziesz mia� okazji ich przeczyta�. 33..11.. UUrruucchhaammiiaanniiee nnaammeedd Po tym wszystkim nadszed� czas, aby uruchomi� named. Je�eli u�ywasz po��czenia modemowego, po��cz si� najpierw. Wpisz ,,ndc start'', bez opcji, i naci�nij enter. Je�eli to nie dzia�a, spr�buj ,,/usr/sbin/ndc start''. Je�li to te� nie dzia�a, zobacz sekcj� ``FAQ''. Teraz mo�esz przetestowa� swoj� konfiguracj�. Je�eli obejrzysz plik z komunikatami sysloga (zazwyczaj /var/adm/messages, inny katalog w kt�rym mo�na ich szuka� to /var/log, inn� nazw� pliku jest syslog) kiedy uruchamiasz named (wykonaj tail -f /var/log/messages), powiniene� ujrze� co� takiego: (linie ko�cz�ce si� na s� kontynuowane w nast�pnej linii) Feb 15 01:26:17 roke named[6091]: starting. named 8.1.1 Sat Feb 14 \ 00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0) Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \ (IN) loaded (serial 1) Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo) Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0) Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040 Feb 15 01:26:17 roke named[6092]: Ready to answer queries. Je�eli pojawi� si� jakie� komunikaty o b��dach, pope�ni�e� jaki�. Named powie, w kt�rym pliku jest b��d (mam nadziej�, �e jest to named.conf albo root.hints :-)). Zabij named i sprawd� plik. (jest te� bardziej ,,humanitarny'' :-) od zabijania spos�b - napisz ,,ndc stop'', odczekaj d�u�sz� chwil� i nameserver zostanie wy��czony - przyp. t�um.) Teraz uruchom nslookup, �eby sprawdzi� twoje rob�tki r�czne. $ nslookup Default Server: localhost Address: 127.0.0.1 > Je�eli otrzyma�e� takie co�, to znaczy, �e dzia�a. Miejmy nadziej�. Je�li co innego, sprawd� wszystko od pocz�tku. Za ka�dym razem, kiedy zmienisz plik named.conf musisz ponownie uruchomi� named komend� ndc restart. Teraz mo�esz wprowadzi� zapytanie. Spr�buj poszuka� jakiego� komputera blisko ciebie. pat.uio.no jest blisko mnie, na Uniwersytecie w Oslo: > pat.uio.no Server: localhost Address: 127.0.0.1 Name: pat.uio.no Address: 129.240.130.16 Nslookup poprosi� twojego named'a o poszukanie maszyny pat.uio.no. Po��czy� si� wtedy z jednym z serwer�w nazw w twoim pliku root.hints i zapyta� stamt�d o drog�. Mo�e to zaj�� troszeczk� czasu, zanim otrzymasz wynik, poniewa� szuka we wszystkich domenach, kt�re wymieni�e� w /etc/resolv.conf. Je�eli zapytasz znowu o to samo, otrzymasz co� takiego: > pat.uio.no Server: localhost Address: 127.0.0.1 Non-authoritative answer: Name: pat.uio.no Address: 129.240.2.50 Zwr�� uwag� na lini� ,,Non-authoritative answer:'', kt�ra pojawi�a si� tym razem. Znaczy to, �e named nie szuka� nazwy w sieci, tylko popatrzy� w swojej pami�ci podr�cznej i tam j� znalaz�. Ale informacja z pami�ci podr�cznej _m_o_�_e by� przedawniona. Zostajesz wi�c poinformowany o tym (bardzo niewielkim) niebezpiecze�stwie, poprzez komunikat ,,Non-authorative answer:''. Kiedy nslookup m�wi to za drugim razem, kiedy pytasz o komputer, jest to pewny znak, �e named zapami�tuje informacje i dzia�a. Mo�esz wyj�� z nslookup wydaj�c komend� exit. Teraz ju� wiesz, jak postawi� przyspieszaj�cy (caching) named. Wypij piwo, mleko, lub cokolwiek innego, �eby to uczci�. 44.. _P_r_o_s_t_a ddoommeennaa JJaakk sskkoonnffiigguurroowwaa�� ww��aassnn�� ddoommeenn��.. 44..11.. AAllee nnaajjppiieerrww ttrroocchh�� cczzyysstteejj tteeoorriiii Zanim _n_a_p_r_a_w_d_� zaczniemy ten rozdzia�, zamierzam poda� ci troch� teorii o dzia�aniu DNSu. A ty to przeczytasz, poniewa� jest to przydatne. Je�li nie chcesz, powiniene� przynajmniej przej�� przez to bardzo szybko. Przesta� przegl�da�, kiedy dojdziesz do opisu, m�wi�cego co powiniene� wstawi� do pliku named.conf. DNS to system hierarchiczny. Najwy�sza pozycja to ,,.'', nazywa si� ,,root''. Pod . istnieje kilka Domen Najwy�szego Poziomu (Top Level Doamins, TLD), najpopularniejsze to ORG, COM, EDU i NET, ale jest jeszcze wiele innych. (np. MIL, GOV, ART, NOM, PRIV - przyp. t�um.) Kiedy poszukiwany jest komputer, zapytanie jest przeprowadzane rekursywnie, zgodnie z hierarchi�, pocz�wszy od g�ry. Je�eli chcesz znale�� adres komputera prep.ai.mit.edu, tw�j serwer nazw musi znale�� serwer obs�uguj�cy domen� edu. Pyta serwer . (zna ju� serwery . - po to jest plik root.hints), serwer . zwraca list� serwer�w edu: $ nslookup Default Server: localhost Address: 127.0.0.1 Zacznij pyta� server root: > server c.root-servers.net. Default Server: c.root-servers.net Address: 192.33.4.12 Ustaw typ zapytania na NS (rekordy serwer�w nazw): %gt; set q=ns Spytaj o edu: > edu. Ko�cowa kropka jest wymagana, m�wi serwerowi, �e edu jest pod . (to zaw�a obszar poszukiwa�). edu nameserver = A.ROOT-SERVERS.NET edu nameserver = H.ROOT-SERVERS.NET edu nameserver = B.ROOT-SERVERS.NET edu nameserver = C.ROOT-SERVERS.NET edu nameserver = D.ROOT-SERVERS.NET edu nameserver = E.ROOT-SERVERS.NET edu nameserver = I.ROOT-SERVERS.NET edu nameserver = F.ROOT-SERVERS.NET edu nameserver = G.ROOT-SERVERS.NET A.ROOT-SERVERS.NET internet address = 198.41.0.4 H.ROOT-SERVERS.NET internet address = 128.63.2.53 B.ROOT-SERVERS.NET internet address = 128.9.0.107 C.ROOT-SERVERS.NET internet address = 192.33.4.12 D.ROOT-SERVERS.NET internet address = 128.8.10.90 E.ROOT-SERVERS.NET internet address = 192.203.230.10 I.ROOT-SERVERS.NET internet address = 192.36.148.17 F.ROOT-SERVERS.NET internet address = 192.5.5.241 G.ROOT-SERVERS.NET internet address = 192.112.36.4 Wynik m�wi nam, �e *.root-servers.net podaje edu., mo�emy wi�c dalej pyta� c. Teraz chcemy wiedzie�, kto obs�uguje nast�pny poziom nazwy domeny: mit.edu.: > mit.edu. Server: c.root-servers.net Address: 192.33.4.12 Non-authoritative answer: mit.edu nameserver = W20NS.mit.edu mit.edu nameserver = BITSY.mit.edu mit.edu nameserver = STRAWB.mit.edu Authoritative answers can be found from: W20NS.mit.edu internet address = 18.70.0.160 BITSY.mit.edu internet address = 18.72.0.3 STRAWB.mit.edu internet address = 18.71.0.151 STRAWB, W20NS i BITSY obs�uguj� mit, wybierz jeden i pytaj o ai.mit.edu: > server W20NS.mit.edu. Serwery nazw nie rozr�niaj� wielko�ci liter, ale u�ywam myszki do wycinania i wklejania, wi�c kopiuje wynik prosto z ekranu. Server: W20NS.mit.edu Address: 18.70.0.160 > ai.mit.edu. Server: W20NS.mit.edu Address: 18.70.0.160 Non-authoritative answer: ai.mit.edu nameserver = ALPHA-BITS.AI.MIT.EDU ai.mit.edu nameserver = GRAPE-NUTS.AI.MIT.EDU ai.mit.edu nameserver = TRIX.AI.MIT.EDU ai.mit.edu nameserver = MUESLI.AI.MIT.EDU ai.mit.edu nameserver = LIFE.AI.MIT.EDU ai.mit.edu nameserver = BEET-CHEX.AI.MIT.EDU ai.mit.edu nameserver = MINI-WHEATS.AI.MIT.EDU ai.mit.edu nameserver = COUNT-CHOCULA.AI.MIT.EDU ai.mit.edu nameserver = MINTAKA.LCS.MIT.EDU Authoritative answers can be found from: AI.MIT.EDU nameserver = ALPHA-BITS.AI.MIT.EDU AI.MIT.EDU nameserver = GRAPE-NUTS.AI.MIT.EDU AI.MIT.EDU nameserver = TRIX.AI.MIT.EDU AI.MIT.EDU nameserver = MUESLI.AI.MIT.EDU AI.MIT.EDU nameserver = LIFE.AI.MIT.EDU AI.MIT.EDU nameserver = BEET-CHEX.AI.MIT.EDU AI.MIT.EDU nameserver = MINI-WHEATS.AI.MIT.EDU AI.MIT.EDU nameserver = COUNT-CHOCULA.AI.MIT.EDU AI.MIT.EDU nameserver = MINTAKA.LCS.MIT.EDU ALPHA-BITS.AI.MIT.EDU internet address = 128.52.32.5 GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.36.4 TRIX.AI.MIT.EDU internet address = 128.52.37.6 MUESLI.AI.MIT.EDU internet address = 128.52.39.7 LIFE.AI.MIT.EDU internet address = 128.52.32.80 BEET-CHEX.AI.MIT.EDU internet address = 128.52.32.22 MINI-WHEATS.AI.MIT.EDU internet address = 128.52.54.11 COUNT-CHOCULA.AI.MIT.EDU internet address = 128.52.38.22 MINTAKA.LCS.MIT.EDU internet address = 18.26.0.36 A wi�c muesli.ai mit.edu jest serwerem nazw dla ai.mit.edu: > server MUESLI.AI.MIT.EDU Default Server: MUESLI.AI.MIT.EDU Address: 128.52.39.7 Teraz zmieniamy typ zapytania - znale�li�my serwer nazw, wi�c teraz zapytajmy go o wszystko, co wie o prep.ai.mit.edu. > set q=any > prep.ai.mit.edu. Server: MUESLI.AI.MIT.EDU Address: 128.52.39.7 prep.ai.mit.edu CPU = dec/decstation-5000.25 OS = unix prep.ai.mit.edu inet address = 18.159.0.42, protocol = tcp ftp telnet smtp finger prep.ai.mit.edu preference = 1, mail exchanger = gnu-life.ai.mit.edu prep.ai.mit.edu internet address = 18.159.0.42 ai.mit.edu nameserver = beet-chex.ai.mit.edu ai.mit.edu nameserver = alpha-bits.ai.mit.edu ai.mit.edu nameserver = mini-wheats.ai.mit.edu ai.mit.edu nameserver = trix.ai.mit.edu ai.mit.edu nameserver = muesli.ai.mit.edu ai.mit.edu nameserver = count-chocula.ai.mit.edu ai.mit.edu nameserver = mintaka.lcs.mit.edu ai.mit.edu nameserver = life.ai.mit.edu gnu-life.ai.mit.edu internet address = 128.52.32.60 beet-chex.ai.mit.edu internet address = 128.52.32.22 alpha-bits.ai.mit.edu internet address = 128.52.32.5 mini-wheats.ai.mit.edu internet address = 128.52.54.11 trix.ai.mit.edu internet address = 128.52.37.6 muesli.ai.mit.edu internet address = 128.52.39.7 count-chocula.ai.mit.edu internet address = 128.52.38.22 mintaka.lcs.mit.edu internet address = 18.26.0.36 life.ai.mit.edu internet address = 128.52.32.80 Zaczynaj�c od ., znale�li�my sukcesywne serwery nazw dla nast�pnych poziom�w w nazwie domeny. Je�eli u�ywa�by� w�asnego serwera DNS zamiast wszystkich innych, tw�j named zapisa�by wszystkie informacje w czasie poszukiwa�, nie musia�by� wi�c znowu ich pyta� przez jaki� czas. O wiele mniej m�wi si� o, tak samo wa�nej domenie in-addr.arpa. Jest ona te� podzielona jak normalne domeny. in-addr.arpa pozwala otrzymywa� nazwy maszyn kiedy posiadamy ich adresy. Wa�ne: numery IP w domenie in-addr.arpa s� pisane w odwrotnej kolejno�ci. Je�eli adres maszyny to 192.128.52.43, named poszukuje tak, jak dla przyk�adu z prep.ai.mit.edu: znale�� serwery arpa.. Znale�� seerwery in- addr.arpa., znale�� serwery 192.in-addr.arpa., znale�� serwery 128.192.in-addr.arpa., znale�� serwery 52.128.192.in-addr.arpa.. Znale�� potrzebne rekordy dla 43.52.128.192.in-addr.arpa.. Sprytne, no nie? (Powiedz ,,tak''.) Odwracanie numer�w IP mo�e sprawia� k�opoty przez pierwsze dwa lata. W�a�nie sk�ama�em. DNS nie dzia�a dok�adnie tak jak przedstawi�em. Ale by�em wystarczaj�co blisko. 44..22.. WW��aassnnaa ddoommeennaa Teraz zdefiniujemy nasz� w�asn� domen�. Nazwijmy j� _l_i_n_u_x_._b_o_g_u_s (,,bogus'', to po angielsku co� fa�szywego, bzdurnego - przyp. t�um.) i zdefiniujemy w niej maszyny. U�ywam ca�kowicie bzdurnej (bogus) nazwy domeny, �eby upeni� si�, �e nie przeszkadzamy nikomu Gdzie� Tam. Jeszcze jedna rzecz zanim zaczniemy: Nie wszystkie znaki mog� wchodzi� w sk�ad nazw komputer�w. Jeste�my ograniczeni do znak�w angielskiego alfabetu, tzn. a-z, numer�w 0-9 i znaku ,,-'' (��cznika). Trzymajmy si� tych znak�w. Wielkie i ma�e litery nie s� rozr�niane przez DNS, a wi�c pat.uio.no jest identyczne z Pat.UiO.No. Ju� zaczeli�my cz�� z lini� 0.0.127 w pliku named.conf: ______________________________________________________________________ zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; ______________________________________________________________________ Zauwa� brak kropki na ko�cu nazw domen w tym pliku - definiujemy stref� 0.0.127.in-addr.arpa, �e jeste�my g��wnym jej serwerem i jest zapisana w pliku pz/127.0.0. Mamy ju� ten plik, zawiera on: ______________________________________________________________________ @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 1W ; Expire 1D) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost. ______________________________________________________________________ Zauwa� znak ,,.'' na ko�cu wszystkich pe�nych nazw domen w tym pliku, kontrastuje to z plikiem named.conf powy�ej. Niekt�rzy ludzie lubi� rozpocz�� ka�d� stref� z dyrektyw� $ORIGIN, ale to ju� ekstrawagancja. Origin (pochodzenie - gdzie znajduje si� w hierarchii DNS), pliku strefy jest zdefiniowany w linii strefy w pliku named.conf, w tym przypadku 0.0.127.in-addr.arpa. Ten ,,plik strefy'' zawiera 3 ,,rekordy zasob�w'' (resource records, RR): RR SOA, RR NS i RR PTR. SOA to skr�t od Start of Authority. Znak ,,@'' jest specjaln� notacj� znacz�c� pochodzenie (origin), a je�eli kolumna domeny dla tego pliku to ,,0.0.127.in-addr.arpa'', pierwsza linia tak naprawd� znaczy 0.0.127.in-addr.arpa. IN SOA ... NS to RR Name Server - rekord serwera nazw. _N_i_e _j_e_s_t potrzebne ,,@'' na ko�cu tej linii, poniewa� ostatnia linia zacz�a sie na ,,@''. Oszcz�dza to troch� pisania. A wi�c linia NS tak naprawd� znaczy 0.0.127.in-addr.arpa. IN NS ns.linux.bogus M�wi DNS'owi, kt�ra maszyna jest serwerem nazw domeny 0.0.127.in- addr.arpa - jest to ns.linux.bogus. ,,ns'' to zazwyczaj stosowana nazwa serwera nazw, ale skoro serwery www s� nazywane www._c_o_�_t_a_m, nazw� mo�e by� cokolwiek. I w ko�cu rekord PTR. M�wi, �e komputer o adresie 1 w podsieci 0.0.127.in-addr.arpa, np. 127.0.0.1, nazywa si� localhost. Rekord SOA jest pocz�tkiem _w_s_z_y_s_t_k_i_c_h plik�w stref. W ka�dym pliku musi by� dok�adnie jeden, jako pierwszy rekord. Opisuje stref�, z kt�rej pochodzi (z maszyny nazwanej ns.linux.bogus), osob�, kt�ra jest za ni� odpowiedzialna (hostmaster@linux.bogus), wersj� pliku strefy (numer seryjny: 1) i inne rzeczy maj�ce zwi�zek z zapami�tywaniem (caching) i drugorz�dnymi (secondary) serwerami DNS. Dla reszty p�l: od�wie�enia, powt�rzenia, przedawnienia i minimalnego TTL u�ycie warto�ci podanych w tym HOWTO powinno by� bezpieczne. Teraz uruchom ponownie named'a (komend� ndc restart) i u�yj nslookup, �eby sprawdzi�, co zrobi�e�: $ nslookup Default Server: localhost Address: 127.0.0.1 > 127.0.0.1 Server: localhost Address: 127.0.0.1 Name: localhost Address: 127.0.0.1 a wi�c udaje mu si� otrzyma� localhost ze 127.0.0.1, to dobrze. Teraz nasze g��wne zadanie, domena linux.bogus. Wstaw now� sekcj� ,,zone'' w pliku named.conf: ______________________________________________________________________ zone "linux.bogus" { notify no; type master; file "pz/linux.bogus"; }; ______________________________________________________________________ Zauwa� dalszy brak ko�cz�cej kropki w nazwie domeny w pliku named.conf. W pliku strefy linux.bogus umie�cimy pewne ca�kowicie bzdurne (bogus) dane: ______________________________________________________________________ ; ; Plik strefy dla linux.bogus ; ; Pe�ny plik strefy ; @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; numer seryjny, dzisiejsza data i numer zmiany 8H ; od�wie�anie, w sekundach 2H ; powt�rzenie, w sekundach 1W ; przedawnienie, w sekundach 1D ) ; minimum, w sekundach ; NS ns ; Adres Internetowy serwera nazw MX 10 mail.linux.bogus ; Podstawowy serwer poczty MX 20 mail.friend.bogus. ; Drugorz�dny serwer poczty ; localhost A 127.0.0.1 ns A 192.168.196.2 mail A 192.168.196.4 ______________________________________________________________________ Nale�y zwr�ci� uwag� na dwie rzeczy w rekordzie SOA. ns.linux.bogus _m_u_s_i by� prawdziw� maszyna z rekordem A. Nie jest dozwolone wpisaanie rekordu CNAME dla maszyny w rekordzie SOA. Jej nazw� nie musi by� ,,ns'', mo�e by� jak�kolwiek dozwolon� nazw� komputera. Po drugie, hostmaster.linux.bogus powinien by� odczytany jako hostmaster@linux.bogus, a powinien by� to alias pocztowy lub oddzielna skrzynka, gdzie osoba(y) nadzoruj�ce DNS powinny cz�sto czyta� poczt�. Jakikolwiek list w sprawie domeny b�dzie wys�any na adres podany w tej linii. Nazw� nie musi by� ,,hostmaster'', mo�e to by� jakikolwiek dozwolony adres e-mail, ale adres ,,hostmaster'' _b_�_d_z_i_e r�wnie� dzia�a�. Jest jeden nowy typ RR w tym pliku, MX czyli Mail eXchanger. M�wi systemom pocztowym gdzie wysy�a� poczt� zaadresowan� do kto�tam@linux.bogus, odpowiednio do mail.linux.bogus lub mail.friend.bogus. Liczba przed ka�d� nazw� maszyny oznacza priorytet MX'�w. RR z najmniejsz� liczb� (10) jest tym, do kt�rego poczta powinna by� wysy�ana najpierw. Je�eli to si� nie uda, mo�e by� wys�ana do serwera z wy�sz� liczb�, drugorz�dnego serwera poczty, np. mail.friend.bogus, kt�ry ma tu priorytet 20. Uruchom ponownie named, u�ywaj�c komendy ndc restart. Sprawd� wynik z nslookup: $ nslookup > set q=any > linux.bogus Server: localhost Address: 127.0.0.1 linux.bogus origin = ns.linux.bogus mail addr = hostmaster.linux.bogus serial = 199802151 refresh = 28800 (8 hours) retry = 7200 (2 hours) expire = 604800 (7 days) minimum ttl = 86400 (1 day) linux.bogus nameserver = ns.linux.bogus linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus linux.bogus preference = 20, mail exchanger = mail.friend.bogus linux.bogus nameserver = ns.linux.bogus ns.linux.bogus internet address = 192.168.196.2 mail.linux.bogus internet address = 192.168.196.4 Przy dok�adnym sprawdzaniu, odkryjesz b��d. Linia linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus jest niepoprawna. Powinno by� linux.bogus preference = 10, mail exchanger = mail.linux.bogus Specjalnie pope�ni�em b��d, �eby� m�g� si� z niego uczy� :-) Patrz�c na plik strefy zobaczymy, �e w linii MX 10 mail.linux.bogus ; Podstawowy serwer poczty brakuje kropki. Mo�na te� powiedzie�, �e ma o jeden cz�on ,,linux.bogus'' za du�o. Je�eli nazwa komputera nie ko�czy si� kropk� w pliku strefy, pochodzenie (origin) zostaje dodane do niej, powoduj�c podw�jny linux.bogus.linux.bogus. Wi�c piszemy albo ______________________________________________________________________ MX 10 mail.linux.bogus. ; Podstawowy serwer poczty ______________________________________________________________________ albo ______________________________________________________________________ MX 10 mail ; Podstawowy serwer poczty ______________________________________________________________________ Oba s� poprawne. Wol� ostatni� form�, mniej pisania. S� znani u�ytkownicy bind'a kt�rzy nie zgadzaj� si� z tym, s� te� tacy, kt�rzy zgadzaj� si� z t� regu��. W pliku strefy domena powinna b�d� to by� ca�kowita i zako�czona kropk�, b�d� to nie powinna by� wog�le za��czona, w tym przypadku zawiera domy�lne pochodzenie (origin). Musz� zaznaczy�, �e w pliku named.conf _n_i_e powinno by� kropek po nazwach domen. Nie masz poj�cia, jak cz�sto ludzie g�upieli i kl�li na czym �wiat stoi z powodu znaku ,,.''. A wi�c po wyja�nieniu mojej uwagi, mamy nowy plik strefy, zawieraj�cy troch� dodatkowych informacji: ______________________________________________________________________ ; ; Plik strefy dla linux.bogus ; ; Pe�ny plik strefy ; @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; numer seryjny, dzisiejsza data + numer zmiany 8H ; od�wie�anie, w sekundach 2H ; powt�rzenie, w sekundach 1W ; przedawnienie, w sekundach 1D ) ; minimum, w sekundach ; TXT "Linux.Bogus, twoi konsultanci DNS" NS ns ; Adresy Internetowe serwer�w nazw NS ns.friend.bogus. MX 10 mail ; Podstawowy MX MX 20 mail.friend.bogus. ; Drugorz�dny MX localhost A 127.0.0.1 gw A 192.168.196.1 HINFO "Cisco" "IOS" TXT "Router" ns A 192.168.196.2 MX 10 mail MX 20 mail.friend.bogus. HINFO "Pentium" "Linux 2.0" www CNAME ns donald A 192.168.196.3 MX 10 mail MX 20 mail.friend.bogus. HINFO "i486" "Linux 2.0" TXT "DEK" mail A 192.168.196.4 MX 10 mail MX 20 mail.friend.bogus. HINFO "386sx" "Linux 1.2" ftp A 192.168.196.5 MX 10 mail MX 20 mail.friend.bogus. HINFO "P6" "Linux 2.1.86" ______________________________________________________________________ Jest tu kilka nowych RR'�w: HINFO (Host INFOrmation) ma dwie cz�ci, dobrym zwyczajem jest branie ka�dej w cudzys�owy. Pierwsza cz�� okre�la nazw� sprz�tow� lub procesor komputera, a druga oprogramowanie lub system operacyjny. Maszyna nazwana ,,ns'' ma procesor Pentium i Linuxa 2.0. CNAME (Canonical NAME) jest sposobem nadawania ka�dej maszynie kilku nazw. Www jest wi�c aliasem ns. U�ywanie rekord�w CNAME jest troch� kontrowesyjne. Ale bezpiecznie jest przestrzega� zasady, �e rekordy MX, CNAME lub SOA _n_i_g_d_y nie powinny odnosi� si� do rekordu CNAME, powinny odnosi� si� do czego� z rekordem A, wi�c �le jest ______________________________________________________________________ foobar CNAME www ; NIE! ______________________________________________________________________ ale poprawnie ______________________________________________________________________ foobar CNAME ns ; Tak! ______________________________________________________________________ Jest te� bezpiecznie przyj��, �e CNAME nie jest dozwolon� nazw� komputera dla adresu e-mail: webmaster@www.linux.bogus jest niedozwolonym adresem, je�eli przyj�� powy�sze ustawienia. Mo�esz si� spodziewa�, �e wielu admin�w Gdzie� Tam b�dzie wymaga�o tej zasady, nawet je�li to dzia�a u ciebie. Sposobem unikni�cia tego jest u�ywanie rekord�w A (i mo�e innych, takich jak MX) zamiast CNAME: ______________________________________________________________________ www A 192.168.196.2 ______________________________________________________________________ Kilku ,,czarodziej�w'' bind'a radzi, aby _n_i_e u�ywa� CNAME. Zastan�w si� wi�c nad tym _b_a_r_d_z_o powa�nie. Ale jak widzisz, to HOWTO i wiele serwer�w nie przestrzega tej zasady. Za�aduj now� baz� danych komend� ndc reload, sprawi to, �e named przeczyta ponownie swoje pliki. $ nslookup Default Server: localhost Address: 127.0.0.1 > ls -d linux.bogus Znaczy to, �e wszystkie rekordy powinny by� wymienione. Wy�wietli: [localhost] $ORIGIN linux.bogus. @ 1D IN SOA ns hostmaster ( 199802151 ; numer seryjny 8H ; od�wie�anie 2H ; powt�rzenie 1W ; przedawnienie 1D ) ; minimum 1D IN NS ns 1D IN NS ns.friend.bogus. 1D IN TXT "Linux.Bogus, twoi konsultanci DNS" 1D IN MX 10 mail 1D IN MX 20 mail.friend.bogus. gw 1D IN A 192.168.196.1 1D IN HINFO "Cisco" "IOS" 1D IN TXT "Router" mail 1D IN A 192.168.196.4 1D IN MX 10 mail 1D IN MX 20 mail.friend.bogus. 1D IN HINFO "386sx" "Linux 1.0.9" localhost 1D IN A 127.0.0.1 www 1D IN CNAME ns donald 1D IN A 192.168.196.3 1D IN MX 10 mail 1D IN MX 20 mail.friend.bogus. 1D IN HINFO "i486" "Linux 1.2" 1D IN TXT "DEK" ftp 1D IN A 192.168.196.5 1D IN MX 10 mail 1D IN MX 20 mail.friend.bogus. 1D IN HINFO "P6" "Linux 1.3.59" ns 1D IN A 192.168.196.2 1D IN MX 10 mail 1D IN MX 20 mail.friend.bogus. 1D IN HINFO "Pentium" "Linux 1.2" @ 1D IN SOA ns hostmaster ( 199802151 ; numer seryjny 8H ; od�wie�anie 2H ; powt�rzenie 1W ; przedawnienie 1D ) ; minimum To jest w porz�dku. Jak widzisz, wygl�da prawie jak plik strefy. Sprawd�my co powie o samym www: > set q=any > www.linux.bogus. Server: localhost Address: 127.0.0.1 www.linux.bogus canonical name = ns.linux.bogus linux.bogus nameserver = ns.linux.bogus linux.bogus nameserver = ns.friend.bogus ns.linux.bogus internet address = 192.168.196.2 Inaczej m�wi�c, prawdziwa nazwa www.linux.bogus to ns.linux.bogus. Daje ci to te� troch� informacji, kt�re ma o ns, wystarczj�co du�o, �eby si� z nim po��czy�, je�eli by�by� programem. Jeste�my w po�owie drogi. 44..33.. SSttrreeffaa ooddwwrroottnnaa Teraz programy mog� konwertowa� nazwy w linux.bogus na adresy, z kt�rymi mog� si� po��czy�. Ale potrzebna jest te� strefa odwrotna, kt�ra pozwala DNS'owi przekszta�ca� adresy na nazwy (FTP, IRC, WWW i inne), �eby zdecydowa�, czy chc� z tob� rozmawia�, czy nie, a je�eli tak, mo�e nawet zdecyduj� jaki priorytet powinien by� ci nadany. Strefa odwrotna jest wymagana dla pe�nego dost�pu do wszystkich us�ug Internetu. Wstaw nast�puj�ce linie w named.conf: ______________________________________________________________________ zone "196.168.192.in-addr.arpa" { notify no; type master; file "pz/192.168.196"; }; ______________________________________________________________________ Tak samo jak z 0.0.127.in-addr.arpa, zawarto�� tak�e jest podobna: ______________________________________________________________________ @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; Numer seryjny, data + numer 8H ; od�wie�anie 2H ; powtarzanie 1W ; przedawnienie 1D) ; minimalny TTL NS ns.linux.bogus. 1 PTR gw.linux.bogus. 2 PTR ns.linux.bogus. 3 PTR donald.linux.bogus. 4 PTR mail.linux.bogus. 5 PTR donald.linux.bogus. ______________________________________________________________________ Teraz uruchom ponownie named (ndc restart) i sprawd� swoj� prac� znowu korzystaj�c z nslookup: ______________________________________________________________________ > 192.168.196.4 Server: localhost Address: 127.0.0.1 Name: mail.linux.bogus Address: 192.168.196.4 ______________________________________________________________________ Wygl�da w porz�dku, spr�buj wy�wietli� wszystko, �eby to sprawdzi�: ______________________________________________________________________ > ls -d 196.168.192.in-addr.arpa [localhost] $ORIGIN 196.168.192.in-addr.arpa. @ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; serial 8H ; refresh 2H ; retry 1W ; expiry 1D ) ; minimum 1D IN NS ns.linux.bogus. 1 1D IN PTR gw.linux.bogus. 2 1D IN PTR ns.linux.bogus. 3 1D IN PTR donald.linux.bogus. 4 1D IN PTR mail.linux.bogus. 5 1D IN PTR donald.linux.bogus. @ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 199802151 ; numer seryjny 8H ; od�wie�anie 2H ; powtarzanie 1W ; przedawnienie 1D ) ; minimum ______________________________________________________________________ Wygl�da dobrze! Jest kilka rzeczy, kt�re powinienem tu doda�. Numery IP u�ywane w przyk�adach pochodz� z jednego z blok�w ,,sieci prywatnych'', tzn. nie wolno u�ywa� ich publicznie w internecie. S� bezpieczne do pokazania jako przyk�ad w HOWTO. Druga rzecz, to linia notify no;. M�wi named, �eby nie zawiadamia� serwera drugorz�dnego (secondary, slave), kiedy jeden z plik�w stref zostanie uaktualniony. W bind'dzie-8 named mo�e zawiadamia� inne serwery wymienione w rekordach NS w pliku strefy, kiedy strefa zostanie uaktualniona. Jest to przydatne do u�ytku zwyk�ego, ale dla prywatnych eksperyment�w ze strefami ta opcja powinna by� wy��czona, nie chcemy przecie� chyba, �eby nasz eksperyment za�mieca� Internet, czy� nie tak? No i oczywi�cie ta domena jest nieprawdziwa (bogus) i takie te� s� wszystkie adresy w niej. Zobacz nast�pny rozdzia� dla przyk�adu z prawdziw� domen�. 55.. PPrraawwddzziiwwaa ddoommeennaa TTuuttaajj ooppiissuujjeemmyy ttrroocchh�� _p_r_a_w_d_z_i_w_y_c_h pplliikk��ww ssttrreeff.. U�ytkownicy zasugerowali, �ebym za��czy� prawdziwy przyk�ad dzia�aj�cej domeny razem z teoretycznym przyk�adem. U�ywam tego przyk�adu z zezwoleniem Davida Bullock'a z LAND-5. Te pliki by�y aktualne 24 Wrze�nia 1996 i zosta�y zmienione przeze mnie, �eby pasowa�y do formatu bind-8, u�ywaj� te� moich rozszerze�. A wi�c, to co tu widzisz r�ni si� troch� od tego, co otrzymasz po wys�aniu zapytania do serwer�w nazw LAND-5 obecnie. 55..11.. //eettcc//nnaammeedd..ccoonnff ((lluubb //vvaarr//nnaammeedd//nnaammeedd..ccoonnff)) Tutaj znajdziemy linie g��wne dla dw�ch potrzebnych stref odwrotnych: sieci 127.0.0, jak i sieci 206.6.177 nale��cej do LAND-5, oraz lini� primary dla przedniej strefy land-5.com. Zauwa� tak�e, �e zamiast umieszcza� pliki w katalogu o nazwie pz, jak robi� to w tym HOWTO, znajduj� si� one w katalogu zone (strefa). ______________________________________________________________________ // Plik �aduj�cy dla serwera nazw LAND-5 options { directory "/var/named"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; }; zone "land-5.com" { type master; file "zone/land-5.com"; }; zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177"; }; ______________________________________________________________________ Je�eli wstawisz to do swojego named.conf, �eby si� pobawi�, _P_R_O_S_Z_�, wstaw notify no; w sekcji stref dla dw�ch stref land-5, �eby unikn�� wypadk�w. 55..22.. //vvaarr//nnaammeedd//rroooott..hhiinnttss Pami�taj, �e ten plik zmienia si�, a ten jest stary. Powiniene� u�ywa� nowszego pliku wyprodukowanego u�ywaj�c dig, b�dzie to wyt�umaczone p�niej. (UWAGA: autor napisa�, �e by�o to wyt�umaczone wcze�niej, ale jest to wyt�umaczone PӬNIEJ - przyp. t�um.) ______________________________________________________________________ ; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET. ; (1 server found) ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opCODE: QUERY, status: NOERROR, id: 10 ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ;; QUERY SECTION: ;; ., type = NS, class = IN ;; ANSWER SECTION: \&. 6D IN NS G.ROOT-SERVERS.NET. \&. 6D IN NS J.ROOT-SERVERS.NET. \&. 6D IN NS K.ROOT-SERVERS.NET. \&. 6D IN NS L.ROOT-SERVERS.NET. \&. 6D IN NS M.ROOT-SERVERS.NET. \&. 6D IN NS A.ROOT-SERVERS.NET. \&. 6D IN NS H.ROOT-SERVERS.NET. \&. 6D IN NS B.ROOT-SERVERS.NET. \&. 6D IN NS C.ROOT-SERVERS.NET. \&. 6D IN NS D.ROOT-SERVERS.NET. \&. 6D IN NS E.ROOT-SERVERS.NET. \&. 6D IN NS I.ROOT-SERVERS.NET. \&. 6D IN NS F.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241 ;; Total query time: 215 msec ;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET. 198.41.0.4 ;; WHEN: Sun Feb 15 01:22:51 1998 ;; MSG SIZE sent: 17 rcvd: 436 ______________________________________________________________________ 55..33.. //vvaarr//nnaammeedd//zzoonnee//112277..00..00 Tylko podstawy, obowi�zuj�cy rekord SOA i rekord, kt�ry mapuje 127.0.0.1 na localhost. Oba s� wymagane. Nic wi�cej nie powinno znajdowa� si� w tym pliku. Prawdopodobnie nigdy nie b�dzie musia� by� uaktualniany, chyba �e tw�j serwer nazw lub hostmaster zmieni� adres. ______________________________________________________________________ @ IN SOA land-5.com. root.land-5.com. ( 199609203 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS land-5.com. 1 PTR localhost. ______________________________________________________________________ 55..44.. //vvaarr//nnaammeedd//zzoonnee//llaanndd--55..ccoomm Widzimy tu obowi�zuj�cy rekord SOA i potrzebne rekordy NS. Mo�emy zobaczy�, �e drugorz�dny serwer nazw ma adres ns2.psi.net. Jest tak, jak powinno by�, _z_a_w_s_z_e musi by� drugorz�dny serwer w innym miejscu Internetu. Jest tu komputer g��wny o nazwie land-5, kt�ry zajmuje si� wieloma r�nymi us�ugami Internetowymi, jest to za�atwione za pomoc� rekord�w CNAME (alternatywnie mo�na u�ywa� rekord�w A). Jak widzidsz z rekordu SOA, plik strefy pochodzi z land-5.com, osob� kontaktow� jest root@land-5.com. hostmaster jest innym cz�sto u�ywanym adresem. Numer seryjny sk�ada si� z daty w formacie yyyymmdd i dziennego numeru seryjnego; jest to prawdopodobnie sz�sta wersja pliku strefy z 20 Wrze�nia 1996. Pami�taj, �e numer seryjny _m_u_s_i zwi�ksza� si� monotonicznie, tutaj jest tylko _j_e_d_n_a cyfra numeru seryjnego, wi�c po 9 zmianach trzeba czeka� do nast�pnego dnia z nast�pnymi edycjami. Rozwa� u�ycie dw�ch cyfr. ______________________________________________________________________ @ IN SOA land-5.com. root.land-5.com. ( 199609206 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 1W ; expire, seconds 1D ) ; minimum, seconds NS land-5.com. NS ns2.psi.net. MX 10 land-5.com. ; Primary Mail Exchanger localhost A 127.0.0.1 router A 206.6.177.1 land-5.com. A 206.6.177.2 ns A 206.6.177.3 www A 207.159.141.192 ftp CNAME land-5.com. mail CNAME land-5.com. news CNAME land-5.com. funn A 206.6.177.2 @ TXT "LAND-5 Corporation" ; ; Workstations ; ws-177200 A 206.6.177.200 MX 10 land-5.com. ; Primary Mail Host ws-177201 A 206.6.177.201 MX 10 land-5.com. ; Primary Mail Host ws-177202 A 206.6.177.202 MX 10 land-5.com. ; Primary Mail Host ws-177203 A 206.6.177.203 MX 10 land-5.com. ; Primary Mail Host ws-177204 A 206.6.177.204 MX 10 land-5.com. ; Primary Mail Host ws-177205 A 206.6.177.205 MX 10 land-5.com. ; Primary Mail Host ; {Many repetitive definitions deleted - SNIP} ws-177250 A 206.6.177.250 MX 10 land-5.com. ; Primary Mail Host ws-177251 A 206.6.177.251 MX 10 land-5.com. ; Primary Mail Host ws-177252 A 206.6.177.252 MX 10 land-5.com. ; Primary Mail Host ws-177253 A 206.6.177.253 MX 10 land-5.com. ; Primary Mail Host ws-177254 A 206.6.177.254 MX 10 land-5.com. ; Primary Mail Host ______________________________________________________________________ Je�eli sprawdzisz serwer nazw land-5, zobaczysz, �e nazwy komputer�w sk�adaj� si� z ws__n_u_m_e_r. P�ne wersje named'a w bind'dzie 4 zacz�y wymaga� ogranicze� znak�w sk�adaj�cych si� na nazwy komputer�w. A wi�c wog�le nie dzia�a�oby to z bind-8, zamieni�em ,,_'' na ,,-''. Inna rzecz warta zauwa�enia to fakt, �e stacje robocze nie maj� w�asnych nazw, a raczej prefiks i dwie ostatnie cz�ci numeru IP. U�ywanie takiej konwencji mo�e znacznie upro�ci� nadz�r, ale jest troch� bezosobowe i mo�e by� �r�d�em niezadowolenia w�r�d twoich u�ytkownik�w. Mo�emy tak�e zobaczy�, �e funn.land-5.com jest aliasem land-5.com, ale u�ywaj�cym rekordu A, a nie CNAME. 55..55.. //vvaarr//nnaammeedd//zzoonnee//220066..66..117777 Skomentuj� ten plik na jego ko�cu. ______________________________________________________________________ @ IN SOA land-5.com. root.land-5.com. ( 199609206 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS land-5.com. NS ns2.psi.net. ; ; Servers ; 1 PTR router.land-5.com. 2 PTR land-5.com. 2 PTR funn.land-5.com. ; ; Workstations ; 200 PTR ws-177200.land-5.com. 201 PTR ws-177201.land-5.com. 202 PTR ws-177202.land-5.com. 203 PTR ws-177203.land-5.com. 204 PTR ws-177204.land-5.com. 205 PTR ws-177205.land-5.com. ; {Du�o powtarzaj�cych si� rekord�w - usuni�to} 250 PTR ws-177250.land-5.com. 251 PTR ws-177251.land-5.com. 252 PTR ws-177252.land-5.com. 253 PTR ws-177253.land-5.com. 254 PTR ws-177254.land-5.com. ______________________________________________________________________ Strefa odwrotna jest kawa�kiem ustawie� wydaj�cym si� sprawia� najwi�cej k�opot�w. Jest u�ywany do znalezienia nazwy komputera, je�eli masz jego numer IP. Przyk�ad: jeste� serwerem IRC i akceptujesz po��czenia od klient�w IRC. Jednak�e jeste� serwerem norweskim, a wi�c chcesz akceptowa� po��czenia tylko z Norwegii i innych kraj�w skandynawskich. Kiedy otrzymasz po��czenie od klienta, biblioteka C jest w stanie przekaza� ci numer IP ��cz�cej si� maszyny, poniewa� numer IP klienta jest zawarty we wszystkich pakietach przekazywanych przez sie�. Teraz mo�esz przywo�a� funkcj� o nazwie gethostbyaddr, kt�ra szuka nazwy komputera z podanym numerem IP. Gethostbyaddr spyta serwer DNS, kt�ry wtedy przetrawersuje DNS, poszukuj�c maszyny. Przyjmijmy, �e po��czenie nadesz�o z ws-177200.land-5.com. Numer IP podany przez bibliotek� C serwerowi IRC to 206.6.177.200. �eby pozna� nazw� tej maszyny, musimy znale�� 200.177.6.206.in-addr.arpa. Serwer DNS najpierw odwr�ci �cie�k� przez 206, potem przez 6, a� w ko�cu znajdzie serwer dla strefy 177.6.206.in-addr.arpa na land-5, z kt�rego na ko�cu dostanie odpowied�, �e dla 200.177.6.206.in-addr.arpa mamy rekord ,,PTR ws-177200.land-5.com'', kt�ry znaczy, �e nazwa 206.6.177.20 to ws-177200.land-5.com. Tak jak z wyja�nieniem, jak zostaje znaleziony prep.ai.mit.edu, jest to troch� fikcyjne. Wracaj�c do przyk�adu serwera IRC. Serwer IRC akceptuje po��czenia tylko z kraj�w skandynawskich, tj. *.no, *.se, *.dk. Od razu wida�, �e nazwa ws-177200.land-5.com nie pasuje do �adnego z nich, a wi�c serwer odm�wi po��czenia. Je�eli _n_i_e by�o mapowania odwrotnego dla 206.6.177.200 przez stref� in-addr.arpa, serwer nie m�g�by znale�� nazwy i por�wna�by 206.6.177.200 z *.no, *.se i *.dk, oczywi�cie �adna z nich nie b�dzie pasowa�a. Niekt�rzy ludzie b�d� m�wili ci, �e odwrotne mapowanie jest wa�ne tylko dla serwer�w, albo _w_o_g_�_l_e nie wa�ne. Nie zawsze: wiele serwer�w ftp, news, IRC i nawet niekt�re http (WWW) _n_i_e _b_�_d_� akceptowa�y po��cze� z maszyn, kt�rych nazw nie b�d� w stanie znale��. A wi�c mapowanie odwrotne jest _o_b_o_w_i_�_z_k_o_w_e. 66.. NNaaddzz��rr UUttrrzzyymmyywwaanniiee ww ccii��gg��yymm ddzziiaa��aanniiuu Jest jedno zadanie nadzorcze, kt�re musisz wykonywa� z named'ami, inne ni� utrzymywanie ich w dzia�aniu, tzn. uaktualnianie pliku root.hints. Naj�atwiej jest to zrobi� u�ywaj�c dig'a. Najpierw uruchom dig bez �adnych argument�w, otrzymasz zawarto�� pliku root.hints zgodnie ze swoim w�asnym serwerem. Wtedy spytaj jeden z wymienionych serwer�w g��wnych komend� dig @rootserver. Zauwa�ysz, �e to co otrzymasz b�dzie bardzo podobne do pliku root.hints. Zapisz to do pliku (dig @e.root- servers.net . ns >root.hints.new) i zamie� na niego stary plik root.hints. Pami�taj, �eby uruchomi� ponownie named po zamianie pliku cache. Al Longyear wys�a� mi ten skrypt. Mo�e on by� uruchamiany automatycznie w celu uaktualniania root.hints. Dodaj wpis do tablicy cron'a, �eby by� uruchamiany raz na miesi�c. Ten skrypt przyjmuje, �e masz dzia�aj�cy system pocztowy i zdefniowany alias pocztowy ,,hostmaster''. Musisz zag��bi� si� w ten plik, �eby dostosowa� go do twoich ustawie�. ______________________________________________________________________ #!/bin/sh # # Uaktualnianie pliku cache raz na miesi�c. # Ten skrypt jest uruchamiany automatycznie przez cron'a. # ( echo "To: hostmaster " echo "From: system " echo "Subject: Automatyczne uaktualnienie pliku named.conf" echo export PATH=/sbin:/usr/sbin:/bin:/usr/bin: cd /var/named dig @rs.internic.net . ns >root.hints.new echo "Plik named.conf zosta� uaktualniony i zawiera nast�puj�ce informacje:" echo cat root.hints.new chown root.root root.hints.new chmod 444 root.hints.new rm -f root.hints.old mv root.hints root.hints.old mv root.hints.new root.hints ndc restart echo echo "Serwer nazw zosta� uruchomiony ponownie, aby wprowadzi� zmiany" echo "Poprzedni plik nazywa si� teraz /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0 ______________________________________________________________________ Niekt�rzy z was mogli zauwa�y�, �e plik root.hints jest te� dost�pny przez ftp z Internic'u. Prosz�, _n_i_e u�ywaj ftp do uaktualniania root.hints, powy�sza metoda jest o wiele bardziej przyjazna dla sieci. 77.. PPrrzzeejj��cciiee zz wweerrssjjii 44 nnaa wweerrssjj�� 88 Poprzednio by�a to sekcja o u�ywaniu bind'a 8 napisana przez David'a E. Smith'a (dave@bureau42.ml.org). Troch� j� zmieni�em, �eby pasowa�a do nowej nazwy sekcji. Nie ma tego wiele. Poza u�ywaniem named.conf zamiast named.boot, wszystko jest identyczne. Bind-8 jest dostarczany ze skryptem konwertuj�cym pliki w ,,starym stylu'' na nowe. Przyk�adowy named.conf (stary) dla serwera cache: ______________________________________________________________________ directory /var/named cache . root.hints primary 0.0.127.IN-ADDR.ARPA 127.0.0.zone primary localhost localhost.zone ______________________________________________________________________ W linii komend, w katalogu bind8/src/bin/named (_P_r_z_y_j_m_u_j_�_, _�_e _m_a_s_z _d_y_s_t_r_y_b_u_c_j_� _�_r_�_d_�_o_w_�_. _J_e_�_e_l_i _m_a_s_z _p_a_c_z_k_� _z _b_i_n_a_r_i_a_m_i _s_k_r_y_p_t _t_e_� _g_d_z_i_e_� _m_u_s_i _b_y_�_, _j_e_d_n_a_k_�_e _n_i_e _j_e_s_t_e_m _p_e_w_i_e_n _g_d_z_i_e_. _-_e_d_.), napisz: ______________________________________________________________________ ______________________________________________________________________ Co stworzy named.conf: ______________________________________________________________________ // generated by named-bootconf.pl options { directory "/var/named"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "127.0.0.zone"; }; zone "localhost" { type master; file "localhost.zone"; }; ______________________________________________________________________ Metoda ta konwertuje wszystko, co mo�na wpisa� do named.conf, jednak�e nie dodaje �adnych nowych rozszerze� i opcji konfiguracji, kt�re mo�na uzyska� w bind-8. Oto bardziej kompletny named.conf, kt�ry robi te same rzeczy, ale troch� bardziej sprawnie. ______________________________________________________________________ // To jest plik konfiguracyjny named (bind-8 lub p�niejszy) // Powinien by� zainstalowany jako /etc/named.conf. // Jedyna zmiana pliku ,,fabrycznego'' (poza tym komentarzem :)) // to odkomentowanie linii directory, poniewa� mam ju� pliki stref // w /var/named. options { directory "/var/named"; check-names master warn; /* domy�lne. */ datasize 20M; }; zone "localhost" IN { type master; file "localhost.zone"; check-names fail; allow-update { none; }; allow-transfer { any; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "127.0.0.zone"; check-names fail; allow-update { none; }; allow-transfer { any; }; }; zone "." IN { type hint; file "root.hints"; }; ______________________________________________________________________ bind8/src/bin/named/test ma ten plik oraz kopie plik�w stref, kt�re wiele ludzi mo�e skopiowa� i od razu u�ywa�. Formaty plik�w stref i root.hints s� identyczne, tak jak komendy ich uaktualniania. 88.. FFAAQQ W tej sekcji wymieni� kilka spo�r�d najcz�ciej zadawanych pyta� zwi�zanych z DNS'em i tym HOWTO, oraz odpowiedzi na nie. :-) Przeczytaj t� sekcj� przed wys�aniem do mnie listu. 1. M�j named ��da pliku named.boot. Czytasz z�e HOWTO. Przeczytaj star� wersj� tego dokumentu, kt�ra opisuje bind 4, na http://www.math.uio.no/~janl/DNS/. 2. Jak u�ywa� DNS zza �ciany ognia (firewall)? Kilka podpowiedzi: ,,forwarders'', ,,slave'' oraz spojrzenie na list� literatury na ko�cu tego HOWTO. 3. Jak sprawi�, �eby DNS prze��cza� si� mi�dzy adresami us�ugi, np. www.zaj�ty.serwer, �eby uzyska� efekt wyr�wnania obci��enia, lub podobny? Utw�rz kilka rekord�w AA dla www.zaj�ty.serwer i u�yj bind'a 4.9.3 lub p�niejszego. Wtedy bind b�dzie pokolei prze��cza� adresy. _N_i_e _b_�_d_z_i_e to dzia�a� z wcze�niejszymi wersjami bind'a. 4. Chc� ustawi� DNS w (zamkni�tym) intranecie. Co mam zrobi�? Nie zak�adaj pliku root.hints, tylko pliki stref. To znaczy tak�e, �e nie b�dziesz musia� uaktualnia� tego pliku. 5. Jak ustawi� drugorz�dny (secondary, slave...) serwer DNS? Je�eli podstawowy (primary) serwer ma adres 127.0.0.1 wstaw nast�puj�c� lini� w named.conf drugorz�dnego serwera: ___________________________________________________________________ zone "linux.bogus" { type slave; file "sz/linux.bogus"; masters { 127.0.0.1; }; }; ___________________________________________________________________ Mo�esz wymieni� kilka alternatywnych serwer�w g��wnych, z kt�rych strefa mo�e by� kopiowana w li�cie masters, oddzielone przez ,,;''. 6. Chc�, �eby bind dzia�a� nawet wtedy, kiedy jestem od��czony od sieci. Otrzyma�em taki list od Ian'a Clark'a , gdzie wyja�nia on jego spos�b dokonania tego: Uruchamiam named na mojej ,,maskuj�cej si�'' maszynie. Mam dwa pliki root.hints, jeden nazywa si� root.hints.real i zawiera prawdziwe nazwy serwer�w nazw g��wnych, oraz drugi, root.hints.fake, kt�ry zawiera... ---- ; root.hints.fake ; ten plik nie zawiera �adnych informacji ---- Kiedy roz��czam si�, kopiuj� root.hints.fake do root.hints i uruchamiam named ponownie. Kiedy ��cz� si�, kopiuj� root.hints.real do root.hints i restartuj� named. To jest wykonywane odpowiednio przez ip-down i ip-up. Pierwszy raz, kiedy przeprowadzam zapytanie off-line o nazw� domeny, named nie ma szczeg��w, a wi�c wstawia taki komunikat w pliku messgaes: Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN z czym mo�na �y�. U mnie to dzia�a. Mog� u�ywa� serwera nazw dla maszyn lokalnych bez op�nienia, jak w przypadku zewn�trznych nazw domen, a kiedy jestem w sieci, zapytania o zewn�trzne domeny funkcjonuj� normalnie. 7. Gdzie serwer przyspieszaj�cy zapisuje swoj� pami�� podr�czn�? W jaki spos�b mo�na j� kontrolowa�? Pami�� podr�czna jest zapami�tywana ca�kowicie w pami�ci, _n_i_e _j_e_s_t zapisywana na dysk. Za ka�dym razem kiedy zabijesz named cache b�dzie stracony. Cache _n_i_e _d_a_j_e si� w �aden spos�b kontrolowa�. Named zarz�dza nim zgodnie z pewnymi prostymi zasadami i nie da si� tego omin��. Nie mo�esz kontrolowa� cache'u ani jego rozmiaru w �aden spos�b i z �adnego powodu. Je�eli chcesz, mo�esz ,,naprawi�'' to zmieniaj�c kod named. Jednak�e nie jest to zalecane. 8. Czy named zapisuje cache po zako�czeniu dzia�ania? Czy mog� go jako� do tego zmusi�? Nie, named _n_i_e _z_a_p_i_s_u_j_e pami�ci podr�cznej kiedy umiera. Znaczy to, �e cache musi by� zbudowany od nowa za ka�dym razem, kiedy zabijasz i uruchamiasz named ponownie. _N_i_e _m_a sposobu, �eby zmusi� go do zapisywania cache'u w pliku. Je�eli chcesz, mo�esz to ,,naprawi�'' zmieniaj�c kod named. Nie jest to jednak zalecane. 99.. JJaakk zzoossttaa�� ppee��nnooeettaattoowwyymm aaddmmiinniissttrraattoorreemm DDNNSS DDookkuummeennttaaccjjaa ii nnaarrzz��ddzziiaa Prawdziwa Dokumentacja istnieje. Online i drukowana. Przeczytanie kilku z tych publikacji jest wymagane, �eby zrobi� krok od ma�oetatowego do pe�noetatowego administratora DNS. W druku, standardow� ksi��k� jest _D_N_S _i _B_I_N_D, autorstwa C. Liu i P. Albitz'a, wydawnictwa O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X. Czyta�em j�, jest �wietna. Jest te� sekcja o DNS w ksi��ce _T_C_P_/_I_P _- _A_d_m_i_n_i_s_t_r_a_c_j_a _s_i_e_c_i, autorstwa Craig'a Hunt'a z wydawnictwa O'Reilly..., ISBN 0-937175-82-X. Inna ksi��ka koniecznie do przeczytania przez dobrego admina DNS (lub kogokowiek dobrego z tej bran�y) jest _Z_e_n _i _S_z_t_u_k_a _N_a_p_r_a_w_y _M_o_t_o_c_y_k_l_i Roberta M. Prisiga, :-) dost�pne pod ISBN 0688052304 i inne. Online znajdziesz r�ne rzeczy na http://www.dns.net/dnsrd/, http://www.isc.org/bind.html; FAQ, podr�cznik (BOG - Bind Operators Guide), specyfikacje i definicje protoko��w, oraz sztuczki DNS (te, i wiele, je�eli nie wszystkie RFC wspomniane poni�ej, tak�e znajduj� si� w dystrybucji bind'a). Nie czyta�em wi�kszo�ci z nich, ale przez to nie jestem pe�noetatowym administratorem DNS. Natomiast Arnt Gulbrandsen przeczyta� BOG i bardzo mu si� on spodoba� :-). Jest te� grupa news news://comp.protocols.tcp-ip.domains o DNS. Dodatkowo, jest te� troch� RFC o DNS'ie, najwa�niejsze s� prawdopodobnie te: RRFFCC 22005522 A. Gulbrandsen, P. Vixie, _A _D_N_S _R_R _f_o_r _s_p_e_c_i_f_y_i_n_g _t_h_e _l_o_c_a_t_i_o_n _o_f _s_e_r_v_i_c_e_s _(_D_N_S _S_R_V_), October 1996 RRFFCC 11991188 Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear, _A_d_d_r_e_s_s _A_l_l_o_c_a_t_i_o_n _f_o_r _P_r_i_v_a_t_e _I_n_t_e_r_n_e_t_s, 02/29/1996. RRFFCC 11991122 D. Barr, _C_o_m_m_o_n _D_N_S _O_p_e_r_a_t_i_o_n_a_l _a_n_d _C_o_n_f_i_g_u_r_a_t_i_o_n _E_r_r_o_r_s, 02/28/1996. RRFFCC 11991122 EErrrroorrss B. Barr _E_r_r_o_r_s _i_n _R_F_C _1_9_1_2, jest on dost�pny na RRFFCC 11771133 A. Romao, _T_o_o_l_s _f_o_r _D_N_S _d_e_b_u_g_g_i_n_g, 11/03/1994. RRFFCC 11771122 C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, _D_N_S _E_n_c_o_d_i_n_g _o_f _G_e_o_g_r_a_p_h_i_c_a_l _L_o_c_a_t_i_o_n, 11/01/1994. RRFFCC 11118833 R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, _N_e_w _D_N_S _R_R _D_e_f_i_n_i_t_i_o_n_s, 10/08/1990. RRFFCC 11003355 P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _i_m_p_l_e_m_e_n_t_a_t_i_o_n _a_n_d _s_p_e_c_i_f_i_c_a_t_i_o_n, 11/01/1987. RRFFCC 11003344 P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _c_o_n_c_e_p_t_s _a_n_d _f_a_c_i_l_i_t_i_e_s, 11/01/1987. RRFFCC 11003333 M. Lottor, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _o_p_e_r_a_t_i_o_n_s _g_u_i_d_e, 11/01/1987. RRFFCC 11003322 M. Stahl, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _g_u_i_d_e, 11/01/1987. RRFFCC 997744 C. Partridge, _M_a_i_l _r_o_u_t_i_n_g _a_n_d _t_h_e _d_o_m_a_i_n _s_y_s_t_e_m, 01/01/1986. 1100.. OOdd tt��uummaacczzaa To jest druga wersja DNS-HOWTO. Pierwsza wersja, dotycz�ca bind'a 4 zosta�a przet�umaczona przez Piotra Pogorzelskiego . Prawa autorskie t�umaczenia pierwszej wersji nale�� w�a�nie do niego, a poniewa� ja przet�umaczy�em drug� wersj� od pocz�tku, prawa autorskie t�umaczenia drugiej wersji nale�� do mnie. Wersja 2.1 jest _z_n_a_c_z_n_i_e poprawiona w stosunku do 2.0. Jak zwykle, je�eli znajdziesz jakie� b�edy, daj mi zna�.