1*00b67f09SDavid van Moolenbroek SQLite BIND SDB driver 2*00b67f09SDavid van Moolenbroek 3*00b67f09SDavid van MoolenbroekThe SQLite BIND SDB "driver" is intended as an alternative both to the 4*00b67f09SDavid van Moolenbroekpgsqldb and dirdb drivers, for situations that would like the management 5*00b67f09SDavid van Moolenbroeksimplicity and convenience of single filesystem files, with the additional 6*00b67f09SDavid van Moolenbroekcapability of SQL databases. It is also intended as an alternative to 7*00b67f09SDavid van Moolenbroekthe standard dynamic DNS update capability in bind, which effectively 8*00b67f09SDavid van Moolenbroekrequires use of DNSSEC keys for authorization and is limited to 'nsupdate' 9*00b67f09SDavid van Moolenbroekfor updates. An sqlite database, by contrast, uses and requires only 10*00b67f09SDavid van Moolenbroeknormal filesystem permissions, and may be updated however a typical SQLite 11*00b67f09SDavid van Moolenbroekdatabase might be updated, e.g., via a web service with an SQLite backend. 12*00b67f09SDavid van Moolenbroek 13*00b67f09SDavid van MoolenbroekThis driver is not considered suitable for very high volume public 14*00b67f09SDavid van Moolenbroeknameserver use, while likely useful for smaller private nameserver 15*00b67f09SDavid van Moolenbroekapplications, whether or not in a production environment. It should 16*00b67f09SDavid van Moolenbroekgenerally be suitable wherever SQLite is preferable over larger database 17*00b67f09SDavid van Moolenbroekengines, and not suitable where SQLite is not preferable. 18*00b67f09SDavid van Moolenbroek 19*00b67f09SDavid van MoolenbroekUsage: 20*00b67f09SDavid van Moolenbroek 21*00b67f09SDavid van Moolenbroeko Use the named_sdb process ( put ENABLE_SDB=yes in /etc/sysconfig/named ) 22*00b67f09SDavid van Moolenbroek 23*00b67f09SDavid van Moolenbroeko Edit your named.conf to contain a database zone, eg.: 24*00b67f09SDavid van Moolenbroek 25*00b67f09SDavid van Moolenbroekzone "mydomain.net." IN { 26*00b67f09SDavid van Moolenbroek type master; 27*00b67f09SDavid van Moolenbroek database "sqlite /etc/named.d/mydomain.db mydomain"; 28*00b67f09SDavid van Moolenbroek # ^- DB file ^-Table 29*00b67f09SDavid van Moolenbroek}; 30*00b67f09SDavid van Moolenbroek 31*00b67f09SDavid van Moolenbroeko Create the database zone table 32*00b67f09SDavid van Moolenbroek The table must contain the columns "name", "rdtype", and "rdata", and 33*00b67f09SDavid van Moolenbroek is expected to contain a properly constructed zone. The program 34*00b67f09SDavid van Moolenbroek "zone2sqlite" creates such a table. 35*00b67f09SDavid van Moolenbroek 36*00b67f09SDavid van Moolenbroek zone2sqlite usage: 37*00b67f09SDavid van Moolenbroek 38*00b67f09SDavid van Moolenbroek zone2sqlite origin zonefile dbfile dbtable 39*00b67f09SDavid van Moolenbroek 40*00b67f09SDavid van Moolenbroek where 41*00b67f09SDavid van Moolenbroek origin : zone origin, eg "mydomain.net." 42*00b67f09SDavid van Moolenbroek zonefile : master zone database file, eg. mydomain.net.zone 43*00b67f09SDavid van Moolenbroek dbfile : name of SQLite database file 44*00b67f09SDavid van Moolenbroek dbtable : name of table in database 45*00b67f09SDavid van Moolenbroek 46*00b67f09SDavid van Moolenbroek--- 47*00b67f09SDavid van Moolenbroek# mydomain.net.zone: 48*00b67f09SDavid van Moolenbroek$TTL 1H 49*00b67f09SDavid van Moolenbroek@ SOA localhost. root.localhost. ( 1 50*00b67f09SDavid van Moolenbroek 3H 51*00b67f09SDavid van Moolenbroek 1H 52*00b67f09SDavid van Moolenbroek 1W 53*00b67f09SDavid van Moolenbroek 1H ) 54*00b67f09SDavid van Moolenbroek NS localhost. 55*00b67f09SDavid van Moolenbroekhost1 A 192.168.2.1 56*00b67f09SDavid van Moolenbroekhost2 A 192.168.2.2 57*00b67f09SDavid van Moolenbroekhost3 A 192.168.2.3 58*00b67f09SDavid van Moolenbroekhost4 A 192.168.2.4 59*00b67f09SDavid van Moolenbroekhost5 A 192.168.2.5 60*00b67f09SDavid van Moolenbroekhost6 A 192.168.2.6 61*00b67f09SDavid van Moolenbroekhost7 A 192.168.2.7 62*00b67f09SDavid van Moolenbroek--- 63*00b67f09SDavid van Moolenbroek 64*00b67f09SDavid van Moolenbroek# zone2sqlite mydomain.net. mydomain.net.zone mydomain.net.db mydomain 65*00b67f09SDavid van Moolenbroek 66*00b67f09SDavid van Moolenbroekwill create/update the 'mydomain' table in database file 'mydomain.net.db'. 67*00b67f09SDavid van Moolenbroek 68