Rekursiivse resolveri Unbound kasutamine

Allikas: Kuutõrvaja
Redaktsioon seisuga 31. jaanuar 2010, kell 14:44 kasutajalt Imre (arutelu | kaastöö) (Unbound kasutamine)

Sissejuhatus

Üks võimalus liigitada nimeserveri tarkvara on selle järgi, millised päringuid teenindatakse

  • autoriteetne (ingl. k. authoritative) - vastab päringutele ainult nimeserveri tsoonifailis kirjeldatud andmete alusel; autoriteetsed nimeserverid teenindavad reeglina resolverite päringuid
  • rekursiivne (ingl. k. recursive) - rekursiivne nimeserver ei sisalda nö oma tsoonifaili, st ta ei ole mingite vastuste osas autoriteene; rekursiivne nimeserver teenindab mingi piiratud hulga klientide nimelahenduse päringuid ja seetõttu nimetatakse rekursiivset nimeserverit tihti resolveriks (ingl. k. lahendama)

Unbound http://www.unbound.net/ resolveril on selliseid omadused

  • rekursiivne - lahendab nö lõppkasutaja esitatud päringuid, nt sobib seadistada töökohaarvuti nimeserveriks
  • vaheladustav (ingl. k. caching) - Unbound peab kord lahendatud vastust mõnda aega meeles, mis tähendab, et järgmisele samale päringule vastab ta kliendile kohe ja ei pea omakorda pöörduma vastuse saamiseks autoriteetsete nimeserverite poole
  • valideeriv - toetab DNSSEC kasutamist

Rekursiivse resolveri vastutus on parimal võimalikul moel anda kliendi esitatud päringule vastus, seejuures

  • anda õige vastus - nt mitte ennast lasta eksitada cache poisoning tehnikatest, võimalusel kasutada DNSSEC vahendeid
  • vastata kiiresti

Unbound paigaldamine

2010 aastal leidub paljude operatsioonisüsteemide paketihalduses Unbound tarkvara.

Debian

Debian Lenny sisaldab versiooni 1.0.2 ja paigaldamiseks sobib öelda

 # apt-get install unbound

OpenBSD

OpenBSD 4.6 sisaldab binaarse paketina versiooni 1.3.0 ja paigaldamiseks sobib öelda

 # pkg_add unbound
 --- +unbound-1.3.0 -------------------
 You should add:
 
   syslogd_flags="${syslogd_flags} -a /var/unbound/dev/log"
 
 to /etc/rc.conf.local to create a syslog socket in the unbound chroot.
 
 You may also want to add the following to /etc/rc.local to start unbound
 at boot:
 
       if [ -x /usr/local/sbin/unbound ]; then
               echo -n ' unbound'; /usr/local/sbin/unbound 
       fi

Unbound seadistamine

Resolveri seadistusfailis tuleb näidata muu hulgas

  • juurnimeserverite aadressid
  • millisel aadressil resolver päringuid teenindab
  • millised kliendid saavad resolverit kasutada, tavaliselt kliendi src ip aadressi täpsusega

Unbound tööd juhib seadistusfail unbound.conf

  • /etc/unbound/unbound.conf - Debian
  • /var/unbound/etc/unbound.conf - OpenBSD

Lihtsamal juhul võib kasutada nt sellise sisuga seadistusfaili

 server:
    interface: 192.168.10.190
    outgoing-interface: 192.168.10.190
    access-control: 192.168.10.0/24 allow
    root-hints: "/var/unbound/etc/named.cache"

kus

  • interface - millisel aadressil arvuti Unbound resolveri kliente teenindab
  • outgoing-interface - milliselt aadressilt resolveri päringud autoriteetsetele nimeserveritele väljuvad
  • access-control - millistelt ip aadressidelt saab Unbound resolverit kasutada
  • root-hints - resolver peab alati teadma interneti juurnimeserverite aadresse

Juurnimeserverite aadresse saab küsida mõnes juba seadistatud resolveriga arvutis

 $ dig . ns

või kopeerida aadressilt

 $ ftp ftp://FTP.INTERNIC.NET/domain/named.cache

Unbound käivitamine

Unbound resolver teenindab päringuid portidel 53/udp ja 53/tcp.

Debian

Käivitamiseks tuleb öelda

 # /etc/init.d/unbound start | stop

OpenBSD

Vaikimisi töötab Unbound OpenBSD all chroot keskkonnas kataloogis /var/unbound kasutajana _unbound. Selleks, et chroot keskkonnas töötav Unbound saaks logida syslog'i tuleb syslog käivitamisel lisaks kasutada '-a /var/unbound/dev/log'

 # syslogd -a /var/www/dev/log -a /var/empty/dev/log -a /var/unbound/dev/log

/etc/rc.conf.local failis sobib kasutada rida

 syslogd_flags="${syslogd_flags} -a /var/unbound/dev/log"

Unbound töö lõpetamiseks sobib öelda

 # pkill unbound

Nimepäringu vastuste valideerimine

Nimepäringute vastuste valideerimiseks kasutatakse DNSSEC tehnikat. 2010 aastal on selleks mitmeid võimalusi, üks populaarne viis on DLV (DNSSEC Look-aside Validation). DLV seadistamiseks tuleb

  • kopeerida trust anchor fail kataloogi /var/unbound/etc
 # cd /var/unbound/etc
 # ftp http://ftp.isc.org/www/dlv/dlv.isc.org.key
  • Unbound seadistusfailis kasutada rida
 dlv-anchor-file: "dlv.isc.org.key

Valideeritud nimepäringu vastus näeb välja nt selline

 $ dig www.kaminskybug.se a +dnssec +multiline
 
 ; <<>> DiG 9.5.1-P3 <<>> www.kaminskybug.se a +dnssec +multiline
 ;; global options:  printcmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56069
 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 1
 
 ;; OPT PSEUDOSECTION:
 ; EDNS: version: 0, flags: do; udp: 4096
 ;; QUESTION SECTION:
 ;www.kaminskybug.se.    IN A
 
 ;; ANSWER SECTION:
 www.kaminskybug.se.     3590 IN CNAME fou.iis.se.
 www.kaminskybug.se.     3590 IN RRSIG CNAME 5 3 3600 20100205210001 (
                                 20100126210001 13358 kaminskybug.se.
                                 goEav1vWK49WEvGY/G1EBKOgekQk11JvjsQxE7chH6Kg
                                 OwZNpOXwomE1z9zvLcwkD60CQAZWC9psA1z01iIwtOrt
                                 Yq6L+2A0PLVAAuRYeY3CQnbHoHRYClCUz0dIkxhtz9f/
                                 Um1AuC3FtqV6t9q8lLb4ooav0Ex64KuwoPPxqqs= )
 fou.iis.se.             3590 IN A 212.247.204.242
 fou.iis.se.             3590 IN RRSIG A 5 3 3600 20100209131501 (
                                 20100130131501 56315 iis.se.
                                 BOPpSETDBKu6CjOcz2ULnOnfRVoXfOXj9OjW4zwjPuWl
                                 7vJ8630yXsuSEe89RuH/ZsuOGbeJnumQ/XmD6ftWL9yM
                                 MPUF1ZYxCtExaBcIxhxDIFJv4E4RZAOkbb9ZdYKTglIL
                                 zDleOOms0iVgCAnnWJSnmDpzhfvr8xoTGlh7myE= )
 
 ;; AUTHORITY SECTION:
 iis.se.                 3590 IN NS ns.nic.se.
 iis.se.                 3590 IN NS ns3.nic.se.
 iis.se.                 3590 IN NS ns2.nic.se.
 iis.se.                 3590 IN RRSIG NS 5 2 3600 20100209131501 (
                                 20100130131501 56315 iis.se.
                                 B3SheLIv8ouVPpFGjvM8q5fl9ZMnnPWR8x9QDD0uSxoH
                                 iV2fYHjiKC5a2+8Znsi4zSdO2AmH+reUCP74qvYpkl1K
                                 +NbEzndzzrJQ0XlT1icy3MC6vdvgdE7Opqjab/7iIiYV
                                 X9UjZpHKR284EljSrKJ0z53/T+12P3K0VU/dRFE= )
  
 ;; Query time: 1 msec
 ;; SERVER: 10.53.67.69#53(10.53.67.69)
 ;; WHEN: Sun Jan 31 00:25:39 2010
 ;; MSG SIZE  rcvd: 648

kus tuleb pöörata tähelepanu ad-lipule

 flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 1

IPv6 kasutamine

TODO

Lokaalsed nimekirjeldused

Lisaks sellele, et Unboundi kasutab nimede lahendamisel võrgus töötavaid autoriteetseid nimeservereid, saab kirjeldada seadistusfailis päri- ja pöördteisendusi

 local-data: "loomaaed.tartu.ee A 192.168.10.100"
 local-data-ptr: "192.168.10.100 loomaaed.tartu.ee"

kus

  • local-data - päriteisendus
  • local-data-prt - pöördteisendus

Unbound lahendab vaikimisi mõlemas suunas localhost - 127.0.0.1 teisendust.

Nimeserveri kasutusstatistika

TODO

Jõudlus

  • Unbound oskab kasutada mitut protsessorit ja nö keskpärasel riistvaral suudab teenidada kümneid tuhandeid päringuid sekundis.
  • Unbound on 2-3 korda kiirem kui Bind.

Klientprogramm unbound-host

Klientprogramm unbound-host võimaldab nt kontrollida, kas nimelahenduse valideerimine töötab

 # unbound-host -C unbound.conf -v www.kaminskybug.se 
 [1264938168] libunbound[2566:0] notice: init module 0: validator
 [1264938168] libunbound[2566:0] notice: init module 1: iterator
 www.kaminskybug.se is an alias for fou.iis.se. (secure)
 fou.iis.se has address 212.247.204.242 (secure)
 fou.iis.se has IPv6 address 2001:16d8:ff00:27f::2 (secure)
 fou.iis.se has no mail handler record (secure)

Unbound kasutamine

Unbound resolveri kasutajateks on tavaliselt arvutid, mis vajavad nimelahendust, nt kohtvõrgu arvutid, eposti serverid jt. Linux keskkonnas sobib näidata nimeserveri aadress staatiliselt arvuti /etc/resolv.conf failis nt reaga

 nameserver 192.168.10.254

Kasulikud lisamaterjalid