0N/A SQLite BIND SDB driver
2362N/A
0N/AThe SQLite BIND SDB "driver" is intended as an alternative both to the
0N/Apgsqldb and dirdb drivers, for situations that would like the management
0N/Asimplicity and convenience of single filesystem files, with the additional
0N/Acapability of SQL databases. It is also intended as an alternative to
0N/Athe standard dynamic DNS update capability in bind, which effectively
0N/Arequires use of DNSSEC keys for authorization and is limited to 'nsupdate'
0N/Afor updates. An sqlite database, by contrast, uses and requires only
0N/Anormal filesystem permissions, and may be updated however a typical SQLite
0N/Adatabase might be updated, e.g., via a web service with an SQLite backend.
0N/A
0N/AThis driver is not considered suitable for very high volume public
0N/Anameserver use, while likely useful for smaller private nameserver
0N/Aapplications, whether or not in a production environment. It should
0N/Agenerally be suitable wherever SQLite is preferable over larger database
0N/Aengines, and not suitable where SQLite is not preferable.
0N/A
2362N/AUsage:
2362N/A
2362N/Ao Use the named_sdb process ( put ENABLE_SDB=yes in /etc/sysconfig/named )
0N/A
0N/Ao Edit your named.conf to contain a database zone, eg.:
zone "mydomain.net." IN {
type master;
database "sqlite /etc/named.d/mydomain.db mydomain";
# ^- DB file ^-Table
};
o Create the database zone table
The table must contain the columns "name", "rdtype", and "rdata", and
is expected to contain a properly constructed zone. The program
"zone2sqlite" creates such a table.
zone2sqlite usage:
zone2sqlite origin zonefile dbfile dbtable
where
origin : zone origin, eg "mydomain.net."
zonefile : master zone database file, eg. mydomain.net.zone
dbfile : name of SQLite database file
dbtable : name of table in database
---
# mydomain.net.zone:
$TTL 1H
@ SOA localhost. root.localhost. ( 1
3H
1H
1W
1H )
NS localhost.
host1 A 192.168.2.1
host2 A 192.168.2.2
host3 A 192.168.2.3
host4 A 192.168.2.4
host5 A 192.168.2.5
host6 A 192.168.2.6
host7 A 192.168.2.7
---
# zone2sqlite mydomain.net. mydomain.net.zone mydomain.net.db mydomain
will create/update the 'mydomain' table in database file 'mydomain.net.db'.