Various ideas and variants for bind-dyndb-ldap
reimplementation/replacements.
Daemon + subset of bind-dyndb-ldap
- synchronous update
- depends on BIND internals
Daemon
- zone and BIND reconfiguration
- generates
zone {}
sections for named.conf
(+ other config)
- zone definition is using
zone { database "ldap"; }
- likely needs full config parser, e.g. Augeas
- rndc reconfig
- rndc addzone/modzone/delzone commands
LDAP driver
- is subset of bind-dyndb-ldap
- written in C
- high performance and synchronous writes
Daemon + new BIND external update protocol
- synchronous update
- depends on new update protocol between BIND and the daemon
Daemon
- zone and BIND reconfiguration + data synchronization
- generates
zone {}
sections for named.conf
(+ other config)
- zone definition is using
update-policy { externalv2 }
- kind of update proxy between LDAP and BIND
- speaks LDAP on one side and a BIND’s protocol on the other side
BIND enhancements
- new
update-policy
like externalv2
which sends updates from
BIND to a external daemon before the update is accepted
- new protocol have to transfer all the data about the update including
protocol/client adresses/full RDATA
- should the new protocol contain a “reply” which can contain modified
records?
- e.g. client sent
update add A 192.0.2.1
, should the protocol
allow the daemon to return the A record update and add PTR record
update?
Daemon with standard protocols
Daemon
- uses
SyncRepl
(RFC
4533), DNS update (RFC
2136), and IFXR/AXFR (RFC
1995/RFC
5936) to synchronize data
between LDAP and BIND
- generates config snippets
- generates
zone {}
sections for named.conf
(+ other config)
- zone definition allows local zone transfers and updates (between
BIND and the local daemon)