Using the Atomia DNS Bind-DLZ Nameserver.
Sync application
The sync application is called atomiadnssync. You can view its manual below or by running:
man atomiadnssync
Atomia DNS Sync
Overview
atomiadnssync is an application for synchronizing a local BDB database with the master zone database using SOAP. It contains options for both doing a full reload of all zones in the master database, and for just fetching the zones changed since the last update and reloading those. In addition you can use this tool for adding or removing the subscription of updates for a nameserver, and for enabling and disabling propagation of updates globally across all nameservers.
Synopsis
atomiadnssync full_reload_offline SERIAL DESTINATION atomiadnssync OPTION
Options
- full_reload_offline SERIAL DESTINATION
- full_reload_online
- full_reload_slavezones
- updated
- add_server
- remove_server
- disable_updates
- enable_updates
Propagates all zones to a fresh BDB environment stored in the destination folder (should be empty before running). All zones get the serial specified in their SOA-record. This command should always be run with the same user BIND is running as.
Marks all zones as changed so that the update-process propagates them on all nameservers.
Marks all slave zones as changed so that the update-process propagates them on all nameservers.
Fetches a list of changed zones and adds or removes them from the local BDB database. This option is used by the daemon started at boot-time by /etc/init.d/atomiadns-nameserver. You should never run this manually.
Adds this server (configured using servername in /etc/atomiadns.conf) as a subscriber of the data set on the configured SOAP server.
Removes the subscription of the data set on the configured SOAP server for this server (configured using servername in /etc/atomiadns.conf).
Disables propagation of changes to the nameservers.
Enables propagation of changes to the nameservers.
Configuration
The application is configured using a config file stored at /etc/atomiadns.conf. All options are required.
The following options exist:
- bdb_environment_path
- bdb_filename
- soap_uri
- servername
- slavezones_config
- slavezones_dir
Specifies the path of the local BDB environment. The default is /var/lib/bind/atomiadns_bdb, and does probably not need to change.
Specifies the filename (relative to bdb_environment_path) of the local BDB database. The default is dns_data.db, and does probably not need to change.
Specifies the URI of the SOAP Server to fetch changes from.
Specifies the filename which contain a list of the configured slave zones.
Specifies the hostname used when subscribing and checking for changes.
Specifies the directory where zone files for the slave zones are stored.
Examples
- To do a full reload to a new folder without missing any updates (assuming the default bdb_environment_path), do the following:
- Verify manually that no pending changes exist.
- Write down the output (unix timestamp) of `date +%s`
- Run the following:
- Or to accomplish the same thing using the online reload feature (much better and the preferred way):
- To add the server as a subscriber:
atomiadnssync disable_updates
`atomiadnssync full_reload_offline the_timestamp /var/lib/bind/atomiadns_bdb_new rm -rf /var/lib/bind/atomiadns_bdb_old ; mv /var/lib/bind/atomiadns_bdb /var/lib/bind/atomiadns_bdb_old ; mv /var/lib/bind/atomiadns_bdb_new /var/lib/bind/atomiadns_bdb rndc reload atomiadnssync enable_updates
atomiadnssync full_reload_online
atomiadnssync add_server
Author
Atomia DNS was developed by Atomia AB. For support, please see http://www.atomiadns.com/.
BDB databases on the nameservers
On the nameservers the location of the BDB databases is configured in /etc/atomiadns using bdb_environment_path and bdb_filename .
You can use the regular BDB utilities to do things like hot backup and crash recovery.
More information can be found in the BDB documentation, for example:
https://web.stanford.edu/class/cs276a/projects/docs/berkeleydb/ref/transapp/recovery.html
https://web.stanford.edu/class/cs276a/projects/docs/berkeleydb/ref/transapp/archival.html
If the BDB databases were to become corrupt, the recommended solution would be to do a full resync of the BDB databases from the master. This is done using the atomiadnssync tool.