Product SiteDocumentation Site

8.3. Configuring the bind-dyndb-ldap Plug-in

The bind-dyndb-ldap system plug-in contains a DNS record cache for zones and a history of successful DNS resolutions. Maintaining the cache improves lookup performance in the Directory Server because it is not necessary to query the directory services every time there is a new DNS request.
When this plug-in is installed and FreeIPA is configured to manage DNS, then a new configuration section is added to the plug-in configuration.
Example 8.1. Default dynamic-db Configuration
dynamic-db "ipa" {
        library "";
        arg "uri ldapi://%2fvar%2frun%2fslapd-EXAMPLE-COM.socket";
        arg "base cn=dns, dc=example,dc=com";
        arg "fake_mname";
        arg "auth_method sasl";
        arg "sasl_mech GSSAPI";
        arg "sasl_user DNS/";

This configuration uses implied default values for other plug-in behaviors, like how long it maintains the cache. The assumed, default configuration can be changed by adding arguments to the dynamic-db "ipa" entry.
arg "argument value";
The additional parameters are listed in Table 8.2, “Additional bind-dyndb-ldap Configuration Parameters”.


Both cache updates and new zone detection can be forced by reloading the name server:
# rndc reload
To improve DNS performance, it may be necessary to change the cache setting. By default, DNS records are kept in cache and considered valid for 120 seconds. This means that if a DNS record changes, it will not (necessarily) be propagated to the name server for up to 120 seconds. If the Directory Server has a high traffic volume or if records do not change frequently, then the cache time can be increased to improve performance by adding the cache_ttl parameter.
dynamic-db "ipa" { 
    arg "cache_ttl 1800"; 
The other configurable behavior defines how the BIND service receives updates about new zones. The DNS service receives its information through the bind-dyndb-ldap plug-in. The plug-in resolves only zones were configured and enabled in the Directory Server when the name server started. When the name service restarts, the plug-in reloads its configuration and identifies any new zones. However, the plug-in can be used to search for zone changes actively either by refreshing the zone data on a schedule or by keeping a persistent connection open to the Directory Server and immediately catching any changes.
Periodically checking for new zones is the same as refreshing the zone configuration. This is set in the zone_refresh argument.
dynamic-db "ipa" { 
        arg "zone_refresh 30"; 
Alternatively, the plug-in can maintain an open connection to the server through a persistent search. Persistent searches provide immediate notification of changes, unlike polling, and maintain a local cache of the configuration data. However, there can be some performance issues related to persistent searches, which are covered in the Directory Server Administrator's Guide.
Persistent searches are disabled by default but can be enabled in the psearch argument:
dynamic-db "ipa" { 
        arg "psearch yes"; 
Table 8.2. Additional bind-dyndb-ldap Configuration Parameters
Parameter Description Default Value
cache_ttl Checks the DNS configuration in the Directory Server for new zones. 120 (seconds); this is defined in the bind-dyndb-ldap plug-in.
zone_refresh Checks frequency, in seconds, that the server checks the DNS configuration in the Directory Server for new zones. 60 (seconds); this is configured by ipa-dns-install. If this is not set in the /etc/named.conf file, the bind-dyndb-ldap plug-in sets this value to zero (0), which disables zone refresh.
psearch Enables persistent searches for the Directory Server so the BIND service immediately receives an update notification when a new DNS zone is added. no