Djbdns nimeserveri kasutamine Debian Lenniga

Allikas: Kuutõrvaja
                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

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.

djbdns on iseenesest autoriteetne, rekursiivne ja vaheladustav nimeserver.

Tööpõhimõte

djbdns tarkvara erineb oluliselt teistest nimeserveritest selle poolest, et tarkvara on modulaarne. Erinevaid funktsioone täidavad erinevate kasutajatena töötavad protsessid, nt

  • dnscache - rekursiivne dns server, ei sisalda autoriteetseid andmeid
  • tinydns - autoriteetne dns server, mis teenindab üle UDP
  • axfrdns - autoriteetne dns server, mis teenindab üle TCP

djbdns protsessid töötavad nö daemontools ja ucspi-tcp utiliitide keskkonnas. Keskkond tagab protsessidele võrguühendused, logimise, ressursipiirangud jms.

djbdns paigaldamine

djbdns tarkvara paigaldamiseks tuleb öelda

 # apt-get install djbdns

kusjuures lisaks paigaldatakse sellised paketid

  • daemontools - komplekt utiliite unixi deemonite pidamiseks, korraldab deemonite töö jälgimise, logi jms
  • daemontools-run - paketi paigaldamisega kaasneb muudatuste tegemine /etc/inittab faili, lisaks sisaldab daemontools töötaks mõnda vajalikku utiliiti, nt update-service
  • ucspi-tcp - komplekt utiliite tcp ühenduste pidamiseks

Lisaks tuleb lisada kasutaja:grupp dnslog:dns

 # groupadd dns
 # useradd -g dns dnslog

dnscache seadistamine

dnscache on djbdns komplekti rekursiivne resolver, tarkvara kasutamiseks ettevalmistamiseks peab süsteemis olema kasutaja:grupp dnscache:dns

 # useradd -g dns dnscache

ning üks kord öelda nt

 # dnscache-conf dnscache dnslog /etc/service/dnscache 192.168.10.53

kus

  • dnscache - kasutajanimi
  • dnslog - kasutajagrupp
  • /etc/service/dnscache - kataloog kuhu dnscache tööd puudutavad andmed paigutatakse
  • 192.168.10.53 - arvuti ip aadress, millel hakatakse päringutele vastama

Täiendav dnscache seadistamine toimub /etc/service/dnscache alla jäävas muutatuste tegemise teel, nt

  • selleks, et subnetist 10.0.0.0/24 saaks esitada päringuid tuleb öelda
 # touch /etc/service/dnscache/root/ip/10.0.0.0

kusjuures muudatus kehtestub koheselt.

tinydns seadistamine

tinydns on djbdns komplekti autoriteetne nimeserver, mille kasutamiseks ettevalmistamiseks peab süsteemis olema kasutaja:grupp tinydns:dns

 # useradd -g dns dnscache

ning üks kord öelda nt

 # tinydns-conf tinydns dnslog /etc/service/tinydns 127.0.0.1

Tsooniandmete lisamiseks tuleb kirjeldada andmed failis

 # cat /etc/service/tinydns/root# cat data
 #define the authoritative nameserver
 .loomaaed.tartu.ee::ns.loomaaed.tartu.ee
 #mail exchanger
 @loomaaed.tartu.ee::mail.loomaaed.tartu.ee
 #arvutite ip aadressid
 =arvuti-1.loomaaed.tartu.ee:192.168.3.1
 =arvuti-2.loomaaed.tartu.ee:192.168.3.2
 # arvuti-1 on ka nimeserver
 +ns.loomaaed.tartu.ee:192.168.3.1
 # arvuti-2 on postimasin
 +mail.loomaaed.tartu.ee:192.168.3.2
 #and our webserver
 +www.loomaaed.tartu.ee:192.168.3.2

tinydns andmebaasi tekitamiseks tuleb öelda

 # cd /etc/service/tinydns/root
 # make

axfrdns seadistamine

axfrdns on djbdns komplekti autoriteetne nimeserveri üle tcp töötav komponent, mille kasutamiseks ettevalmistamiseks peab süsteemis olema kasutaja:grupp axfrdns:dns

 # useradd -g dns axfrdns

ning üks kord öelda nt

 # axfrdns-conf axfrdns dnslog /etc/service/axfrdns /etc/service/tinydns 127.0.0.1

Nt tsooni kopeerimiseks peab failis /etc/service/axfrdns/tcp sisalduma rida

 127.0.0.1:allow,AXFR="loomaaed.tartu.ee"

ning seejärel öelda

 # cd /etc/service/axfrdns
 # make

djbdns käivitamine

djbdns programmid käivad svc tarkvara kontrolli all, daemontools-run paketi paigaldamisel lisatakse /etc/inittab faili sissekanne

 #-- daemontools-run begin
 SV:123456:respawn:/usr/bin/svscanboot
 #-- daemontools-run end

Töötava dnscache, tinydns ja axfrdns protsessid näevad välja sellised

 root      7830  0.0  0.2  17276  1368 ?        Ss   16:13   0:00 /bin/sh /usr/bin/svscanboot
 root      7832  0.0  0.0   3824   448 ?        S    16:13   0:00  \_ svscan /etc/service
 root      8089  0.0  0.0   3652   392 ?        S    17:12   0:00  |   \_ supervise dnscache
 root      8090  0.0  0.0   3652   392 ?        S    17:12   0:00  |   \_ supervise log
 dnslog    8091  0.0  0.0   3664   392 ?        S    17:12   0:00  |   |   \_ multilog t ./main
 root      8504  0.0  0.0   3652   396 ?        S    19:26   0:00  |   \_ supervise dnscache
 root      8505  0.0  0.0   3652   396 ?        S    19:26   0:00  |   \_ supervise log
 dnslog    8506  0.3  0.0   3796   460 ?        S    19:26   0:23  |   |   \_ multilog t ./main
 root      8839  0.0  0.0   3652   396 ?        S    20:41   0:00  |   \_ supervise tinydns
 tinydns   9087 17.2  0.0   3904   456 ?        S    21:28   0:48  |   |   \_ /usr/bin/tinydns
 root      8840  0.0  0.0   3652   392 ?        S    20:41   0:00  |   \_ supervise log
 dnslog    8842  0.6  0.0   3796   460 ?        S    20:41   0:19  |   |   \_ multilog t ./main
 root      8915  0.0  0.0   3652   392 ?        S    21:03   0:00  |   \_ supervise axfrdns
 root      9089  0.0  0.0   3684   400 ?        S    21:28   0:00  |   |   \_ tcpserver -vDRHl0 -x \
   tcp.cdb -- 192.168.10.53 53 /usr/bin/axfrdns
 root      8916  0.0  0.0   3652   392 ?        S    21:03   0:00  |   \_ supervise log
 dnslog    8918  0.0  0.0   3664   392 ?        S    21:03   0:00  |       \_ multilog t ./main
 root      7833  0.0  0.0   3640   352 ?        S    16:13   0:00  \_ readproctitle service errors: ....

Nt dnscache käivitamiseks tuleb öelda

 # svc -u /etc/service/dnscache

ja seiskamiseks

 # svc -d /etc/service/dnscache

Kontrolliks

 # svstat /etc/service/dnscache
 /etc/service/dnscache: up (pid 8507) 403 seconds

Logi tekib faili

 /etc/service/dnscache/log/main/current

djbdns programmide töö lõpetamiseks tuleb /etc/inittab failist vastav rida välja kommenteerida ja öelda

 # telinit q

djbdns kasutamine

TODO

Märkused

  • djbdns ei sisalda SecDNS vahendeid

Kasulikud lisamaterjalid