Erinevus lehekülje "Rekursiivse resolveri Unbound kasutamine" redaktsioonide vahel

Allikas: Kuutõrvaja
(Stub tsoonid)
 
(ei näidata ühe teise kasutaja 11 vahepealset redaktsiooni)
1. rida: 1. rida:
 +
[[Kategooria:Interneti domeeninimede süsteem]]
 
===Sissejuhatus===
 
===Sissejuhatus===
  
4. rida: 5. rida:
  
 
* autoriteetne (ingl. k. authoritative) - vastab päringutele ainult nimeserveri tsoonifailis kirjeldatud andmete alusel; autoriteetsed nimeserverid teenindavad reeglina resolverite päringuid
 
* 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 autoriteetne; rekursiivne nimeserver teenindab mingi piiratud hulga klientide nimelahenduse päringuid ja seetõttu nimetatakse rekursiivset nimeserverit tihti resolveriks (ingl. k. to resolve - lahendama)
+
* rekursiivne (ingl. k. recursive) - rekursiivne nimeserver ei sisalda nö oma tsoonifaili, st ta ei ole mingite vastuste osas autoriteetne; rekursiivne nimeserver teenindab mingi piiratud hulga klientide päringuid lahendades neid autoriteetsete nimeserverite abil ja seetõttu nimetatakse rekursiivset nimeserverit tihti resolveriks (ingl. k. to resolve - lahendama)
  
 
Unbound http://www.unbound.net/ resolveril on selliseid omadused
 
Unbound http://www.unbound.net/ resolveril on selliseid omadused
30. rida: 31. rida:
 
====OpenBSD====
 
====OpenBSD====
  
OpenBSD 4.6 sisaldab binaarse paketina versiooni 1.3.0 ja paigaldamiseks sobib öelda
+
OpenBSD 4.7 sisaldab binaarse paketina versiooni 1.4.1 ja paigaldamiseks sobib öelda
  
  # pkg_add unbound
+
--- +unbound-1.4.1 -------------------
  --- +unbound-1.3.0 -------------------
+
You should add:
  You should add:
+
 
+
    syslogd_flags="${syslogd_flags} -a /var/unbound/dev/log"
    syslogd_flags="${syslogd_flags} -a /var/unbound/dev/log"
+
 
+
to /etc/rc.conf.local to create a syslog socket in the unbound chroot.
  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
  You may also want to add the following to /etc/rc.local to start unbound
+
at boot:
  at boot:
+
 
+
        if [ -x /usr/local/sbin/unbound ]; then
        if [ -x /usr/local/sbin/unbound ]; then
+
                echo -n ' unbound'; /usr/local/sbin/unbound  
                echo -n ' unbound'; /usr/local/sbin/unbound  
+
        fi
        fi
 
  
 
===Unbound seadistamine===
 
===Unbound seadistamine===
125. rida: 125. rida:
 
   ;; ANSWER SECTION:
 
   ;; ANSWER SECTION:
 
   kuutorvaja.eenet.ee.    83840  IN      A      193.40.0.7
 
   kuutorvaja.eenet.ee.    83840  IN      A      193.40.0.7
 +
  ..
  
 
===Nimepäringu vastuste valideerimine===
 
===Nimepäringu vastuste valideerimine===
204. rida: 205. rida:
 
Unbound lahendab vaikimisi mõlemas suunas localhost - 127.0.0.1 teisendust.
 
Unbound lahendab vaikimisi mõlemas suunas localhost - 127.0.0.1 teisendust.
  
===Stub tsoonid===
+
===Stub tsoon===
  
 
Stub tsooni abil saab öelda, millist autoriteetset nimeserverit kasutada mõne domeeni nimelahenduseks. Praktiliselt võiks seda vaja minna kui asutuses on nt kasutusel mitte-avalik autoriteetne nimeserver ja domeeni 'auul.' nimede lahendamiseks tuleks kasutada seda; vastasel korral püüaks Unbound neid nimesid lahendada pöördudes interneti juurnimeserverite poole.
 
Stub tsooni abil saab öelda, millist autoriteetset nimeserverit kasutada mõne domeeni nimelahenduseks. Praktiliselt võiks seda vaja minna kui asutuses on nt kasutusel mitte-avalik autoriteetne nimeserver ja domeeni 'auul.' nimede lahendamiseks tuleks kasutada seda; vastasel korral püüaks Unbound neid nimesid lahendada pöördudes interneti juurnimeserverite poole.
219. rida: 220. rida:
 
* stub-addr - domeeni autoriteetne nimeserver
 
* stub-addr - domeeni autoriteetne nimeserver
  
===Forward tsoonid===
+
===Forward tsoon===
  
TODO
+
Forward tsooni abil saab öelda, millist rekursiivset nimeserverit kasutada mõne domeeni nimelahenduseks. Seadistusfailis kirjeldatakse forward tsoon selliselt
 +
 
 +
forward-zone:
 +
  name: "loomla.tartu.ee"
 +
  forward-addr: 10.172.20.10
 +
 
 +
kus
 +
 
 +
* name - domeeninimi
 +
* forward-addr - rekursiivse nimeserveri aadress
 +
 
 +
Selleks, et suunata kõik päringud lahendamiseks edasi sobib kasutada
 +
 
 +
forward-zone:
 +
  name: "."
 +
  forward-addr: 10.172.20.10
 +
 
 +
===AS112 tsoonid===
 +
 
 +
Selleks, et asutuse lokaalses autoriteetses nimeserveris kirjeldatud privaatsete aadresside pöördteisendused töötaksid tuleb kasutada
 +
 
 +
  server:
 +
    ...
 +
    local-zone: "168.192.in-addr.arpa." nodefault
 +
   
 +
ning nt 192.168.1 võrgu puhul
 +
 
 +
  stub-zone:
 +
    name: "1.168.192.in-addr.arpa."
 +
    stub-addr: 192.168.1.251
  
 
===Jõudlus===
 
===Jõudlus===
302. rida: 332. rida:
 
* https://ns.iana.org/dnssec/status.html
 
* https://ns.iana.org/dnssec/status.html
 
* https://dlv.isc.org/
 
* https://dlv.isc.org/
 +
* http://en.wikipedia.org/wiki/AS112
 +
* [[:Autoriteetse nimeserveri NSD kasutamine]]

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

Sissejuhatus

Üks võimalus liigitada nimeservereid või nimeserverite 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 autoriteetne; rekursiivne nimeserver teenindab mingi piiratud hulga klientide päringuid lahendades neid autoriteetsete nimeserverite abil ja seetõttu nimetatakse rekursiivset nimeserverit tihti resolveriks (ingl. k. to resolve - 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
  • IPv6 tugi

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.7 sisaldab binaarse paketina versiooni 1.4.1 ja paigaldamiseks sobib öelda

--- +unbound-1.4.1 -------------------
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

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.190

Unbound resolveri tööd saab kontrollida nt öeldes mõnes arvutis, kus peab kõnealust resolverit saama kasutada

 $ dig @192.168.10.190 kuutorvaja.eenet.ee a

ja vastus peaks sisaldama sarnaseid ridu rida

 ...
 ;; QUESTION SECTION:
 ;kuutorvaja.eenet.ee.           IN      A
 
 ;; ANSWER SECTION:
 kuutorvaja.eenet.ee.    83840   IN      A       193.40.0.7
 ..

Nimepäringu vastuste valideerimine

Nimepäringute vastuste valideerimiseks kasutatakse üldiselt 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 ad lipp annab tunnistust, et vastus on valideeritud

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

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.

Stub tsoon

Stub tsooni abil saab öelda, millist autoriteetset nimeserverit kasutada mõne domeeni nimelahenduseks. Praktiliselt võiks seda vaja minna kui asutuses on nt kasutusel mitte-avalik autoriteetne nimeserver ja domeeni 'auul.' nimede lahendamiseks tuleks kasutada seda; vastasel korral püüaks Unbound neid nimesid lahendada pöördudes interneti juurnimeserverite poole.

Seadistusfailis kirjeldatakse stub tsoon selliselt

 stub-zone:
    name: "auul"
    stub-addr: 192.168.1.251

kus

  • name - domeeni nimi
  • stub-addr - domeeni autoriteetne nimeserver

Forward tsoon

Forward tsooni abil saab öelda, millist rekursiivset nimeserverit kasutada mõne domeeni nimelahenduseks. Seadistusfailis kirjeldatakse forward tsoon selliselt

forward-zone:
  name: "loomla.tartu.ee"
  forward-addr: 10.172.20.10

kus

  • name - domeeninimi
  • forward-addr - rekursiivse nimeserveri aadress

Selleks, et suunata kõik päringud lahendamiseks edasi sobib kasutada

forward-zone:
  name: "."
  forward-addr: 10.172.20.10

AS112 tsoonid

Selleks, et asutuse lokaalses autoriteetses nimeserveris kirjeldatud privaatsete aadresside pöördteisendused töötaksid tuleb kasutada

 server:
   ...
   local-zone: "168.192.in-addr.arpa." nodefault
   

ning nt 192.168.1 võrgu puhul

 stub-zone:
    name: "1.168.192.in-addr.arpa."
    stub-addr: 192.168.1.251

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.

Klientprogrammi unbound-host kasutamine

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

 # unbound-host -C unbound.conf -t A -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)

Haldusprogramm unbound-control

Haldusprogrammiga unbound-control saab juhtida Unbound resolveri tööd ja küsida statistikat. Kuna unbound-control võimaldab resolveri töötamist oluliselt mõjutada, nt laadida cache sisu tekstifailist või resolveri seisata, siis peab hoolega jälgima, et unbound-control kasutamisele oleks seatud vajalikud piirangud.

Unbound resolveri ettevalmistamine

unbound-control suhtleb Unbound serveriga vaikimisi üle 953/tcp pordi. Osaliste autentimiseks kasutatakse avaliku-võtme tehnikat, vajalike võtmete genereerimiseks sobib kasutada unbound-control-setup utiliiti

 # unbound-control-setup

Tulemusena tekivad /var/unbound/etc kataloogi neli võtit, kask serveri ja kaks kliendi jaoks

 unbound_control.key
 unbound_control.pem
 unbound_server.key
 unbound_server.pem

unbound-control kasutamiseks tuleb vastav funktsionaalsus Unbound serveris sisse lülitada nt sektsiooniga

 remote-control:
       control-enable: yes
       control-interface: 127.0.0.1

unbound-control kasutamine

Vaikimisi kasutab unbound-control Unbound serveri seadistusfaili, nt sobib alustuseks kasutada unbound serverit ja unbound-control utiliiti samas arvutis.

  • Unbound resolveri oleku küsimine
 # unbound-control status             
 version: 1.3.0
 verbosity: 1
 threads: 1
 modules: 2 [ validator iterator ]
 uptime: 1184 seconds
 unbound (pid 23298) is running...
  • Resolveri cacheist tsooni loomaaed.tartu.ee andmete kustutamine
 # unbound-control flush_zone loomaaed.tartu.ee
 ok removed 3 rrsets, 2 messages and 0 key entries
  • Cache sisu esitamine
 # unbound-control dump_cache

Resolveri kastutusstatistika

Üks unbound-control kasutusjuht on koguda resolveri kasutusstatistikat

 # unbound-control stats_noreset

Praktiliselt on seda sobiv automatiseerida Munin või Cacti tarkvaraga, mida on kirjeldatud aadressil http://www.unbound.net/documentation/howto_statistics.html.

Kasulikud lisamaterjalid