Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > c271e9e583b3924e0de744696831c936 > files > 9

howto-text-pl-2006-5mdv2010.0.noarch.rpm

  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 <hostmaster>"
   echo "From: system <root>"
   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 <ic@deakin.edu.au>, 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
        <http://www.cis.ohio-state.edu/~barr/rfc1912-errors.html>

     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
  <piotr.pogorzelski@ippt.gov.pl>. 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æ.