Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 12801f336d9e363d2d56a08891cdf472 > files > 6

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

  DNS HOWTO
  Nicolai Langfeldt janl@math.uio.no
  v2.2, 11 February 1999

  Kako za èisto kratek èas postati DNS administrator.  V sloven¹èino
  prevedel Andrej Lajovic andrej.lajovic@guest.arnes.si, 7. avgusta 2000
  ______________________________________________________________________

  Kazalo


  1. Predgovor

     1.1 Pravne zadeve
     1.2 Zahvala in pro¹nja za pomoè.
     1.3 Posvetilo

  2. Uvod.

  3. Imenski stre¾nik s predpomnilnikom.

     3.1 Zagon named
     3.2 Naredimo nekaj ¹e bolj¹ega
     3.3 Èestitam

  4. "Preprosta" domena

     4.1 Najprej nekaj teorije
     4.2 Na¹a lastna domena
     4.3 Obratni vnosi
     4.4 Opozorila
     4.5 Zakaj obratne poizvedbe ne delujejo.
        4.5.1 Obratni vnosi niso pristojni.
        4.5.2 Imate brezrazredno podmre¾o

  5. Primer prave domene

     5.1 /etc/named.conf (ali /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. Vzdr¾evanje

  7. Pretvarjanje iz razlièice 4 v razlièico 8

  8. Vpra¹anja in odgovori

  9. Kako postati DNS administrator za dalj èasa.


  ______________________________________________________________________

  1.  Predgovor

  Kljuène besede: DNS, bind, bind-4, bind-8, named, povezava na klic,
  ppp, slip, isdn, Internet, domena, ime, poizvedovanje, predpomnenje.


  Ta dokument je del projekta Linux Documentation Project.




  1.1.  Pravne zadeve

  (C)opyright 1995-1999 Nicolai Langfeldt. Pri popravljanju in/ali
  raz¹irjanju tega dokumenta ohranite tudi sporoèilo o avtorskih
  pravicah in ga po potrebi dopolnite.


  V sloven¹èino prevedel Andrej Lajovic andrej.lajovic@guest.arnes.si,
  7. avgusta 2000. Za raz¹irjanje slovenskega prevoda veljajo enaki
  pogoji, kot za original.


  1.2.  Zahvala in pro¹nja za pomoè.

  Rad bi se zahvalil Arntu Gulbrandsenu, ki se je pregrizel skozi vse
  delovne razlièice tega dokumenta in ki mi je dal mnogo uporabnih
  predlogov.  Rad bi se zahvalil tudi mnogim ljudem, ki so mi poslali
  predloge in opozorila po elektronski po¹ti.


  Tole ne bo nikoli zakljuèen dokument, zato mi sporoèite o va¹ih
  te¾avah in uspehih - tako lahko naredimo ta HOWTO bolj¹i. Komentarje
  in/ali vpra¹anja ter denar po¹ljite na janl@math.uio.no. Preden mi
  po¹ljete sporoèilo, na katerega ¾elite tudi odgovor, prosim preverite,
  da je va¹ naslov, naveden v pismu zagotovo pravilen in deluje. Preden
  me kontaktirate, preberite tudi poglavje ``Vpra¹anja in odgovori''. ©e
  nekaj: razumem le norve¹ki in angle¹ki jezik.


  Èe ste prevedli ta HOWTO, vas prosim, da me na to opozorite, da bom
  lahko vzdr¾eval seznam jezikov, v katerih je bil objavljen in da vas
  bom ob izidu nove razlièice lahko o tem obvestil.


  1.3.  Posvetilo

  Ta HOWTO je posveèen Anne Line Norheim Langfeldt, èeprav ga verjetno
  ne bo nikoli prebrala - paè ni tak¹ne vrste dekle.


  2.  Uvod.

  Kaj to je in kaj ni.


  DNS (Domain Name System) pretvarja imena raèunalnikov v IP ¹tevilke,
  ki jih imajo vsi raèunalniki v internetu. Preslikava imena v naslove,
  naslove v imena in ¹e nekaj drugih stvari. Ta HOWTO prikazuje, kako
  definirati tak¹ne preslikave na Linux sistemu. Preslikava je nekak¹na
  povezava med imenom raèunalnika, na primer ftp.linux.org ter njegovo
  IP ¹tevilko (ali naslovom) 199.249.150.4.


  DNS je za nepouèene ljudi (vas ;-) eno od bolj nejasnih podroèij
  omre¾ne administracije. Ta HOWTO bo poskusil narediti nekaj stvari
  jasnej¹ih.  Opisuje, kako postaviti preprost DNS imenski stre¾nik.
  Zaèeli bomo z imenskim stre¾nikom s predpomnilnikom in pre¹li na
  postavitev primarnega DNS stre¾nika za domeno. Za zapletenej¹e
  nastavitve lahko pogledate v poglavje ``Vpra¹anja in odgovori''. Èe ni
  opisana tam, boste morali prebrati nekaj Prave Dokumentacije. Kaj
  sestavlja Pravo Dokumentacijo, bom povedal v ``zadnjem poglavju''.


  Preden zaènete, morate svoj raèunalnik nastaviti tako, da se lahko
  telnetate vanj in iz njega ter uspe¹no delate razliène povezave v
  omre¾je.  ©e posebej pomembno je, da lahko storite telnet 127.0.0.1 in
  dobite svoj lasten raèunalnik (preizkusite takoj!). Za zaèetek
  potrebujete tudi dobre datoteke /etc/nsswitch.conf (ali
  /etc/host.conf), /etc/resolv.conf in /etc/hosts, ker njihove funkcije
  tu ne bom razlagal. Èe vam vse to ¹e ne deluje, poglejte v NET-3-HOWTO
  in/ali PPP-HOWTO, kjer so navodila za nastavitev.


  Ko reèem 'va¹ raèunalnik', mislim s tem raèunalnik, na katerem
  postavljate DNS in ne kak¹en drug raèunalnik, ki ga posedujete.


  Predpostavljam, da niste za kakr¹nim koli po¾arnim zidom, ki bi
  prepreèeval imenske poizvedbe. Èe ste, boste potrebovali posebno
  konfiguracijo, zato poglejte v poglavje ``Vpra¹anja in odgovori''.


  Stre¾nik za imenske poizvedbe je na Unix-u program named. Je del
  paketa ``bind'', katerega koordinator za Konzorcij internetnega
  programja je Paul Vixie. Named je vkljuèen v veèino distribucij Linuxa
  in je navadno name¹èen kot /usr/sbin/named. Vkolikor named imate, ga
  verjetno lahko uporabite, sicer pa lahko preveden program dobite z
  Linuxove ftp strani ali pa si pretoèite zadnjo razlièico vsemogoène
  izvorne kode z ftp.isc.org:/isc/bind/src/cur/bind-8/. Ta HOWTO govori
  o bind razlièici 8. Starej¹a verzija tega HOWTO-ja, ki velja za bind
  4, je ¹e vedno dosegljiva na http://www.math.uio.no/~janl/DNS/ v
  primeru, da ¹e vedno uporabljate bind 4. Èe va¹ named priroènik (man)
  govori (na koncu, v razdelku FILES) o named.conf, imate bind 8, èe
  govori o named.boot, pa bind 4. Èe imate razlièico 4 in vam je varnost
  pomembna, bi morali vsekakor nadgraditi na razlièico 8.


  DNS je èez cel internet segajoèa baza. Pazite, kaj vpi¹ete vanjo. Èe
  boste vanjo vpisali neumnosti, boste vi in drugi ljudje neumnosti iz
  nje tudi dobili. Vzdr¾ujte svoj DNS organiziran in pregleden, da vam
  bo dobro slu¾il. Nauèite se ga uporabljati, administrirati,
  odpravljati napake in bodite ¹e eden dober administrator, ki skrbi, da
  internet ne pade na kolena zaradi nepravilne uporabe.


  V tem dokumentu zaradi poenostavljenosti navajam nekaj dejstev, ki
  niso popolnoma resnièna (èeprav so vsaj napol resnièna). Stvari bodo
  (verjetno ;-) delovale, èe verjamete, kar vam bom povedal.


  Nasvet: Naredite si rezervne kopije vseh datotek, ki jih boste
  spreminjali - v primeru, da kaj ne bo delovalo, lahko sistem ¹e vedno
  vrnete v staro, delujoèe stanje.


  3.  Imenski stre¾nik s predpomnilnikom.

  Prvi korak v konfiguraciji DNS-a, zelo uporaben za uporabnike klicnega
  dostopa


  Imenski stre¾nik s predpomnilnikom bo na¹el odgovore na imenske
  poizvedbe in si jih zapomnil za naslednjiè, ko jih boste potrebovali.
  To bo precej skraj¹alo èakalni èas, ¹e posebej, èe imate poèasno
  povezavo.


  Za zaèetek potrebujete datoteko /etc/named.conf, ki jo named prebere,
  ko se za¾ene. Za zdaj naj vsebuje le:



  ______________________________________________________________________
  // Konfiguracijska datoteka za imenski stre¾nik s predpomnilnikom

  options {
          directory "/var/named";

          // Odkomentiranje tega lahko pomaga, èe ste za po¾arnim zidom in
          // stvari ne delujejo, kot bi morale:

          // query-source port 53;
  };

  zone "." {
          type hint;
          file "root.hints";
  };

  zone "0.0.127.in-addr.arpa" {
          type master;
          file "pz/127.0.0";
  };
  ______________________________________________________________________




  Vrstica `directory' pove named, kje naj pogleda za datoteke. Vse
  datoteke, navedene zatem, se nahajajo relativno na to mesto - mapa pz
  se nahaja v /var/named in je torej v resnici /var/named/pz. /var/named
  je prava mapa glede na Standard Linux-ovega datoteènega sistema.


  V named.conf je omenjena tudi datoteka /var/named/root.hints. Ta naj
  vsebuje:
































  ______________________________________________________________________
  ;
  ; Èe to datoteko ¾e imate, se lahko tu nahajajo komentarji.
  ; Èe se ne, ne skrbite.
  ;
  .                       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
  ______________________________________________________________________




  Datoteka opisuje korenske imenske stre¾nike po svetu. Ti podatki se
  sèasoma spreminjajo, zato jih morate ohranjati toène. Preberite si
  poglavje ``Vzdr¾evanje'' za navodila, kako to storiti.


  Naslednji razdelek v named.conf je zadnji vnos zone.  Njegov namen in
  uporabo bom razlo¾il v naslednjem poglavju, za zdaj samo ustvarite
  datoteko 127.0.0 v podmapi pz:


  ______________________________________________________________________
  @               IN      SOA     ns.linux.izmislek. hostmaster.linux.izmislek. (
                                  1       ; Serijska ¹tevilka
                                  8H      ; Osve¾evanje
                                  2H      ; Ponoven poskus
                                  1W      ; Potek
                                  1D)     ; Minimum TTL
                          NS      ns.linux.izmislek.
  1                       PTR     localhost.
  ______________________________________________________________________




  Va¹ /etc/resolv.conf mora izgledati pribli¾no takole:




  ______________________________________________________________________
  search poddomena.vasa-domena.edu vasa-domena.edu
  nameserver 127.0.0.1
  ______________________________________________________________________




  Vrstica `search' pove, katere domene je potrebno preiskati za vsako
  ime raèunalnika, na katerega se ¾elite prikljuèiti.  `nameserver'
  vsebuje naslov va¹ega imenskega stre¾nika, v tem primeru va¹ega
  lastnega raèunalnika, na katerem bo named tekel (127.0.0.1 je v redu,
  tudi èe ima va¹ raèunalnik ¹e kak¹en naslov). Èe ¾elite navesti veè
  imenskih stre¾nikov, vpi¹ite za vsakega po eno `nameserver' vrstico.
  (Zapomnite si: named te datoteke ne bo nikoli prebral, potreboval jo
  bo le del sistema, ki bo uporabljal named.)


  Za ilustracijo, kaj ta datoteka poène: èe posku¹a program poizvedeti
  za foo, bo najprej poskusil foo.poddomena.vasa-domena.edu, nato
  foo.vasa-domena.edu in ¹ele na koncu foo. Èe program posku¹a
  poizvedeti za sunsite.unc.edu, bo najprej poskusil
  sunsite.unc.edu.poddomena.vasa-domena.edu (priznam, da se zdi butasto,
  ampak tako stvar paè deluje), nato sunsite.unc.edu.vasa-domena.edu in
  konèno sunsite.unc.edu.  Pametno je, da v to vrstico ne vnesete preveè
  domen, ker iskanje po vseh zahteva kar nekaj èasa.


  Primer predpostavlja, da spadate v domeno poddomena.vasa-domena.edu in
  je va¹ raèunalnik potemtakem vas-racunalnik.poddomena.vasa-domena.edu.
  Vrstica naj ne vsebuje va¹e vrhnje domene (ang.: TLD, Top Level
  Domain), v tem primeru `edu'. Èe se pogosto prikljuèujete na
  raèunalnike v drugi domeni, lahko dodate tudi to:


  ______________________________________________________________________
  search subdomain.your-domain.edu your-domain.edu druga-domena.com
  ______________________________________________________________________




  in tako naprej. Vsekakor morate tukaj navedene primere zamenjati s
  pravimi domenami. Prosim, zapomnite si, da na koncu domen ni pik. To
  je zelo pomembno, prosim, zapomnite si, da na koncu domen ni pik.


  Sedaj je treba glede na razlièico va¹e C knji¾nice (libc) popraviti
  /etc/nsswitch.conf ali /etc/host.conf. Èe ¾e imate /etc/nsswitch.conf,
  bomo popravili to, sicer pa /etc/host.conf.


  /etc/nsswitch.conf


  To je dolga datoteka, v kateri je navedeno, kje dobiti razliène tipe
  podatkov - iz datoteke ali baze podatkov. Na zaèetku je navadno nekaj
  komentarjev, ki vam bodo pomagali pri razumevanju. Nato poi¹èite
  vrstico, ki se zaène z `hosts:' - popraviti jo morate v:


  ______________________________________________________________________
  hosts:      files dns
  ______________________________________________________________________


  Èe te vrstice ¹e nimate, jo dodajte. Ta vrstica pove programom, naj
  najprej pogledajo v datoteko /etc/hosts in ¹ele nato preverijo DNS
  glede na /etc/resolv.conf.


  /etc/host.conf


  Verjetno ¾e vsebuje nekaj vrstic, med katerimi se ena zaène z order in
  mora izgledati takole:


  ______________________________________________________________________
  order hosts,bind
  ______________________________________________________________________




  Èe tak¹ne vrstice ¹e ni, jo dodajte. Ta vrstica pove podprogramom, ki
  imajo opraviti z imensko poizvedbo, naj najprej pogledajo v datoteko
  /etc/host.conf, nato pa povpra¹ajo imenski stre¾nik (za katerega v
  /etc/resolv.conf pi¹e, da je na 127.0.0.1).


  3.1.  Zagon named

  Po vsem tem je èas, da za¾enemo named. Èe uporabljate povezavo na
  klic, jo vzpostavite. Napi¹ite `ndc start' in pritisnite enter. Èe to
  ne deluje, poskusite `/usr/sbin/ndc start'. Èe vam tudi tu spodleti,
  si poglejte poglavje ``Vpra¹anja in odgovori''. V datoteki, kamor va¹
  syslog pi¹e sporoèila (navadno /var/adm/messages, lahko pa tudi
  /var/log/messages), se mora med zagonom named (naredite tail -f
  /var/log/messages) izpisati nekaj tak¹nega:


  (vrstice, ki se konèajo z \ se nadaljujejo v naslednji vrstici)



       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.





  Èe vidite kakr¹na koli sporoèila o napakah, ste se verjetno nekje
  zmotili. Named vam bo povedal, kje je napaka (upam, da v eni izmed
  datotek named.conf ali root.hints :-) Ubijte named in ¹e enkrat
  preglejte datoteko.


  Sedaj lahko preverimo va¹e nastavitve. Po¾enite naslookup in si
  oglejte svoje delo.




  $ nslookup
  Default Server:  localhost
  Address:  127.0.0.1

  >





  Èe dobite to, vse deluje, kot je treba. Upajmo. Èe ne, potem pojdite
  nazaj in ¹e enkrat preglejte vse. Vsakiè, ko spremenite datoteko
  named.conf, morate ponovno zagnati named, kar lahko storite z ukazom
  ndc restart.


  Sedaj lahko vnesete poizvedbo. Poskusite poizvedeti o kak¹nem
  raèunalniku, ki je blizu vas. Blizu mene je na primer pat.uio.no -
  univerza v Oslu.



       > pat.uio.no
       Server:  localhost
       Address:  127.0.0.1

       Name:    pat.uio.no
       Address:  129.240.130.16





  nslookup je sedaj povpra¹al named za poizvedbo o pat.uio.no. Ta je
  nato kontaktiral enega od imenskih stre¾nikov, navedenih v datoteki
  root.hints in iskal od tam naprej. Poizvedba utegne trajati nekaj
  èasa, ker je potrebno preiskati vse domene v /etc/resolv.conf.


  Èe ¹e enkrat vpra¹ate za isto poizvedbo, dobite tole:



       > pat.uio.no
       Server:  localhost
       Address:  127.0.0.1

       Non-authoritative answer:
       Name:    pat.uio.no
       Address:  129.240.2.50





  Bodite pozorni na vrstico ``Non-authoritative answer:'', ki smo jo
  dobili tokrat. Pomeni, da named ni ¹el ¹e enkrat iskati iste poizvedbe
  po internetu, temveè jo ima sedaj v predpomnilniku. Lahko pa se zgodi,
  da je informacija v tem èasu postala napaèna. Named vas na to (izredno
  majhno) mo¾nost opozori tako, da reèe ``Non-authoritative answer:''.
  Ko nslookup pove to drugiè, je to zanesljivo znamenje, da named
  shranjuje poizvedbe v predpomnilnik. Iz programa nslookup pridete
  tako, da napi¹ete `exit'.



  3.2.  Naredimo nekaj ¹e bolj¹ega

  V velikih, dobro organiziranih akademskih omre¾jih ali omre¾jih
  ponudnikov interneta boste vèasih ugotovili, da ima omre¾je
  nastavljeno posredovalno hierarhijo DNS stre¾nikov, kar pomaga
  razbremeniti tako samo omre¾je, kot tudi zunanje stre¾nike. Pogosto je
  te¾ko ugotoviti, ali ste v tak¹nem omre¾ju ali ne. To pravzaprav sploh
  ni pomembno, èe si nastavite DNS stre¾nik va¹ega ponudnika interneta
  kot ``posredovalnik'' in tako naredite poizvedbe hitrej¹e ter
  zmanj¹ate obremenitev va¹ega omre¾ja. Èe uporabljate dostop preko
  modema, je to lahko kar velik dose¾ek. Za namene tega primera bomo
  predpostavili, da ima va¹ ponudnik interneta dva imenska stre¾nika, ki
  jih ¾elite uporabljati, njuni IP ¹tevilki pa sta 10.0.0.1 in 10.1.0.1.
  V va¹i datoteki named.conf torej vstavite v razdelek ``options''
  sledeèe vrstice:


  ______________________________________________________________________
             forward first;
             forwarders {
                  10.0.0.1;
                  10.1.0.1;
              };
  ______________________________________________________________________




  Ponovno za¾enite va¹ imenski stre¾nik in ga preverite z nslookup.
  Stvar mora delovati.


  3.3.  Èestitam

  Sedaj znate postaviti named s predpomnilnikom. Vzemite si pivo, mleko
  ali kar paè imate najraje in proslavite to.


  4.  Preprosta  domena.

  Kako postaviti svojo lastno domeno.


  4.1.  Najprej nekaj teorije

  Preden resnièno zaènemo to poglavje, vam bom serviral nekaj teorije in
  primerov o tem, kako DNS deluje. In vi boste to prebrali, ker je dobro
  za vas. Èe noèete prebrati, bi bilo dobro, da vsaj na hitro preletite.
  Leteti prenehajte, ko pridete do tistega, kar mora iti v va¹o datoteko
  named.conf.


  DNS je hierarhièen, drevesno strukturiran sistem. Vrh se imenuje `.'
  in izgovarja `koren' (ang.: root). Pod . je veliko ¹tevilo vrhnjih
  domen, od katerih so najbolj poznane ORG, COM, EDU in NET, seveda pa
  jih je ¹e mnogo veè.  Struktura ja prav tak¹na kot drevo - ima
  korenine in iz njih poganja veje.  Èe imate vsaj nekaj raèunalni¹kega
  znanja, boste v DNS prepoznali iskalno drevo, lahko boste na¹li
  razvejanja, liste in robove.


  Ko i¹èemo doloèen raèunalnik, gre poizvedba rekurzivno po hierarhiji,
  zaèen¹i pri vrhu. Èe hoèete izvedeti naslov prep.ai.mit.edu, mora va¹
  imenski stre¾nik najprej najti stre¾nik, ki je odgovoren za edu, zato
  vpra¹a . stre¾nik (. stre¾nike ¾e pozna, ker so zapisani v
  root.hints), ta pa mu posreduje seznam stre¾nikov za edu:
       $ nslookup
       Default Server:  localhost
       Address:  127.0.0.1





  Zaènemo s spra¹evanjem korenskega stre¾nika:



       > server c.root-servers.net.
       Default Server:  c.root-servers.net
       Address:  192.33.4.12





  Postavimo tip poizvedbe na NS (zapisi imenskih stre¾nikov, ang.: name
  server records)



       > set q=ns





  Vpra¹ajmo za edu:



       > edu.





  Konèna pika (.) je tu zelo pomembna, ker pove nslookup, da je edu, o
  katerem poizvedujemo takoj pod . (in ne pod eno od na¹ih search domen
  - to pospe¹i iskanje).



       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

  To nam pove, da vsi stre¾niki ROOT-SERVERS.NET slu¾ijo tudi za EDU.,
  zato lahko spra¹ujemo katerega koli od njih. Mi bomo nadaljevali s
  spra¹evanjem C. Sedaj hoèemo vedeti, kdo je stre¾nik za naslednji nivo
  domene: 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 in bitsy vsi stre¾ejo mit.edu, zato izberemo enega od
  njih in poizvedujemo ¹e en nivo navzgor: ai.mit.edu:



       > server W20NS.mit.edu.





  Vseeno je, ali so imena raèunalnikov zapisana z velikimi ali malimi
  èrkami, vendar uporabljam mi¹ko za kopiranje in so zato vsa imena
  tak¹na, kot se izpi¹ejo na zaslon.



























  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





  museli.ai.mit.edu je torej imenski stre¾nik za ai.mit.edu:



       > server MUESLI.AI.MIT.EDU
       Default Server:  MUESLI.AI.MIT.EDU
       Address:  128.52.39.7





  Spremenimo tip poizvedbe - na¹li smo imenski stre¾nik in sedaj
  spra¹ujemo za vse podatke 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





  Tako smo s prièetkom na . na¹li imenske stre¾nike za vsak nivo domene.
  Èe bi namesto roènega iskanja vseh teh uporabili svoj DNS stre¾nik, bi
  si named seveda zapomnil vse informacije, ki bi jih na¹el pri iskanju
  in mu nekaj èasa ne bi bilo treba ponovno poizvedovati.


  V drevesu vsaka ``.'' v imenu pomeni razvejanje in vsak del med pikami
  je ime doloèene veje v drevesu.


  Po drevesu se vzpenjamo tako, da vzamemo ime, o katerem poizvedujemo
  (prep.ai.mit.edu), najprej najdemo korenine (.) in nato poi¹èemo
  naslednjo vejo za vzpenjanje, v tem primeru edu. Ko jo najdemo, se
  vzpnemo po njej tako, da se prikljuèimo na stre¾nik, ki je odgovoren
  za ta del imena. Zatem poi¹èemo vejo mit, ki raste iz veje edu
  (kombinirano ime je mit.edu) in se prikljuèimo na stre¾nik, ki stre¾e
  mit.edu. Spet poi¹èemo naslednjo vejo, tokrat ai.mit.edu in se
  prikljuèimo na stre¾nik, odgovoren zanjo. Sedaj smo prispeli na konèni
  stre¾nik, ki ga nato povpra¹amo za prep.ai.mit.edu. V raèunalni¹ki
  terminologiji prep navadno imenujemo list na drevesu.


  Domena, o kateri se manj govori, pa je vseeno zelo pomembna je in-
  addr.arpa. Prav tako, kot `navadne' domene je vgnezdena, vendar nam
  omogoèa ravno nasprotno - da izvemo imena raèunalnikov iz njihovih
  naslovov. Pomembna stvar, ki si jo morate zapomniti je, da so IP
  naslovi v domeni in-addr.arpa zapisani v obratnem vrstnem redu. Èe je
  naslov raèunalnika 192.128.52.43, je postopek, ki ga ubere named prav
  tak¹en, kot za prep.ai.mit.edu: najdi stre¾nik za arpa., najdi
  stre¾nik in-addr.arpa., najdi stre¾nik za 192.in-addr.arpa., najdi
  stre¾nik za 128.192.in-addr.arpa., najdi stre¾nik za 52.128.192.in-
  addr.arpa. in konèno najdi zapise za 43.52.128.192.in-addr.arpa.
  Pametno, kajne? (Recite `da'.) Prav dejstvo, da so ¹tevilke obrnjene,
  lahko povzroèi veliko zme¹njavo.


  Pravkar sem se zlagal. DNS ne deluje natanko tako, kot sem vam
  povedal.  Vsekakor pa deluje skoraj tako.


  4.2.  Na¹a lastna domena

  Sedaj bomo definirali na¹o lastno domeno - linux.izmislek in v njej
  definirali raèunalnike. Uporabil sem popolnoma izmi¹ljeno domeno; tako
  smo lahko gotovi, da ne bomo motili koga Tam Zunaj.


  ©e ena stvar, preden zaènemo: imena raèunalnikov ne smejo vsebovati
  doloèenih znakov - omejeni smo na èrke angle¹ke abecede: a-z,
  ¹tevilke: 0-9 in znak '-' (pomi¹ljaj). Dr¾ite se jih. Velikosti èrk
  DNS ne razlikuje, zato je pat.uio.no isto kot Pat.UiO.No.


  Delo smo zaèeli ¾e s tem razdelkom v named.conf:


  ______________________________________________________________________
  zone "0.0.127.in-addr.arpa" {
          type master;
          file "pz/127.0.0";
  };
  ______________________________________________________________________




  Prosim, zapomnite si, da na koncu domen v tej datoteki ni pike `.'. Ta
  razdelek pove, da bomo sedaj definirali 0.0.127.in-addr.arpa, da smo
  za to domeno glavni stre¾nik in da so podatki zanjo shranjeni v
  datoteki pz/127.0.0. Tudi slednjo smo ¾e uredili, glasi pa se:


  ______________________________________________________________________
  @               IN      SOA     ns.linux.izmislek. hostmaster.linux.izmislek. (
                                  1       ; Serijska ¹tevilka
                                  8H      ; Osve¾evanje
                                  2H      ; Ponoven poskus
                                  1W      ; Potek
                                  1D)     ; Minimum TTL
                          NS      ns.linux.izmislek.
  1                       PTR     localhost.
  ______________________________________________________________________




  Prosim, zapomnite si pike `.' na koncu vseh polnih domen v tej
  datoteki, kot nasprotje datoteki named.conf. Nekateri ljudje zaènejo
  vsako `zone' datoteko z ukazom $ORIGIN, vendar je to popolnoma odveè.
  Izvor (kam v DNS hierarhiji spada) datoteke `zone' je namreè naveden v
  named.conf, v tem primeru je to 0.0.127.in-addr.arpa.


  Ta datoteka `zone' vsebuje tri zapise virov (ang.: RRs, resource
  records): SOA, NS in PTR. SOA pomeni zaèetek pristojnosti (ang.: Start
  Of Authority). `@' je oznaka za izvor in ker je v stolpcu `domena' za
  to datoteko navedeno 0.0.127.in-addr.arpa, prva vrstica v resnici
  pomeni

       0.0.127.in-addr.arpa.   IN      SOA ...





  NS je zapis vira imenskega stre¾nika (ang.: Name Server RR). Na
  zaèetku te vrstice ni oznake `@', ker se to ohranja ¹e iz prej¹nje
  vrstice - tak¹en naèin prihrani veliko tipkanja. Zapis vira NS bi
  torej lahko zapisali tudi kot



       0.0.127.in-addr.arpa.   IN      NS      ns.linux.izmislek.





  DNS-u pove, kateri raèunalnik je stre¾nik za domeno 0.0.127.in-
  addr.arpa in to je ns.linux.izmislek. 'ns' je standardno ime za
  imenske stre¾nike, kot je www.nekaj standardno ime za spletne
  stre¾nike, vendar to ni pravilo - ime je lahko karkoli.


  Na koncu sledi ¹e zapis vira PTR, ki pravi, da je raèunalniku na
  naslovu 1 v podmre¾i 0.0.127.in-addr.arpa, torej 127.0.0.1, ime
  localhost.


  Vse datoteke `zone' morajo vsebovati natanko en zapis vira SOA. Ta
  zapis vsebuje podatke o domeni, od kod prihaja (raèunalnik z imenom
  ns.linux.izmislek), kdo je odgovoren za njeno vsebino
  (hostmaster@linux.izmislek - tukaj vstavite svoj e-mail naslov),
  katera razlièica datoteke `zone' je to (serijska ¹tevilka: 1) in druge
  podatke, ki imajo opraviti z DNS stre¾niki s predpomnilnikom ter
  sekundarnimi DNS stre¾niki. Za vsa ostala polja (osve¾evanje, ponoven
  poskus, potek in minimum) se zana¹ajte na ¹tevilke, ki so navedene v
  tem HOWTO-ju in vse bi moralo delovati kot je treba.


  Sedaj ponovno za¾enite named (ukaz je ndc restart) in uporabite
  nslookup za ogled va¹ega dela:



       $ 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





  Aha, torej uspe preslikati 127.0.0.1 v localhost. Odlièno. Sedaj se
  lahko spravimo k na¹emu glavnemu opravilu, domeni linux.izmislek.
  Najprej vstavimo nov razdelek 'zone' v named.conf:

  ______________________________________________________________________
  zone "linux.izmislek" {
          notify no;
          type master;
          file "pz/linux.izmislek";
  };
  ______________________________________________________________________




  Spet si zapomnite, da na koncu domen v named.conf ni pik `.'.


  V datoteko `zone' linux.izmislek bomo napisali nekaj popolnoma
  izmi¹ljenih podatkov:


  ______________________________________________________________________
  ;
  ; Datoteka zone za linux.izmislek
  ;
  ; Popolna datoteka zone
  ;
  @       IN      SOA     ns.linux.izmislek. hostmaster.linux.izmislek. (
                          199802151       ; serijska ¹tevilka = datum + serijska #
                          8H              ; osve¾evanje, sekunde
                          2H              ; ponoven poskus, sekunde
                          1W              ; potek, sekunde
                          1D )            ; minimum, sekunde
  ;
                  NS      ns              ; Internetni naslov imenskega stre¾nika
                  MX      10 mail.linux.izmislek     ; Primarni po¹tni stre¾nik
                  MX      20 mail.prijatelj.izmislek.   ; Sekundarni po¹tni stre¾nik
  ;
  localhost       A       127.0.0.1
  ns              A       192.168.196.2
  mail            A       192.168.196.4
  ______________________________________________________________________




  O zapisu SOA si morate zapomniti dve stvari. ns.linux.izmislek mora
  biti resnièen raèunalnik z zapisom A. Prepovedano je imeti zapis CNAME
  za raèunalnik, naveden v zapisu SOA. Vsekakor ni pomembno, da je
  njegovo ime 'ns', lahko je kakr¹no koli veljavno ime. Druga stvar;
  hostmaster.linux.izmislek se bere kot hostmaster@linux.izmislek in
  mora biti obstojeè naslov ali preusmeritev naslova, na katerega bo
  oseba, ki vzdr¾uje DNS prejemala po¹to (ta oseba naj po¹to tudi redno
  pregleduje). Ni nujno, da je to ravno `hostmaster' - lahko je va¹
  navaden e-mail naslov, vendar se pogosto prièakuje, da obstaja tudi
  naslov `hostmaster'.


  V tej datoteki je nov zapis vira, in sicer MX, kar pomeni po¹tni
  stre¾nik (ang.: Mail eXchanger). Ta zapis pove sistemom, kam naj
  po¹ljejo po¹to, ki je naslovljena na nekdo@linux.izmislek, v tem
  primeru na mail.linux.izmislek ali mail.prijatelj.izmislek. ©tevilka
  pred imeni raèunalnikov pomeni prednost. Èe je le mogoèe, se po¹ta
  po¹lje stre¾niku z najmanj¹o ¹tevilko (10), sicer pa naslednjemu z
  najmanj¹o ¹tevilko, v tem primeru mail.prijatelj.izmislek, ki ima
  prednost 20.



  Ponovno za¾enite named z ukazom ndc restart in opazujte rezultate z
  nslookup:



       $ nslookup
       > set q=any
       > linux.izmislek
       Server:  localhost
       Address:  127.0.0.1

       linux.izmislek
               origin = ns.linux.izmislek
               mail addr = hostmaster.linux.izmislek
               serial = 199802151
               refresh = 28800 (8 hours)
               retry   = 7200 (2 hours)
               expire  = 604800 (7 days)
               minimum ttl = 86400 (1 day)
       linux.izmislek     nameserver = ns.linux.izmislek
       linux.izmislek     preference = 10, mail exchanger = mail.linux.izmislek.linux.izmislek
       linux.izmislek     preference = 20, mail exchanger = mail.prijatelj.izmislek
       linux.izmislek     nameserver = ns.linux.izmislek
       ns.linux.izmislek  internet address = 192.168.196.2
       mail.linux.izmislek        internet address = 192.168.196.4





  Po pazljivem opazovanju boste odkrili napako. Vrstica



       linux.izmislek     preference = 10, mail exchanger = mail.linux.izmislek.linux.izmislek





  je popolnoma napaèna. Morala bi biti



       linux.izmislek     preference = 10, mail exchanger = mail.linux.izmislek





  Namenoma sem naredil napako, da se boste lahko iz nje nauèili :-) Èe
  pogledate v datoteko `zone', boste ugotovili, da v vrstici



                       MX      10 mail.linux.izmislek     ; Primary Mail Exchanger





  manjka pika. Ali drugaèe povedano, ima 'linux.izmislek' preveè. Èe se
  v datoteki `zone' ime raèunalnika ne konèa s piko, se mu doda izvor in
  v tem primeru povzroèi dvojen linux.izmislek.linux.izmislek. Torej je


  ______________________________________________________________________
                  MX      10 mail.linux.izmislek.    ; Primary Mail Exchanger
  ______________________________________________________________________




  ali


  ______________________________________________________________________
                  MX      10 mail                 ; Primary Mail Exchanger
  ______________________________________________________________________




  pravilno. Priporoèam uporabo druge mo¾nosti, ker je potrebnega manj
  tipkanja. Nekateri bind eksperti se s tem ne bodo strinjali, nekateri
  se bodo. V datoteki `zone' je lahko domena napisana in se konèa s `.',
  ali pa ni napisana in se namesto nje privzame izvorna domena.


  Poudariti moram, da v named.conf ne sme biti pike na koncu domen. ©e
  sanja se vam ne, kolikokrat je `.' preveè ali premalo zame¹ala stvari
  in popolnoma zmedla ljudi.


  Zdaj, ko sem vam vse to povedal, je tu nova, popravljena datoteka
  `zone' s ¹e nekaj dodatnimi informacijami:




































  ______________________________________________________________________
  ;
  ; Datoteka zone za linux.izmislek
  ;
  ; Popolna datoteka zone
  ;
  @       IN      SOA     ns.linux.izmislek. hostmaster.linux.izmislek. (
                          199802151       ; serijska ¹tevilka = datum + serijska #
                          8H              ; osve¾evanje, sekunde
                          2H              ; ponoven poskus, sekunde
                          1W              ; potek, sekunde
                          1D )            ; minimum, sekunde
  ;
                  TXT     "Linux.Izmislek, va¹i DNS konzultanti"
                  NS      ns              ; Internetni naslov imenskega stre¾nika
                  NS      ns.prijatelj.izmislek.
                  MX      10 mail         ; Primarni po¹tni stre¾nik
                  MX      20 mail.prijatelj.izmislek. ; Sekundarni po¹tni stre¾nik

  localhost       A       127.0.0.1

  gw              A       192.168.196.1
                  HINFO   "Cisco" "IOS"
                  TXT     "Usmerjevalnik"

  ns              A       192.168.196.2
                  MX      10 mail
                  MX      20 mail.prijatelj.izmislek.
                  HINFO   "Pentium" "Linux 2.0"
  www             CNAME   ns


  donald          A       192.168.196.3
                  MX      10 mail
                  MX      20 mail.prijatelj.izmislek.
                  HINFO   "i486"  "Linux 2.0"
                  TXT     "DEK"

  mail            A       192.168.196.4
                  MX      10 mail
                  MX      20 mail.prijatelj.izmislek.
                  HINFO   "386sx" "Linux 1.2"

  ftp             A       192.168.196.5
                  MX      10 mail
                  MX      20 mail.prijatelj.izmislek.
                  HINFO   "P6" "Linux 2.1.86"
  ______________________________________________________________________




  Tukaj smo spoznali ¹e cel kup novih zapisov: HINFO, informacija o
  raèunalniku (ang.: Host INFOrmation), ima dva dela in dobra navada je,
  da ju izpolnite. Prvi del je strojna oprema ali procesor raèunalnika,
  drugi pa operacijski sistem. Raèunalnik z imenom 'ns' ima procesor
  Pentium in poganja Linux 2.0. CNAME, kanonièno ime (ang.: Canonical
  NAME) je naèin za poimenovanje istega raèunalnika z veè razliènimi
  imeni. V na¹em primeru je www alternativno ime za ns.


  Uporaba zapisa CNAME je nekoliko sporna, vendar se je popolnoma varno
  ravnati po pravilu, da se zapisi MX, CNAME in SOA ne smejo nikoli
  nana¹ati na zapis CNAME, temveè samo na nekaj z zapisom A. Na primer,
  ni priporoèljivo, da imate

  ______________________________________________________________________
  foobar          CNAME   www                     ; NE!
  ______________________________________________________________________




  medtem, ko je takole pravilno


  ______________________________________________________________________
  foobar          CNAME   ns                      ; Da!
  ______________________________________________________________________




  Prav tako se je varno zana¹ati na to, da CNAME ni dovoljeno ime
  raèunalnika za e-mail naslov: webmaster@www.linux.izmislek na primer
  ni dovoljen naslov glede na zgoraj navedene nastavitve. Prièakujete
  lahko, da bo kar nekaj administratorjev Tam Zunaj hotelo, da to
  pravilo upo¹tevate, èeprav za vas morda deluje. Naèin, da prepreèite
  te¾ave je uporaba zapisov A (in ¹e nekaterih drugih, na primer MX):


  ______________________________________________________________________
  www             A       192.168.196.2
  ______________________________________________________________________




  Nekaj bind strokovnjakov celo priporoèa, naj se zapisi CNAME sploh ne
  uporabljajo, vendar razprava 'zakaj' in 'zakaj ne' ne spada v ta
  HOWTO.


  Kot ste lahko ¾e opazili, se ta HOWTO in mnogo internetnih strani ne
  dr¾i tega pravila.


  Nalo¾ite novo bazo podatkov z ukazom ndc reload, ki pove named, naj ¹e
  enkrat prebere svoje datoteke.



       $ nslookup
       Default Server:  localhost
       Address:  127.0.0.1

       > ls -d linux.izmislek





  Ta ukaz prelista vse zapise. Rezultat je sledeè:









  [localhost]
  $ORIGIN linux.izmislek.
  @                       1D IN SOA       ns hostmaster (
                                          199802151       ; serial
                                          8H              ; refresh
                                          2H              ; retry
                                          1W              ; expiry
                                          1D )            ; minimum

                          1D IN NS        ns
                          1D IN NS        ns.prijatelj.izmislek.
                          1D IN TXT       "Linux.Izmislek, va¹i DNS konzultanti"
                          1D IN MX        10 mail
                          1D IN MX        20 mail.prijatelj.izmislek.
  gw                      1D IN A         192.168.196.1
                          1D IN HINFO     "Cisco" "IOS"
                          1D IN TXT       "Usmerjevalnik"
  mail                    1D IN A         192.168.196.4
                          1D IN MX        10 mail
                          1D IN MX        20 mail.prijatelj.izmislek.
                          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.prijatelj.izmislek.
                          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.prijatelj.izmislek.
                          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.prijatelj.izmislek.
                          1D IN HINFO     "Pentium" "Linux 1.2"





  Tole je v redu. Kot lahko vidite, je izpis zelo podoben sami datoteki
  `zone'. Poglejmo, kaj pravi samo za www:



       > set q=any
       > www.linux.izmislek.
       Server:  localhost
       Address:  127.0.0.1

       www.linux.izmislek canonical name = ns.linux.izmislek
       linux.izmislek     nameserver = ns.linux.izmislek
       linux.izmislek     nameserver = ns.prijatelj.izmislek
       ns.linux.izmislek  internet address = 192.168.196.2





  Z drugimi besedami, pravo ime www.linux.izmislek je ns.linux.izmislek,
  poleg tega pa vam poda ¹e nekaj drugih informacij o ns, dovolj, da bi
  se lahko prikljuèili nanj, èe bi bili program.



  Sedaj smo na polovici poti.


  4.3.  Obratni vnosi

  Trenutno lahko programi pretvorijo imena v linux.izmislek v naslove,
  na katere se lahko prikljuèijo, potrebujemo pa ¹e obratne vnose, ki
  bodo omogoèili DNS-u, da pretvarja naslove v imena. Imena so pomembna
  informacija za mnoge stre¾nike (FTP, IRC, WWW in druge), ki na podlagi
  tega odloèajo, ali se bodo sploh pogovarjali z vami ali ne ter kak¹no
  prednost vam bodo dali v primeru, da se bodo. Za popoln dostop do
  uslug na internetu potrebujete obratne vnose.


  Dodajte tole v named.conf:


  ______________________________________________________________________
  zone "196.168.192.in-addr.arpa" {
          notify no;
          type master;
          file "pz/192.168.196";
  };
  ______________________________________________________________________




  Stvar je natanko tak¹na, kot pri 0.0.127.in-addr.arpa, pa tudi vsebina
  je podobna:


  ______________________________________________________________________
  @       IN      SOA     ns.linux.izmislek. hostmaster.linux.izmislek. (
                          199802151 ; Serijska ¹tevilka = datum + serijska #
                          8H      ; Osve¾evanje
                          2H      ; Ponoven poskus
                          1W      ; Potek
                          1D)     ; Minimum TTL
                  NS      ns.linux.izmislek.

  1               PTR     gw.linux.izmislek.
  2               PTR     ns.linux.izmislek.
  3               PTR     donald.linux.izmislek.
  4               PTR     mail.linux.izmislek.
  5               PTR     ftp.linux.izmislek.
  ______________________________________________________________________




  Ponovno za¾enite named (ndc restart) in preglejte va¹e delo z
  nslookup:


  ______________________________________________________________________
  > 192.168.196.4
  Server:  localhost
  Address:  127.0.0.1

  Name:    mail.linux.izmislek
  Address:  192.168.196.4
  ______________________________________________________________________



  Zaenkrat izgleda v redu, preglejmo ¹e ostale dele:


  ______________________________________________________________________
  > ls -d 196.168.192.in-addr.arpa
  [localhost]
  $ORIGIN 196.168.192.in-addr.arpa.
  @                       1D IN SOA       ns.linux.izmislek. hostmaster.linux.izmislek. (
                                          199802151       ; serial
                                          8H              ; refresh
                                          2H              ; retry
                                          1W              ; expiry
                                          1D )            ; minimum

                          1D IN NS        ns.linux.izmislek.
  1                       1D IN PTR       gw.linux.izmislek.
  2                       1D IN PTR       ns.linux.izmislek.
  3                       1D IN PTR       donald.linux.izmislek.
  4                       1D IN PTR       mail.linux.izmislek.
  5                       1D IN PTR       ftp.linux.izmislek.
  @                       1D IN SOA       ns.linux.izmislek. hostmaster.linux.izmislek. (
                                          199802151       ; serial
                                          8H              ; refresh
                                          2H              ; retry
                                          1W              ; expiry
                                          1D )            ; minimum
  ______________________________________________________________________




  Odlièno! Èe va¹ izpis ne izgleda takole, poglejte v syslog za
  sporoèila o napakah, kot sem razlo¾il na zaèetku tega poglavja.


  4.4.  Opozorila

  k0Rad bi dodal ¹e nekaj stvari. IP ¹tevilke, ki sem jih uporabil v
  primerih, navedenih tukaj, so vzete iz blokov 'privatnih mre¾', kar
  pomeni, da se jih v internetu ne sme uporabljati za prave naslove. So
  pa zato varne za uporabo v primerih. Druga stvar, na katero vas moram
  opozoriti je vrstica notify no;, ki pove named, naj svojih sekundarnih
  stre¾nikov ne opozarja na spremembe datotek `zone'. V bind-8 lahko
  named opozori druge stre¾nike, navedene v zapisih NS, kadar se kak¹na
  od teh spremeni. To je sicer pripravno pri resnièni uporabi, za
  privatne poskuse pa mora biti izkljuèeno - saj vendar noèemo, da bi
  na¹i poskusi onesna¾ili internet, kajne?


  In seveda, ta domena je popolnoma izmi¹ljena, kot so izmi¹ljeni tudi
  naslovi v njej. Za primer prave domene glejte naslednje poglavje.


  4.5.  Zakaj obratne poizvedbe ne delujejo.

  Obstaja nekaj zank pri postavljanju obratnih vnosov, ki jih navadno
  re¹imo z imenskimi poizvedbami. Preden greste naprej, potrebujete
  delujoèe obratne vnose - èe vam ne delujejo, pojdite nazaj in jih
  popravite.


  Razlo¾il bom dve mo¾nosti, zaradi katerih obratni vnosi ne delujejo,
  kot so videti iz izven va¹ega omre¾ja.



  4.5.1.  Obratni vnosi niso pristojni.

  Ko dobite od ponudnika svoj del omre¾ja in domeno, je domena navadno
  pristojna za ta del omre¾ja. Pristojnost je zapis NS, lepilo, ki vam
  omogoèa priti od enega imenskega stre¾nika do drugega, kot sem
  pojasnil v poglavju o teoriji. Èe va¹i obratni vnosi ne delujejo,
  pojdite nazaj in ga preberite.  Zdaj.


  Tudi obratni vnosi morajo biti pristojni za doloèen del omre¾ja. Èe
  ste dobili omre¾je 192.168.192 z domeno linux.izmislek, mora ponudnik
  v svoje datoteke `zone' zapisati tako vnos NS za imenske poizvedbe,
  kot tudi vnos NS za obratne poizvedbe. Èe sledite verigi od in-
  addr.arpa. do vas, boste verjetno na¹li prekinitev - najverjetneje pri
  va¹em ponudniku. Kontaktirajte ga in ga prosite za odpravo napake.


  4.5.2.  Imate brezrazredno podmre¾o

  To je dokaj zapletena tema, vendar so brezrazredne podmre¾e dandanes
  zelo pogoste in èe niste vsaj srednje veliko podjetje, ste v njej
  najverjetneje tudi vi.


  Brezrazredne podmre¾e danes ohranjajo internet pri ¾ivljenju. Nekaj
  let nazaj je bilo veliko razprav o pomanjkanju IP ¹tevilk. Pametni
  ljudje v IETF (Internet Engineering Task Force, organizacija, ki skrbi
  za internet) so staknili glave in izna¹li re¹itev. Za doloèeno ceno.
  Ta cena je, da dobite manj kot ``C'' podmre¾o, poleg tega pa se lahko
  zgodi, da nekaj stvari ne bo delalo. Vpra¹ajte Gospoda DNS na
  http://www.acmebw.com/askmrdns/00007.htm za dobro razlago, kako se
  spopasti s tem problemom.


  Ste prebrali? Tega ne bom razlagal, zato si, prosim, preberite.


  Prvi del problema je, da mora va¹ ponudnik interneta razumeti tehniko,
  ki jo opisuje Gospod DNS. Nekateri majhni ponudniki je ne razumejo
  popolnoma, zato jim jo boste morda morali razlo¾iti. Prej se
  preprièajte, da jo sami obvladate ;-) Ponudnik bo nato postavil
  obratne vnose na njihovem stre¾niku, kar lahko preverite z nslookup.


  Drugi in zadnji del problema pa je, da morate tudi vi razumeti
  tehniko.  Èe o tem niste preprièani, pojdite nazaj in preberite ¹e
  enkrat, nato pa lahko postavite va¹e lastne brezrazredne obratne
  vnose, kot vam to opisuje Gospod DNS.


  Obstaja pa ¹e ena te¾ava. Stari programi ne bodo sposobni slediti
  triku CNAME v verigi poizvedovanja in zato ne bodo sposobni naresti
  obratnih poizvedb za va¹ raèunalnik. To lahko pomeni, da vas bo
  stre¾nik razvrstil v napaèen razred, vam prepovedal dostop oziroma
  storil kaj podobnega. Èe njegove usluge resnièno potrebujete, je edina
  mo¾nost (ki jo jaz poznam), da poprosite va¹ega ponudnika, naj vstavi
  va¹ PTR zapis v njihovo brezrazredno datoteko `zone', namesto v trik s
  CNAME vnosom.


  Nekateri ponudniki interneta vam bodo ponudili tudi drugaène re¹itve,
  kot so spletni forumi za obratne vnose in podobni avtomagièni sistemi.




  5.  Primer prave domene

  Tukaj je nekaj pravih datotek `zone'


  Uporabniki so predlagali, da poleg uènih primerov vkljuèim tudi
  datoteke prave in delujoèe domene.


  Te primere uporabljam z dovoljenjem Davida Bullocka z LAND-5. Datoteke
  so bile posnete 24. septembra 1996 in sem jih nato nekoliko popravil,
  da delujejo z bind 8, zato se to, kar vidite tu, nekoliko razlikuje od
  rezultatov, ki jih dobite iz poizvedovanja pri imenskih stre¾nikih
  LAND-5.


  5.1.  /etc/named.conf (ali /var/named/named.conf)

  Tukaj lahko najdemo glavne razdelke `zone' za dvoje obratne vnose:
  omre¾je 127.0.0 in omre¾je LAND-5 206.6.177. Tu je tudi primarni
  razdelek za land-5.com. Pozorni bodite na to, da datoteke niso
  shranjene v mapi pz, kot v tem HOWTO-ju, temveè v mapi zone.


  ______________________________________________________________________
  // Boot file for LAND-5 name server

  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";
  };
  ______________________________________________________________________




  Èe boste to datoteko skopirali v va¹ named.conf, da bi se igrali,
  PROSIM, vpi¹ite ¹e vrstico ``notify no;'' v razdelke `zone' za obe
  land-5, da prepreèite nesreèe.


  5.2.  /var/named/root.hints

  Zapomnite si, da je ta datoteka dinamièna in zato tale ni veè
  veljavna.  Svojo lahko naredite z dig-om, kot sem razlo¾il.


  ______________________________________________________________________
  ; <<>> 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
  ______________________________________________________________________




  5.3.  /var/named/zone/127.0.0

  Samo osnove; nujen zapis SOA in zapis, ki preslika 127.0.0.1 v
  localhost. Ni potrebno, da je v tej datoteki ¹e kaj. Verjetno ne bo
  nikoli potrebno, da jo popravljate, razen, èe se spremeni imenski
  stre¾nika ali e-mail administratorja DNS.











  ______________________________________________________________________
  @               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.
  ______________________________________________________________________




  5.4.  /var/named/zone/land-5.com

  Tukaj lahko vidimo zapis SOA in potreben zapis NS. Kot lahko opazite,
  ima LAND-5 tudi sekundarni imenski stre¾nik na ns2.psi.net. Tako tudi
  mora biti: vedno mora obstajati izven doloèene strani ¹e sekundarni
  imenski stre¾nik, za vsak sluèaj. Vidimo lahko, da obstaja glaven
  raèunalnik, land-5, ki skrbi za veliko razliènih internetnih uslug in
  ima tudi nekaj alternativnih imen narejenih s CNAME (druga mo¾nost je
  uporaba zapisov A).


  Iz zapisa SOA je razvidno, da domena izvira iz land-5.com, kontaktna
  oseba je root@land-5.com. Tudi hostmaster je pogosto uporabljen naslov
  za kontaktno osebo. Serijska ¹tevilka je v formatu yyyymmdd (leto,
  mesec, dan) s pripeto dnevno serijsko ¹tevilko; to je verjetno ¹esta
  verzija te datoteke na dan 20. septembra 1996. Zapomnite si, da se
  serijska ¹tevilka mora poveèevati monotono in ker je dana¹na serijska
  ¹tevilka omejena na eno cifro, mora po 9 popravkih poèakati do
  naslednjega dne, da lahko ponovno popravlja datoteko. Izognite se
  uporabi dveh cifer.































  ______________________________________________________________________
  @       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
                  TXT     "LAND-5 Corporation"

  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

  ;
  ;       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
  ______________________________________________________________________




  Èe v resnici opazujete imenske stre¾nike land-5, boste ugotovili, da
  so imena raèunalnikov v obliki ws_¹tevilka. Po bind razlièici 4 je
  named namreè zaèel zahtevati, da se toèno dr¾ite znakov, ki se smejo
  uporabiti v imenih. Bind-8 s tem sploh ne bi deloval veè, zato sem
  zamenjal `_' s pomi¹ljajem (-).


  ©e ena zanimiva stvar je dejstvo, da delovne postaje nimajo
  individualnih imen, temveè so le-ta sestavljena iz predpone in zadnjih
  delov IP ¹tevilk.  Uporaba tak¹nega sistema lahko moèno olaj¹a
  vzdr¾evanje, vendar je precej neosebna in je lahko povod za jezo va¹ih
  strank.


  Vidimo lahko tudi, da je funn.land-5.com alternativno ime za
  land-5.com, vendar z uporabo zapisa A in ne CNAME. To je dobra
  politika, kot sem povedal ¾e prej.


  5.5.  /var/named/zone/206.6.177

  Komentarji na to datoteko sledijo za njo.


  ______________________________________________________________________
  @               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.
  ; {Many repetitive definitions deleted - SNIP}
  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.
  ______________________________________________________________________




  Obratni vnosi so del nastavitev, ki povzroèa najveè te¾av. Uporabljajo
  se za iskanje imena raèunalnika, èe imate njegovo IP ¹tevilko. Primer:
  ste IRC stre¾nik in sprejemate povezave IRC klientov. Toda - ste
  norve¹ki IRC stre¾nik in ¾elite sprejemati le povezave klientov na
  norve¹kem in v drugih skandinavskih dr¾ava. Ko se na vas prikljuèi
  klient, vam lahko va¹a C knji¾nica pove IP ¹tevilko raèunalnika, ki se
  je prikljuèil, ker je le-ta napisana v vsakem paketu podatkov, ki
  pride po internetu. Sedaj lahko poklièete funkcijo gethostbyaddr, ki
  preslika IP ¹tevilko v ime raèunalnika.  Gethostbyaddr bo vpra¹al DNS
  stre¾nik in ta bo prevzel iskanje imena.  Predpostavimo, da se je
  poskusil prikljuèiti klient z ws-177200.land-5.com.  IP ¹tevilka, ki
  vam jo pove C knji¾nica, je 206.6.177.200. Da ugotovimo ime
  raèunalnika moramo najti 200.177.6.206.in-addr.arpa. DNS stre¾nik bo
  najprej na¹el stre¾nike za arpa., nato stre¾nike za in-addr.arpa. in
  sledil po ¹tevilkah 206 in 6 ter konèno na¹el stre¾nik za
  177.6.206.in-addr.arpa. na LAND-5. Od njega bo dobil odgovor, da ima
  za 200.177.6.206.in-addr.arpa zapis ``PTR ws-177200.land-5.com'', kar
  pomeni, da k naslovu 206.6.177.200 spada ime ws-177200.land-5.com.


  Pojdimo nazaj k primeru IRC stre¾nika. Stre¾nik sprejema samo povezave
  iz skandinavskih de¾el, to je *.no, *.se in *.dk.  Ime
  ws-177200.land-5.com vsekakor ne ustreza nobeni od teh mo¾nosti, zato
  bo stre¾nik prepreèil povezavo. Èe ne bi bilo obratnih preslikav za
  206.6.177.200 èez in-addr.arpa, stre¾nik sploh ne bi mogel najti imena
  raèunalnika in vse, kar bi imel za primerjati z *.no, *.se in *.dk bi
  bilo 206.2.177.200 - kar se seveda ne bi ujemalo.


  Nekateri ljudje vam bodo govorili, da obratne poizvedbe sploh niso
  pomembne za stre¾nike, oziroma, da sploh niso pomembne. Ni res: mnogi
  ftp, novièarski, IRC in celo nekateri http (WWW) stre¾niki vam ne bodo
  dovolili, da se prikljuèite z raèunalnika, katerega imena ne morejo
  izvedeti. Zato so obratne poizvedbe v resnici izredno pomembne.


  6.  Vzdr¾evanje

  Skrbite, da bo vse delovalo.


  Poleg tega, da skrbite, da bo vse delovalo, imate ¹e eno nalogo -
  vzdr¾ujte datoteko root.hints toèno. To je najenostavneje z uporabo
  programa dig. Najprej ga za¾enite brez argumentov in dobili boste
  root.hints glede na va¹ stre¾nik, nato pa za¾enite dig ¹e z enim od
  korenskih stre¾nikov: dig @korenski-stre¾nik. Izhod, ki ga dobite, je
  nova datoteka root.hints. Shranite ga v datoteko (dig @e.root-
  servers.net . ns >root.hints.nov) in zamenjajte staro datoteko
  root.hints z njo.


  Ne pozabite ponovno zagnati named potem, ko ste zamenjali datoteko.


  Al Longyear mi je poslal skript za vzdr¾evanje root.hints, ki ga lahko
  poganjate avtomatièno - v crontab vpi¹ite vnos, ki ga bo pognal vsak
  mesec, nato pa lahko nanj pozabite. Skript predpostavlja, da imate
  delujoèo elektronsko po¹to in da na va¹em raèunalniku obstaja naslov
  `hostmaster'. Da bo ustrezala va¹im nastavitvam, jo morate pohekati
  sami.






















  ______________________________________________________________________
  #!/bin/sh
  #
  # Posodobimo predpomnilni¹ko datoteko imenskega stre¾nika enkrat na mesec.
  # Ta skript poganja avtomatièno vnos v crontabu.
  #
  # Original je napisal Al Longyear
  # Za bind 8 priredil Nicolai Langfeldt
  # David A. Ranch je poroèal o razliènih mo¾nih napakah
  # Test s pingom je predlagal Martin Foster
  #
  (
   echo "To: hostmaster <hostmaster>"
   echo "From: system <root>"
   echo "Subject: Avtomatièna posodobitev datoteke root.hints"
   echo

   PATH=/sbin:/usr/sbin:/bin:/usr/bin:
   export PATH
   cd /var/named

   # Smo povezani v internet? Pingajmo stre¾nik va¹ega ponudnika
   case `ping -qnc ponudnikov.streznik.net` in
     *'100% packet loss'*)
          echo "Ni povezave z internetom. Datoteka root.hints ni bila posodobljena"
          echo
          exit 0
          ;;
   esac

   dig @rs.internic.net . ns >root.hints.nov 2>&1

   case `cat root.hints.nov` in
     *NOERROR*)
          # Delovalo je
          :;;
     *)
          echo "Posodobitev datoteke root.hints NI USPELA."
          echo "Dig je sporoèil tole:"
          echo
          cat root.hints.nov
          exit 0
          ;;
   esac

   echo "Datoteka root.hints sedaj vsebuje naslednje informacije:"
   echo
   cat root.hints.nov

   chown root.root root.hints.nov
   chmod 444 root.hints.nov
   rm -f root.hints.star
   mv root.hints root.hints.star
   mv root.hints.nov root.hints
   ndc restart
   echo
   echo "Imenski stre¾nik je bil ponovno zagnan in sedaj ve za morebitne spremembe."
   echo "Prej¹nja datoteka root.hints se zdaj imenuje /var/named/root.hints.star."
  ) 2>&1 | /usr/lib/sendmail -t
  exit 0
  ______________________________________________________________________





  Morda ste izvedeli, da je datoteka root.hints na voljo tudi preko ftp
  na Internic. Prosim vas, da za posodobitev root.hints uporabljajte
  raje dig, ker je ta mo¾nost bolj prijazna tako do interneta kot do
  Internica.


  7.  Pretvarjanje iz razlièice 4 v razlièico 8

  To poglavje, ki ga je napisal David E. Smith (dave@bureau42.ml.org) je
  bilo v originalu poglavje o uporabi bind 8. Da se sklada z novim
  naslovom, sem ga nekoliko popravil.


  Na to temo ni potrebno veliko besed. Razen tega, da se uporablja
  named.conf namesto named.boot, je vse popolnoma enako. Bind8 ima tudi
  skript v perlu, ki vam pretvori stare datoteke v nove. Primer
  named.boot (starej¹a razlièica) za imenski stre¾nik s predpomnilnikom:


  ______________________________________________________________________
  directory /var/named
  cache   .                                       root.hints
  primary 0.0.127.IN-ADDR.ARPA                    127.0.0.zone
  primary localhost                               localhost.zone
  ______________________________________________________________________




  V mapi bind8/src/bin/named (tole predvideva, da imate distribucijo
  izvorne kode. Èe imate paket s prevedenim programom, je skript
  verjetno prav tako nekje in¹taliran, vendar ne vem toèno, kje. -ed) v
  ukazno vrstico napi¹ite:


  ______________________________________________________________________
  ./named-bootconf.pl < named.boot > named.conf
  ______________________________________________________________________




  To naredi 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";
  };
  ______________________________________________________________________




  Deluje za vse, kar je lahko v named.boot, èeprav ne doda novih
  pridobitev in mo¾nosti, ki jih omogoèa bin8. Tule je bolj popoln
  named.conf, ki deluje enako, vendar nekoliko bolj uèinkovito.


  ______________________________________________________________________
  // To je nastavitvena datoteka za named (BIND 8.1 ali novej¹i).
  // Navadno bo in¹talirana v /etc/named.conf
  // Edina razlika med to in `¾e pripravljeno' datoteko (poleg tega
  // komentarja :) je to, da sem odkomentiral vrstico `directory', ker
  // sem datoteke `zone' ¾e imel v /var/named.

  options {
          directory "/var/named";
          datasize 20M;
  };

  zone "localhost" IN {
          type master;
          file "localhost.zone";
  };

  zone "0.0.127.in-addr.arpa" IN {
          type master;
          file "127.0.0.zone";
  };

  zone "." IN {
          type hint;
          file "root.hints";
  };
  ______________________________________________________________________




  V distribuciji bind 8 lahko v mapi bind8/src/bin/named/test najdete
  tole in nekaj izvodov datotek `zone', ki jih veèina ljudi lahko le
  skopira in jih uporabi takoj.

  Formati datotek `zone' in root.hints so enaki, tako kot tudi ukazi za
  njihovo posodobljanje.


  8.  Vpra¹anja in odgovori

  Prosim, preberite to poglavje preden me kontaktirate.


  1. Moj named zahteva datoteko named.boot


     Berete napaèen HOWTO. Poglejte si starej¹o razlièico tega HOWTO-ja,
     ki pokriva bind 4, na http://www.math.uio.no/~janl/DNS/


  2. Kako uporabljam DNS izza po¾arnega zidu?


     Namig: forward only;, Verjetno boste potrebovali tudi


     ___________________________________________________________________
       query-source port 53;

     ___________________________________________________________________




  v razdelku ``options'' v datoteki named.conf, kot je napisano v
  primeru ``Imenski stre¾nik s predpomnilnikom''.


  3. Kako naj preprièam DNS, da periodièno obraèa razpolo¾ljive naslove
     za doloèeno uslugo, na primer za www.zelo-zaseden.com, da se
     obremenitev porazdeli na veè raèunalnikov?


     Naredite veè A zapisov za www.zelo-zaseden.com in uporabite bind
     4.9.3 ali novej¹ega. Potem bo bind avtomatsko spreminjal svoje
     odgovore. S prej¹njimi razlièicami binda to ne bo delovalo.


  4. Rad bi postavil DNS na (zaprtem) intranetu. Kaj moram storiti?


     Izpustite datoteko root.hints in napi¹ite le datoteke `zone'. To
     tudi pomeni, da vam ne bo treba posodabljati datoteke root.hints.


  5. Kako postavim sekundarni (pomo¾ni) imenski stre¾nik?


     Èe ima primarni/glavni stre¾nik naslov 127.0.0.1, dodajte tale
     razdelek v named.conf sekundarnega stre¾nika:










     ___________________________________________________________________
       zone "linux.bogus" {
             type slave;
             file "sz/linux.bogus";
             masters { 127.0.0.1; };
       };

     ___________________________________________________________________




  V polje masters lahko vpi¹ete tudi veè glavnih stre¾nikov, loèenih s
  ';' (podpièji).


  6. Rad bi poganjal bind tudi, ko nisem prikljuèen na internet.


     Na to temo so napisane tri re¹itve:


  ·  To pismo sem prejel od Iana Clarka, <ic@deakin.edu.au>. V njem
     opisuje, kako to stori.



       Named tukaj poganjam na raèunalniku za 'Ma¹kerado'. Imam dve datoteki
       root.hints, ena se imenuje root.hints.prava in vsebuje resniène podatke,
       druga pa je root.hints.neprava in vsebuje...

       ----
       ; root.hints.neprava
       ; ta datoteka ne vsebuje nobenih podatkov
       ----

       Ko se izkljuèim iz interneta, skopiram datoteko root.hints.neprava v
       root.hints in ponovno za¾enem named.

       Ko pa se spet prikljuèim v internet, skopiram root.hints.prava v root.hints
       in ponovno za¾enem named.

       Oboje naredita skripta ip-down & ip-up.

       Prviè, ko naredim poizvedbo o domeni, named nima podatkov o njej in v
       `messages' napi¹e...

       Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN

       s èimer lahko ¾ivim.

       Zame vsekakor odlièno deluje. Imenski stre¾nik lahko uporabljam za lokalne
       raèunalnike, medtem, ko niso prikljuèeni v internet, in sicer brez poteka
       èasa za zunanje domene, medtem, ko pa sem prikljuèen v internet, delujejo
       poizvedbe normalno.





  ·  Od Karl-Maxa Wagnerja sem prejel tudi informacijo, kako bind deluje
     vzajemno z NFS in portmapper-jem na raèunalniku, ki veèinoma ni
     prikljuèen v internet:



  Navadno poganjam lasten named na vseh raèunalnikih, ki so le obèasno
  prikljuèeni v internet preko modema. Imenski stre¾nik se obna¹a le kot
  predpomnilnik, nima podroèja pristojnosti in za vse poizvedbe spra¹uje
  stre¾nike iz datoteke root.hints. Kot je v navadi za Slackware, se tudi
  za¾ene pred nfsd in mountd.

  Z enim od mojih raèunalnikov (Libretto 30 notebook) sem imel te¾avo - vèasih
  sem ga lahko dosegel z drugega sistema, prikljuèenega v moj LAN, veèino èasa
  pa to ni delovalo. Ista te¾ava se je pojavila ne glede nato, ali sem
  uporabljalj PLIP, PCMCIA mre¾no kartico ali PPP po serijski povezavi.

  Po nekaj ugibanja in posku¹anja sem ugotovil, da je named nekako pokvaril
  postopek registracije, ki ga nfsd in mountd izvedeta s portmapper-jem pri
  zagonu (navadno takrat, ko za¾enem raèunalnik). Zagon named po nfsd in
  mountd je to te¾avo popolnoma odpravil.

  Ker tako spremenjena zagonska procedura nima stranskih uèinkov, vam
  priporoèam, da jo popravite in tako prepreèite morebitne te¾ave.





  ·  Zadnja mo¾nost so HOWTO informacije Vpra¹ajte Gospoda DNS na
     http://www.acmebw.com/askmrdns/#linux-ns, ki pa govorijo o bind 4
     in jih morate zato prilagoditi za bind 8.


  7. Kje ima named svoj predpomnilnik? Lahko kako vplivam na njegovo
     velikost?


     Predpomnilnik je v celoti shranjen v spominu in ni nikoli zapisan
     na disk, zato vsakiè, ko ubijete named, izgubite njegovo vsebino.
     Predpomnilnika ni mogoèe upravljati. Named ga uredi po nekih
     preprostih pravilih in to je to. Njegove vsebine in velikosti ne
     morete na noben naèin spremeniti ali omejiti. Èe ¾elite, lahko to
     ``popravite'' s hekanjem named, vendar vam tega ne priporoèam.


  8. Ali named shranjuje predpomnilnik med ponovnimi zagoni? Ga lahko
     pripravim do tega, da ga shrani?


     Named svojega predpomnilnika ne shranjuje, ko umre. To pomeni, da
     mora predpomnilnik zgraditi na novo vsakiè, ko ga ubijete in
     ponovno za¾enete. Ni naèina, da bi named shranil svoj predpomnilnik
     v datoteko.  Èe ¾elite, lahko to ``popravite'' s hekanjem named,
     vendar vam tega ne priporoèam.


  9. Kako lahko dobim domeno? ®elel bi svojo lastno domeno (na primer)
     linux-rules.net. Kako bi lahko to domeno pripisal nase?


     Kontaktirajte svojega ponudnika interneta, on vam bo zagotovo lahko
     pomagal. Vendar si zapomnite, da je v veèini delov sveta potrebno
     za domeno plaèati nekaj denarja.



  9.  Kako postati DNS administrator za dalj èasa.

  Dokumentacija in orodja.


  Prava Dokumentacija obstaja, na internetu in v tiskani obliki.
  Potrebno je, da preberete nekaj te dokumentacije in tako naredite
  korak od majhnega do velikega administratorja. V tiskani obliki je
  standardna knjiga DNS in BIND avtorja sta C. Liu in P. Albitz iz
  O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X. Sam sem jo
  prebral in je odlièna, èeprav se opira na bind 4, kar ni velik
  problem. Poglavje o DNS-u je tudi v Administracija omre¾ja TCPIP/,
  èigar avtor je Craig Hunt iz O'Reilly..., ISBN 0-937175-82-X. ©e eno
  nujno branje za Dobro administracijo DNS-a (oziroma dobro karkoli) je
  Zen in umetnost vzdr¾evanja motornih koles, avtor Robert M. Pirsig :-)
  Dosegljivo je kot ISBN 0688052304 in druge.


  Na internetu boste na¹li dobre stvari na  <http://www.dns.net/dnsrd/>
  (Mapa z zapisi o DNS),  <http://www.isc.org/bind.html>; FAQ, in
  referenèni priroènik (BOG; Bind Operations Guide), pa tudi èlanki in
  definicije protokola in DNS trikov (skoraj, èe ne popolnoma vse RFC-je
  navedene spodaj najdete tudi v distribuciji bind-a). Veèino teh sploh
  nisem prebral in zato tudi nisem velik DNS administrator. Arnt
  Gulbrandsen pa je prebral BOG in je popolnoma zanesen :-). Obstaja
  novièarska skupina o DNS, comp.protocols.tcp-ip.domains, poleg tega pa
  je na internetu tudi veliko ¹tevilo RFC-jev o DNS-u. Najpomembnej¹i so
  verjetno tile:


     RFC 2052
        A. Gulbrandsen, P. Vixie, DNS RR za doloèevanje lokacij servisov
        (DNS SRV), Oktober 1996


     RFC 1918
        Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,
        Dodelitev naslovov za privatna omre¾ja, 02/29/1996.


     RFC 1912
        D. Barr, Pogoste napake pri obratovanju in konfiguraciji DNS-a,
        02/28/1996.


     RFC 1912 Errors
        B. Barr Napake v RFC-ju 1912, dosegljiv je na
        http://www.cis.ohio-state.edu/~barr/rfc1912-errors.html

     RFC 1713
        A. Romao, Orodja za razhro¹èevanje DNS-a, 11/03/1994.


     RFC 1712
        C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS kodiranje
        geografskega polo¾aja, 11/01/1994.


     RFC 1183
        R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, Nove
        definicije DNS RR, 10/08/1990.


     RFC 1035
        P. Mockapetris, Domene - izvedba in specifikacije, 11/01/1987.


     RFC 1034
        P. Mockapetris, Domene - koncepti in mo¾nosti, 11/01/1987.

     RFC 1033
        M. Lottor, Vodiè za delovanje administratorjev domen,
        11/01/1987.


     RFC 1032
        M. Stahl, Vodiè za administratorje domen, 11/01/1987.


     RFC 974
        C. Partridge, Usmerjanje po¹te in sistem domen, 01/01/1986.