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