NSD nimeserveri kasutamine OpenBSDga
Sisukord
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
ning kasutatakse selliseid faile ja katalooge
- /etc/nsd - seadistusfailid
- /var/nsd/zones - tsoonifailid
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