Erinevus lehekülje "Tsoonifaili haldamine" redaktsioonide vahel

Allikas: Kuutõrvaja
(Zoner)
(Zoner)
75. rida: 75. rida:
 
Zoner http://pypi.python.org/pypi/zoner/ on Pyton keeles programmeeritud tsoonide halduse tarkvara, millel on sellised omadused
 
Zoner http://pypi.python.org/pypi/zoner/ on Pyton keeles programmeeritud tsoonide halduse tarkvara, millel on sellised omadused
  
* kehtivad ja varasemad versioonid tsoonifailides asuvad failisüsteemis
+
* kehtivad ja varasemad versioonid tsoonifailidest asuvad failisüsteemis
 
* muudatusi võib teha vaheldumisi failisüsteemis ja kasutajaliideses
 
* muudatusi võib teha vaheldumisi failisüsteemis ja kasutajaliideses
 
* andmebaasi kasutatakse programmi kasutajate halduseks jms, PostgreSQL ning MySQL valikud
 
* andmebaasi kasutatakse programmi kasutajate halduseks jms, PostgreSQL ning MySQL valikud

Redaktsioon: 3. veebruar 2010, kell 14:38

Sissejuhatus

Nimeserverid moodustavad hajusa andmebaasi, mille andmed asuvad tavaliselt tekstifaili kujul esinevates tsoonifailides. Reeglina kirjeldatakse andmed tsoonifailides standardsel kujul, nn BIND-formaadis (RFC 1035 punkt 5 and RFC 1034 punkt 3.6.1).

Tsoonifailis esinevad andmed ressursikirjetena (ingl. k. Resource Record, RR). Nimesüsteemi ressursikirjeid kasutatakse internetis erinevate protokollidega seotud andmevahetuse korraldamisel, nt

  • epost - MX, SPF, PTR kirjed
  • veeb - A, CNAME kirjed
  • nimeteenus - SOA, NS kirjed

BIND-formaati kasutavad nt NSD ja BIND nimeserverid.

Tsoonifaili kirjed

Tsoonifailis ....

 $TTL    604800
 $ORIGIN  loomaaed.tartu.ee
 @       IN      SOA   ns.loomaaed.tartu.ee. hostmaster.ns.loomaaed.tartu.ee. (
                     2010020100         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
 ;
 @       IN      NS      ns.loomaaed.tartu.ee.
 ns      IN      A       192.168.1.50
 www     IN      A       192.168.1.51

smbind

smbind (Simple Management for BIND) http://sourceforge.net/projects/smbind/ on veebipõhine tsoonifailide haldamise rakendus, mis on programmeeritud PHP keeles ning kasutab MySQL või PostgreSQL andmebaasi. Tarkvaral on sellised omadused

  • tsooniandmed asuvad andmebaasis ja rakendusega saab nende põhjal genereerida vastava tekstifaili

2010 aasta alguse seisuga esineb Debian Lenny keskkonnas PostgreSQL andmebaasi kasutamisel probleem seoses PostgreSQL v 8.3 süntaksiga, kui PHP koodi kohendada, saab sellest üle

 # cat /usr/share/smbind/php/src/include.php
 ...
 //    if($_CONF['range'] > 0) {
 //            $limit = "LIMIT " .
 //                     (($_GET['page'] * $_CONF['range']) - $_CONF['range']) .
 //                     ", " .  
 //                     $_CONF['range'];
       if($_CONF['range'] > 0) {
               $limit = "LIMIT " . $_CONF['range'] . "OFFSET " . (($_GET['page'] * $_CONF['range']) - $_CONF['range']);
       }

Teine probleemne fail on /usr/share/smbind/php/src/zonedelete.php.

Paigaldamine

Tarkvara paigaldamiseks Debian Lenny keskkonnas sobib öelda

 # apt-get install smbind

Tulemusena tekivad sellised olulised kataloogid ja failid

  • /etc/smbind - seadistusfailid
  • /usr/share/doc/smbind/dbfiles - PostgreSQL ja MySQL andmebaasi skriptid
  • /usr/share/smbind/php - veebirakendus

PostgreSQL andmebaasi ettevalmistamiseks sobib öelda

 $ cat /usr/share/doc/smbind/dbfiles/smbind-pg.sql | psql -h 192.168.1.247 -U smbind smbind

Kasutamine

smbind kasutamine võiks paista nt selline

Smbind-1.gif

Zoner

Zoner http://pypi.python.org/pypi/zoner/ on Pyton keeles programmeeritud tsoonide halduse tarkvara, millel on sellised omadused

  • kehtivad ja varasemad versioonid tsoonifailidest asuvad failisüsteemis
  • muudatusi võib teha vaheldumisi failisüsteemis ja kasutajaliideses
  • andmebaasi kasutatakse programmi kasutajate halduseks jms, PostgreSQL ning MySQL valikud
  • kasutab suhteliselt palju Pythoni raamistikku, nt veebiserver on ka Pyton

Paigaldamine

Paigaldamiseks Debian Lenny keskkonda on vaja eelnevalt paigaldada paketid

 # apt-get install python-setuptools python-turbogears python-psycopg2

Ning paigaldada Pyhtoni vahenditega Zoner programm

 # easy_install zoner

Seejärel moodustada seadistusfail näidise eeskujul

 # cd /usr/lib/python2.5/site-packages/zoner-1.4.1-py2.5.egg
 # cp config/sample-prod.cfg zoner.cfg

kus on oluline näidata andmebaasi ligipääs, nt PostgreSQL puhul

 sqlalchemy.dburi="postgres://zoner:zoner@192.168.1.247/zoner"

Andmebaasi initsialiseerimiseks tuleb öelda

 $ tg-admin -c zoner.cfg sql create

Seejärel lisada rakendusele kasutaja

 $ zoner_users -c zoner.cfg add

Ning käivitada rakendus

 $ zoner zoner.cfg

Logi tekib failidesse

 ./zoner_access.log
 ./zoner_error.log

Kasutamine

Veebipõhine kasutajaliides asub vaikimisi aadressil http://localhost:8080/ ja näen välja selline

Zoner-1.gif

Tsoonifaili tekitamiseks tuleb esmalt moodustada kataloogi vähese sisuga tsoonifail, nt

 @ 0 IN SOA ns hostmaster.ns 2010020208 604800 86400 2419200 604800
 @ 604800 IN NS ns1
 @ 604800 IN NS ns2

Kustutamiseks fail kustutada. Kasutajaliidesest seda teha ei saa.

Töö tulemusena tekivad vaikimisi tsoonifailid kahte kataloogi

  • /var/named/zones - kehtivad tsoonifailid
  • /var/tmp/zoner_archive - tsoonifailide arhiiv, serial numbrite kaupa

Tsoonifaili sisu on suhteliselt minimalistlikul moel esitatud

 @ 0 IN SOA ns hostmaster.ns 2010020208 604800 86400 2419200 604800
 @ 604800 IN NS ns1
 @ 604800 IN NS ns2
 ftp 604800 IN A 192.168.1.21
 ns1 604800 IN A 192.168.1.51
 ns2 604800 IN A 192.168.1.52
 www 604800 IN A 192.168.1.80

Webmin

TODO

Tsoonifaili kasutamine

NSD

TODO

BIND

TODO

Kasulikud lisamaterjalid