Atomia DNS

Usage

6 views 0

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
  • 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.

  • full_reload_online
  • Marks all zones as changed so that the update-process propagates them on all nameservers.

  • full_reload_slavezones
  • Marks all slave zones as changed so that the update-process propagates them on all nameservers.

  • updated
  • 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.

  • add_server
  • Adds this server (configured using servername in /etc/atomiadns.conf) as a subscriber of the data set on the configured SOAP server.

  • remove_server
  • Removes the subscription of the data set on the configured SOAP server for this server (configured using servername in /etc/atomiadns.conf).

  • disable_updates
  • Disables propagation of changes to the nameservers.

  • enable_updates
  • 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
  • Specifies the path of the local BDB environment. The default is /var/lib/bind/atomiadns_bdb, and does probably not need to change.

  • bdb_filename
  • 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.

  • soap_uri
  • Specifies the URI of the SOAP Server to fetch changes from.

  • servername
  • Specifies the filename which contain a list of the configured slave zones.

  • slavezones_config
  • Specifies the hostname used when subscribing and checking for changes.

  • slavezones_dir
  • Specifies the directory where zone files for the slave zones are stored.

Examples

  1. To do a full reload to a new folder without missing any updates (assuming the default bdb_environment_path), do the following:
  2. atomiadnssync disable_updates
    
  3. Verify manually that no pending changes exist.
  4. Write down the output (unix timestamp) of `date +%s`
  5. Run the following:
  6. `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
    
  7. Or to accomplish the same thing using the online reload feature (much better and the preferred way):
  8. atomiadnssync full_reload_online
    
  9. To add the server as a subscriber:
  10. 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.

Was this helpful?