Erinevus lehekülje "BIND nimeserveri kasutamine Debian Lenniga" redaktsioonide vahel
(→rndc kasutamine) |
|||
(ei näidata 2 kasutaja 9 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 | ||
− | === | + | ===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 | |
Päringulogi sisselülitamiseks tuleb öelda | Päringulogi sisselülitamiseks tuleb öelda | ||
− | + | # rndc querylog | |
ning kui seejärel sooritada päring, nt | ning kui seejärel sooritada päring, nt | ||
− | + | $ dig @localhost kuutorvaja.eeneti.ee a | |
siis ilmub logisse vastav sissekanne | 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 | Päringulogi väljalülitamiseks tuleb öelda uuesti | ||
− | + | # rndc querylog | |
Tsooni ülelaadimine views | Tsooni ülelaadimine views | ||
− | rndc refresh loomaaed.tartu.ee IN vaatajad | + | # rndc refresh loomaaed.tartu.ee IN vaatajad |
kus | kus | ||
197. 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=== | ||
210. rida: | 256. rida: | ||
* http://www.unbound.net/documentation/howto_anchor.html | * http://www.unbound.net/documentation/howto_anchor.html | ||
* https://dlv.isc.org/ | * https://dlv.isc.org/ | ||
+ | * http://www.zytrax.com/books/dns/ |
Viimane redaktsioon: 27. oktoober 2010, kell 11:11
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.
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
- https://www.isc.org/software/bind
- http://www.nlnetlabs.nl/publications/dnssec_howto/index.html
- http://secspider.cs.ucla.edu/islands.html
- http://www.dnssec-tools.org/
- http://blog.exanames.com/2009/06/one-more-thing-to-do-with-dnssec-ssh.html
- https://itar.iana.org/
- https://ns.iana.org/dnssec/status.html
- http://www.opendnssec.org/
- http://www.unbound.net/documentation/howto_anchor.html
- https://dlv.isc.org/
- http://www.zytrax.com/books/dns/