The following section provides steps to installing the Distributed DDNS Service Node on BDDS.
Prerequisites
- On the BDDS that will be running the Distributed DDNS Service Node, you must ensure that the disk size is at least 1.5 times the amount of RAM on the BDDS. For example, if the amount of RAM on the BDDS is 4GB, you must have at least 6GB of free disk space.
- Make note of the following configuration information from the Distributed DDNS
Data Node setup:
- The IP address of one of the Distributed DDNS Data Nodes in the cluster.
- The Distributed DDNS Data Node username and password.
- The port of the Distributed DDNS Data Node. By default, this value is 3306.
- The following ports must be free and open on each Distributed DDNS Service Node
on BDDS:Attention: By default, the ports are opened on the firewall of the DNS/DHCP Server upon deployment of the Distributed DDNS Service Node. If you are deploying on different networks, ensure that the ports are open on your routers between the nodes for communication between nodes.
- 53: Used by the Distributed DDNS service.
- 4900: Used by the API service on the Distributed DDNS Service Node.
- 2600-2612: Used by the Anycast service on the Distributed DDNS Service Node.
If you install the Distributed DDNS Service Node on the same BDDS as the Distributed DDNS Application Node, you must manually add firewall rules on the BDDS using the following commands:iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --sport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
- The BDDS that are to operate as a Distributed DDNS Data Node must be under Address Manager control.
- BlueCat Gateway must have access to the configuration name and view name in
Address Manager that contains the BDDS that are to operate as a Distributed DDNS
Data Node. To allow access to the configuration name and view name:
- Log in to the Distributed DDNS Application Node user interface.
- Navigate to .
- Select the BAM Settings tab.
- Set the Default Configuration and Default View to the configuration and view that contains the BDDS.
- Ensure that the name server is configured for the BDDS. Configuring a name server close to the Distributed DDNS Service Node reduces the processing time of DDNS Service when processing DNS update messages. For more information, refer to the "Administration Console" section of the Address Manager Administration Guide.
- Ensure that an IP address is assigned to the BDDS and that a network is configured to ensure that the BDDS can download the Docker image from Quay. For more information, refer to the "Administration Console" section of the Address Manager Administration Guide.
To deploy the Distributed DDNS Service Node on BDDS:
- Log in to the UI of the Distributed DDNS Application Node.
- Select the DDNS Deployment tab.
- Select the name of a server. If there are no BDDS names populated in the list, ensure that you have correctly configured the settings outlined in the Prerequisites section.
- In the Service Type section, select DDNS Node.
- In the General section, enter the following
information:
- Authentication Type—select the method of
authentication. You can select Password or SSH Key.If you select Password, enter the following information:
- SSH Username—enter the username that will be used to SSH to the BDDS.
- SSH Password—enter the password that will be used to SSH to the BDDS.
If you select SSH, enter the following information:- SSH Username—enter the username of
the root or non-root user. If entering a non-root username,
it must also be added to the
/etc/sudoers file. You can use the
following commands to add non-root username to the
file:
sudo visudo <non-root_username> ALL=(ALL) NOPASSWD: ALL
- SSH Private Key—enter the SSH private
key produced using the ssh-keyden command.
Ensure that the corresponding public key is available on the
destination server using the following
commands:
ssh-keygen ssh-copy-id -i <public_key_file> <remote_user>@<remote_server>
- Key Passphrase—enter the key passphrase if one was used when generating the SSH key pair.
- DB Address—select one of the IP addresses of the available Data Nodes.
- DB Password—enter the password for the default user of the database cluster. By default, the password is ddns_admin.
- Authentication Type—select the method of
authentication. You can select Password or SSH Key.
- In the Repository section, enter the following
information:
- Image—enter quay.io/bluecat/distributed_ddns_service:21.3
- Username—enter your Quay username.
- Password—enter your Quay password.
- Click Deploy.
Attention: If the nodes do you appear in the Distributed DDNS
Application Node UI after you have added them, you must disable caching in Gateway.
For more information on disabling caching, refer to the 'Configuring caching
policies' section of the BlueCat Gateway Administration Guide.
Service Node container information
The following section contains information about the Service Node container deployment.
Service Node container name
The Service Node container name includes the IP address of the node in the following format: ddns_node_<db-ip-address>. For example, ddns_node_192.168.1.1
Service Node container network
The Service Node container uses the Docker host network.
Service Node container volumes
When you deploy the Service Node container, the following volumes are created to
persist data on the host DNS/DHCP Server:
- quagga_config: contains all Quagga configuration files.
- quagga_log: contains all Quagga log files.
- ddns_config: contains all configuration files of the DDNS services.
- ddns_log: contains all log files of the DDNS services.
- control_config: contains the configuration file of the API service.
- control_log: contains the log file of the API service.
- rabbit_data: contains the data files of the RabbitMQ service.
- rabbit_config: contains the configuration files of the RabbitMQ service.
- rabbit_log: contains the log files of the RabbitMQ service.
- ssl_config: contains all necessary certificates for the secure operation of the Distributed DDNS Service Node.