NSD nimeserveri kasutamine OpenBSDga

Allikas: Kuutõrvaja
Redaktsioon seisuga 26. jaanuar 2010, kell 00:09 kasutajalt Imre (arutelu | kaastöö) (Primaarse nimeserver)

Sissejuhatus

Üks võimalus on jaotada nimeservereid gruppidesse selle järgi, millised päringuid nad teenindavad

  • autoriteetne (ingl. k. authoritative) -
  • rekursiivne (ingl. k. recursive) -
  • vaheladustav (ingl. k. caching) -

Seejuures tuleb tähele panna, et sama nimeserveri tarkvara saab käivitada kas mõnes või äärmisel juhul kõigil nimetatud režiimides. Arusaadavalt eeldab mingis režiimis käivitamine, et kõnealune nimeserveri tarkvara vastavat režiimi toetab.

NSD (ingl. k. name server daemon) autoriteetne nimeserver.

NSD paigaldamine

OpenBSD 4.6 jaoks on olemas binaarse paketi kujul NSD tarkvara versiooni 3.2.2, paigaldamiseks tuleb öelda

 # pkg_add nsd

Tulemusena paigaldatakse sellised programmid

  • /usr/local/sbin/nsd - nsd deemon
  • /usr/local/sbin/nsd-notify - notify utiliit
  • /usr/local/sbin/zonec - tsooniandmete kodeerija
  • /usr/local/sbin/nsdc - nsd deemoni juhtprogramm
  • /usr/local/sbin/nsd-xfer - tsooni kopeerimise utiliit
  • /usr/local/sbin/nsd-patch - teisendab andmed tekstilisele kujule

Primaarne nimeserver

TODO

Primaarse nimeserveri seadistamine

NSD programmi tööd juhib seadistusfail /etc/nsd/nsd.conf, mis võiks olla primaarsel nimeserveril nt selline

 server:
       ip-address: 192.168.10.161
       ip4-only: yes
       port: 53
 
 zone:
       name: "loomaaed.tartu.ee"
       zonefile: "loomaaed.tartu.ee"
       outgoing-interface: 192.168.10.161
       notify: 192.168.10.190 NOKEY
       provide-xfr: 192.168.10.190 NOKEY

kus

  • name - tsooni nimi
  • zonefile - tsoonifaili nimi
  • outgoing-interface -
  • notify -
  • provide-xfr -

Primaarse tsooni ettevalmistamine

Tsoonifailid ise on samasuguse sisuga nagu BIND tarkvara tsoonifailid st nt

 # cat /etc/nsd/primary/talv.loomaaed.tartu.ee
 $TTL    604800
 @       IN      SOA   ns.talv.loomaaed.tartu.ee. root.ns.talv.loomaaed.tartu.ee. (
                      2010012400         ; Serial
                          604800         ; Refresh
                           86400         ; Retry
                         2419200         ; Expire
                          604800 )       ; Negative Cache TTL
 ;
 @       IN      NS      ns.talv.loomaaed.tartu.ee.
 ns      IN      A       192.168.1.50
 www     IN      A       192.168.1.51

Selleks, et primaarne nimeserver saaks tsoonifaili kasutada, tuleb tsoonifail kompileerida öeldes

 # nsdc rebuild
 zonec: reading zone "talv.loomaaed.tartu.ee".
 zonec: processed 4 RRs in "talv.loomaaed.tartu.ee".
 
 zonec: done with 0 errors.

Tulemusena tekib sobiva sisuga fail

 /var/nsd/nsd.db

Primaarse nimeserveri kasutamine

Primaarse nimeserveri käivitamiseks peab olema kompileeritud tsoonide andmebaas ning tuleb öelda

 # nsdc start

Nimeserveri seiskamiseks tuleb öelda

 # nsdc stop

Peale tsoonifailis muudatuste tegemist tuleb tsoon kompileerida ning öelda

 # nsdc reload

Seadistusfailis näidatud sekundaarsetele nimeserveritele saadetakse notify reload tegemisel automaatselt, kuid seda saab teha ka ilmutatud kujul

 # nsdc notify

Sekundaarne nimeserver

TODO

Sekundaarse nimeserveri seadistamine

NSD programmi tööd juhib seadistusfail /etc/nsd/nsd.conf, mis võiks olla seknudaarsel nimeserveril nt selline

 server:
       ip-address: 192.168.10.190
       ip4-only: yes
       port: 53
 
 zone:
       name: "loomaaed.tartu.ee"
       zonefile: "loomaaed.tartu.ee"
       outgoing-interface: 192.168.10.190
       allow-notify: 192.168.10.161 NOKEY
       request-xfr: 192.168.10.161 NOKEY

kus

  • name - tsooni nimi
  • zonefile - tsoonifaili nimi
  • outgoing-interface -
  • allow-notify -
  • request-xfr -

Sekundaarse tsooni ettevalistamine

Sekundaarse tsooni sisu kopeeritakse töö käigus primaarselt.

Sekundaarse nimeserveri kasutamine

Üldiselt tuleb NSD käivitamiseks öelda

 # nsdc start

ja seiskamiseks

 # nsdc stop

Töö käigus saadab primaarne nimeserver sekundaarsele notify teate, seejärel kopeerib sekundaarne primaarselt vastava tsooni. Tulemus salvestatakse mitmesse faili

  • /var/nsd/nsd.db
  • /var/nsd/ixfr.db

Sekundaarse tsoonifaili kopeerimiseks vastavasse tekstifaili tuleb öelda

 # nsdc patch

Tulemusena tekib tekstifail

 /var/nsd/zones/loomaaed.tartu.ee.zone

NSD nimeserveri töö kontrollimine

NSD serverile päringu esitamiseks sobib öelda nii, näidates eraldi, et küsimuses ei kasutata recurse lippu

 # dig +norecurse @localhost www.talv.loomaaed.tartu.ee a
 
 ; <<>> DiG 9.5.1-P3 <<>> +norecurse @localhost www.talv.loomaaed.tartu.ee a
 ; (2 servers found)
 ;; global options:  printcmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26773
 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
 
 ;; QUESTION SECTION:
 ;www.talv.loomaaed.tartu.ee.    IN      A
 
 ;; ANSWER SECTION:
 www.talv.loomaaed.tartu.ee. 604800 IN   A       192.168.1.51
 
 ;; AUTHORITY SECTION:
 ns.talv.loomaaed.tartu.ee. 604800  IN      NS      ns.talv.loomaaed.tartu.ee.
 
 ;; ADDITIONAL SECTION:
 ns.talv.loomaaed.tartu.ee. 604800 IN    A       192.168.1.51

kus vastuses on antud

  • QUESTION SECTION - korratakse küsimust
  • ANSWER SECTION - vastus küsimusele
  • AUTHORITY SECTION - autoriteetsete andmete osa
  • ADDITIONAL SECTION - täiendavate andmete osa

NSD tarkvara sisaldab utiliiti nsd-xfer, millega sobib kopeerida tsooni ja mida ta ka ise sisemiselt kasutab

 # nsd-xfer -z talv.loomaaed.tartu.ee -f /tmp/talv.loomaaed.tart.ee.zone 192.168.1.251

TSIG signatuuride kasutamine

Transaktsiooni signatuure (ingl. k. Transaction SIGnature, TSIG) kasutatakse selleks, et tagada kahe nimeseveri, tavaliselt primaarse ja sekundaarse andmevahetusel andmete autentsus.

Selleks tuleb kirjeldada mõlema nimeseveri /etc/nsd/nsd.conf seadistusfailis võti

 key:
       name: tsoonivoti
       algorithm: hmac-md5
       secret: "K2tf3TRjvQkVCmJF3/Z9vA=="

ning seda seejärel tsooni juures kasutada

       notify: 192.168.10.190 tsoonivoti
       provide-xfr: 192.168.10.190 tsoonivoti

Kasulikud lisamaterjalid