Erinevus lehekülje "BIND nimeserveri kasutamine Debian Lenniga" redaktsioonide vahel

Allikas: Kuutõrvaja
(Kasulikud lisamaterjalid)
 
(ei näidata 2 kasutaja 11 vahepealset redaktsiooni)
1. rida: 1. rida:
 +
[[Kategooria:Interneti domeeninimede süsteem]]
 +
[[Kategooria:Debian]]
 
===Sissejuhatus===
 
===Sissejuhatus===
  
31. rida: 33. rida:
 
* teenindab kõikidelt ip aadressidelt tehtud päringuid
 
* teenindab kõikidelt ip aadressidelt tehtud päringuid
 
* esitab päringuid internetti nö juurserverite kaudu (st ei forwardi päringuid nt oma teenusepakkuja nimeserverile)
 
* esitab päringuid internetti nö juurserverite kaudu (st ei forwardi päringuid nt oma teenusepakkuja nimeserverile)
 +
 +
Vaikimisi on kasutusel sellised seadistusfailid
 +
 +
# find /etc/bind -type f | sort
 +
/etc/bind/db.0
 +
/etc/bind/db.127
 +
/etc/bind/db.255
 +
/etc/bind/db.empty
 +
/etc/bind/db.local
 +
/etc/bind/db.root
 +
/etc/bind/named.conf
 +
/etc/bind/named.conf.local
 +
/etc/bind/named.conf.options
 +
/etc/bind/rndc.key
 +
/etc/bind/zones.rfc1918
  
 
Nimeserveri seadistustes tehtud muudatuste kehtestamiseks juhtprogrammiga rndc sobib öelda
 
Nimeserveri seadistustes tehtud muudatuste kehtestamiseks juhtprogrammiga rndc sobib öelda
36. rida: 53. rida:
 
   # rndc reload
 
   # rndc reload
  
===Vahendava nimeserveri seadistamine===
+
===Rekursiivse nimeserveri seadistamine===
 +
 
 +
====Rekursiivne nimeserver====
 +
 
 +
Rekursiivne nimeserver lahendab oma klientide päringuid teiste nimeserverite abil. Rekursiooni sisselülitamiseks sobib kasutada seadistusfailis
 +
 
 +
acl clients {
 +
        localnets;
 +
        ::1;
 +
        192.168.0.0/24;
 +
        172.16.0.0/24;
 +
 +
...
 +
options {
 +
...
 +
allow-recursion { clients; };
 +
}
 +
 
 +
kus
 +
 
 +
* acl clients kirjeldab kõneksolevale aclile vastavad aadressid
 +
* allow-recursin ütleb millist acli on lubatud rekursiivselt teenindada
 +
 
 +
====Vahendav nimeserver====
  
 
Vahendav (ingl. k. forwarding) nimeserver esitab kõik talle klientide poolt esitatud päringud edasi mõnele teisele seadistusfailis näidatud nimeserverile ja vahendab kliendile tagasi vastuseid. Globaalselt ehk kõiki päringuid vahendava nimeserveri seadistamiseks sobib kasutada /etc/bind/named.conf.options failis sektsiooni (või kui seda faili ei kasutata, siis named.conf failis options { } sektsioonis)
 
Vahendav (ingl. k. forwarding) nimeserver esitab kõik talle klientide poolt esitatud päringud edasi mõnele teisele seadistusfailis näidatud nimeserverile ja vahendab kliendile tagasi vastuseid. Globaalselt ehk kõiki päringuid vahendava nimeserveri seadistamiseks sobib kasutada /etc/bind/named.conf.options failis sektsiooni (või kui seda faili ei kasutata, siis named.conf failis options { } sektsioonis)
93. rida: 133. rida:
 
Kasutamisvõimalustest annab ülevaate programmi käivitamine ilma argumentideta
 
Kasutamisvõimalustest annab ülevaate programmi käivitamine ilma argumentideta
  
  # rndc
+
# rndc
  
 
Päringulogi sisselülitamiseks tuleb öelda
 
Päringulogi sisselülitamiseks tuleb öelda
  
  # rndc querylog
+
# rndc querylog
  
 
ning kui seejärel sooritada päring, nt
 
ning kui seejärel sooritada päring, nt
  
  $ dig @localhost kuutorvaja.eeneti.ee a
+
$ dig @localhost kuutorvaja.eeneti.ee a
  
 
siis ilmub logisse vastav sissekanne
 
siis ilmub logisse vastav sissekanne
  
  # tail -f /var/log/daemon.log
+
# tail -f /var/log/daemon.log
  ...
+
...
  Mar  8 17:50:11 moraal named[1577]: received control channel command 'querylog'
+
Mar  8 17:50:11 moraal named[1577]: received control channel command 'querylog'
  Mar  8 17:50:11 moraal named[1577]: query logging is now on
+
Mar  8 17:50:11 moraal named[1577]: query logging is now on
  Mar  8 17:50:23 moraal named[1577]: client 127.0.0.1#38724: query: kuutorvaja.eenet.ee IN A +
+
Mar  8 17:50:23 moraal named[1577]: client 127.0.0.1#38724: query: kuutorvaja.eenet.ee IN A +
  Mar  8 17:50:27 moraal named[1577]: received control channel command 'querylog'
+
Mar  8 17:50:27 moraal named[1577]: received control channel command 'querylog'
  Mar  8 17:50:27 moraal named[1577]: query logging is now off
+
Mar  8 17:50:27 moraal named[1577]: query logging is now off
  
 
Päringulogi väljalülitamiseks tuleb öelda uuesti
 
Päringulogi väljalülitamiseks tuleb öelda uuesti
  
  # rndc querylog
+
# rndc querylog
 +
 
 +
Tsooni ülelaadimine views
 +
 
 +
# rndc refresh loomaaed.tartu.ee IN vaatajad
 +
 
 +
kus
 +
 
 +
* IN - klassinimi
 +
* vaatajad - view nimi
  
 
===Logimine===
 
===Logimine===
188. rida: 237. rida:
  
 
TODO
 
TODO
 +
 +
===IPv6===
 +
 +
IPv6 välja lülitamiseks sobib kasutada named käivitamisel suvandit -4, näidates failis /etc/default/bind9 nt rea
 +
 +
OPTIONS="-4 -u bind"
  
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===
200. rida: 255. rida:
 
* http://www.opendnssec.org/
 
* http://www.opendnssec.org/
 
* http://www.unbound.net/documentation/howto_anchor.html
 
* http://www.unbound.net/documentation/howto_anchor.html
 +
* https://dlv.isc.org/
 +
* http://www.zytrax.com/books/dns/

Viimane redaktsioon: 27. oktoober 2010, kell 11:11

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.

BIND https://www.isc.org/software/bind on iseenesest autoriteetne, rekursiivne ja vaheladustav nimeserver.

Bind tarkvara paigaldamine

Bind versioon üheksa nimeserveri paigaldamiseks tuleb öelda

 # apt-get install bind9 bind9-doc

Vaikimisi on nimeserveri töös olulised järgmised failid ja kataloogid

  • /etc/bind - seadistusfailid
  • /var/cache/bind - ajutised failid, nt salvestab Bind sinna oma andmebaasi dump'i kui seda talt küsida
  • /usr/sbin/named - nimeserveri deemon
  • /usr/sbin/rndc - juhtprogramm, millega saab nt nimeserveri seadistustesse tehtud muudatusi kehtestada
  • /etc/init.d/bind9 - algkäivitusskript
  • /usr/share/doc/bind9-doc - dokumentatsioon

Peale tarkvara paigaldamist nimeserver

  • töötab nn cache'ivas rezhiimis (aga nimeserverid käivadki tavaliselt sellises rezhiimis, mis tähendab, et nad mäletavad mõnda aega neilt küsitud vastuseid ja järgmistele küsimustele vastavad iseseisvalt)
  • teenindab kõikidelt ip aadressidelt tehtud päringuid
  • esitab päringuid internetti nö juurserverite kaudu (st ei forwardi päringuid nt oma teenusepakkuja nimeserverile)

Vaikimisi on kasutusel sellised seadistusfailid

# find /etc/bind -type f | sort
/etc/bind/db.0
/etc/bind/db.127
/etc/bind/db.255
/etc/bind/db.empty
/etc/bind/db.local
/etc/bind/db.root
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/rndc.key
/etc/bind/zones.rfc1918

Nimeserveri seadistustes tehtud muudatuste kehtestamiseks juhtprogrammiga rndc sobib öelda

 # rndc reload

Rekursiivse nimeserveri seadistamine

Rekursiivne nimeserver

Rekursiivne nimeserver lahendab oma klientide päringuid teiste nimeserverite abil. Rekursiooni sisselülitamiseks sobib kasutada seadistusfailis

acl clients {
       localnets;
       ::1;
       192.168.0.0/24;
       172.16.0.0/24;

...
options {
...
allow-recursion { clients; };
}

kus

  • acl clients kirjeldab kõneksolevale aclile vastavad aadressid
  • allow-recursin ütleb millist acli on lubatud rekursiivselt teenindada

Vahendav nimeserver

Vahendav (ingl. k. forwarding) nimeserver esitab kõik talle klientide poolt esitatud päringud edasi mõnele teisele seadistusfailis näidatud nimeserverile ja vahendab kliendile tagasi vastuseid. Globaalselt ehk kõiki päringuid vahendava nimeserveri seadistamiseks sobib kasutada /etc/bind/named.conf.options failis sektsiooni (või kui seda faili ei kasutata, siis named.conf failis options { } sektsioonis)

 forward first;
 forwarders {   
   192.168.10.254;
 };

kus

  • forwarders sektsioonis on näidatud milliste nimeserverite pööle päringute lahendamiseks pöörduda, reeglina on selleks oma internetiteenusepakkuja nimeserverid
  • forward first tähendab, et esmalt püütakse päringule saada vastust forwarders sektsioonis näidatud nimeserveritelt ja seejärel otse internetist otsida vastust, nö läbi juurnimeserverite (alternatiiv on kasutada 'forward only', mis tähendab, et juurnimeserverite kaudu vastust otsima ei minda)

Lisaks on võimalik vahendada päringuid tsoonipõhiselt kirjeldades forward tüüpi tsooni

 zone loomaaed.tartu.ee {
   type forward;
   forward only;
   forwarders { 
     192.168.10.254;
   };
 };

Primaarse tsooni seadistamine

Tsooni test.loomaaed.tartu.ee seadistamiseks tuleb lisada faili /etc/bind/named.conf.local sektsioon

 acl sise {
  127.0.0.0/8;
  192.168.1.0/24;
  192.168.10.0/24;
 };
 
 zone "loomaaed.tartu.ee" {
    type master;
    allow-query { sise; };
    file "/etc/bind/master/named.loomaaed.tartu.ee";
 };

kusjuures tsoonifaili enda sisu on nt selline

 $TTL    300
 @       IN      SOA     loomaaed.tartu.ee. hostmaster.loomaaed.tartu.ee.  (
                         2010012400  ; Serial
                         3600      ; Refresh
                         1800      ; -Retry
                         1814400      ; Expire -
                         600  )    ; Minimum -
 auul.           IN NS       ns.auul.
 ns.auul.        IN A        192.168.1.251
 tossaja.auul.   IN A        192.168.1.4

rndc kasutamine

Kasutamisvõimalustest annab ülevaate programmi käivitamine ilma argumentideta

# rndc

Päringulogi sisselülitamiseks tuleb öelda

# rndc querylog

ning kui seejärel sooritada päring, nt

$ dig @localhost kuutorvaja.eeneti.ee a

siis ilmub logisse vastav sissekanne

# tail -f /var/log/daemon.log
...
Mar  8 17:50:11 moraal named[1577]: received control channel command 'querylog'
Mar  8 17:50:11 moraal named[1577]: query logging is now on
Mar  8 17:50:23 moraal named[1577]: client 127.0.0.1#38724: query: kuutorvaja.eenet.ee IN A +
Mar  8 17:50:27 moraal named[1577]: received control channel command 'querylog'
Mar  8 17:50:27 moraal named[1577]: query logging is now off

Päringulogi väljalülitamiseks tuleb öelda uuesti

# rndc querylog

Tsooni ülelaadimine views

# rndc refresh loomaaed.tartu.ee IN vaatajad

kus

  • IN - klassinimi
  • vaatajad - view nimi

Logimine

TODO

Nimeserveri koormustest

Nimeserveri koosmustestimiseks sobib kasutada Bind tarkvara koosseisus levitatavat contrib tarkvara queryperf. Programmi ettevalmistamiseks tuleb pakkida aadressilt www.isc.org kopeeritud Bindi lähtetekst lahti ja kompileeerida, nt selliselt

 $ cd bind-9.5.1-P1/contrib/queryperf
 $ sh configure
 $ make

Koormustesti käivitamiseks on tarvis tekstifailis näidata ära päritavad nimelahendused, nt

 $ cat src.txt
 www.loomaaed.tartu.ee A

ja öelda nt nii

 $ ./queryperf -d src.txt -s 192.168.38.162 -l 5
 
 DNS Query Performance Testing Tool
 Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $
 
 [Status] Processing input data
 [Status] Sending queries (beginning with 192.168.38.162)
 [Status] Testing complete
 
 Statistics:
 
 Parse input file:     multiple times
 Run time limit:       1 seconds
 Ran through file:     10135 times
 
 Queries sent:         10135 queries
 Queries completed:    10135 queries
 Queries lost:         0 queries
 Queries delayed(?):   0 queries
 
 RTT max:              0.020931 sec
 RTT min:              0.000828 sec
 RTT average:          0.001938 sec
 RTT std deviation:    0.000957 sec
 RTT out of range:     0 queries
 
 Percentage completed: 100.00%
 Percentage lost:        0.00%
 
 Started at:           Thu Mar  5 23:23:18 2009
 Finished at:          Thu Mar  5 23:23:19 2009
 Ran for:              1.001641 seconds
 
 Queries per second:   10118.395713 qps

Kasutatud võtmed

  • -d - andmefaili
  • -s - testitava nimeserveri aadress
  • -l - testi kestus sekundites

Kuna selle utiliidi kasutamine võib seada nimeserveri märkimisväärse koormuse alla, siis peab seda asjaolu programmi kasutamisel arvesse võtma.

Samuti on palju poolehoidjaid tarkvaral dnsperf.

DNSSEC

TODO

Tsooni signeerimine

TODO

IPv6

IPv6 välja lülitamiseks sobib kasutada named käivitamisel suvandit -4, näidates failis /etc/default/bind9 nt rea

OPTIONS="-4 -u bind"

Kasulikud lisamaterjalid