4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews SQLite BIND SDB driver
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark AndrewsThe SQLite BIND SDB "driver" is intended as an alternative both to the
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewspgsqldb and dirdb drivers, for situations that would like the management
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewssimplicity and convenience of single filesystem files, with the additional
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewscapability of SQL databases. It is also intended as an alternative to
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsthe standard dynamic DNS update capability in bind, which effectively
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsrequires use of DNSSEC keys for authorization and is limited to 'nsupdate'
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsfor updates. An sqlite database, by contrast, uses and requires only
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsnormal filesystem permissions, and may be updated however a typical SQLite
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsdatabase might be updated, e.g., via a web service with an SQLite backend.
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark AndrewsThis driver is not considered suitable for very high volume public
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsnameserver use, while likely useful for smaller private nameserver
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsapplications, whether or not in a production environment. It should
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsgenerally be suitable wherever SQLite is preferable over larger database
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewsengines, and not suitable where SQLite is not preferable.
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark AndrewsUsage:
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewso Use the named_sdb process ( put ENABLE_SDB=yes in /etc/sysconfig/named )
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewso Edit your named.conf to contain a database zone, eg.:
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewszone "mydomain.net." IN {
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews type master;
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews database "sqlite /etc/named.d/mydomain.db mydomain";
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews # ^- DB file ^-Table
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews};
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewso Create the database zone table
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews The table must contain the columns "name", "rdtype", and "rdata", and
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews is expected to contain a properly constructed zone. The program
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews "zone2sqlite" creates such a table.
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews zone2sqlite usage:
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews zone2sqlite origin zonefile dbfile dbtable
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews where
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews origin : zone origin, eg "mydomain.net."
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews zonefile : master zone database file, eg. mydomain.net.zone
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews dbfile : name of SQLite database file
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews dbtable : name of table in database
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews---
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews# mydomain.net.zone:
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews$TTL 1H
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews@ SOA localhost. root.localhost. ( 1
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews 3H
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews 1H
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews 1W
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews 1H )
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews NS localhost.
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost1 A 192.168.2.1
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost2 A 192.168.2.2
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost3 A 192.168.2.3
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost4 A 192.168.2.4
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost5 A 192.168.2.5
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost6 A 192.168.2.6
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewshost7 A 192.168.2.7
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews---
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews# zone2sqlite mydomain.net. mydomain.net.zone mydomain.net.db mydomain
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrewswill create/update the 'mydomain' table in database file 'mydomain.net.db'.
4259095c8058beb9b475f1884dbeda375979e6f6Mark Andrews