Rekursiivse resolveri Unbound kasutamine
Sisukord
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 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