Dynamic DNS
Dynamic DNS (DDNS) is similar to DNS. DDNS manages records of servers that have IP addresses which change.
cMixx Nodes and Gateways communicate using IP addresses or domain names. If a Node or Gateway has a dynamic IP address, then the changing of the IP address can result in downtime until the Node operator manually updates the configurations files. DDNS can be used to avoid downtime when its IP address changes.
Depending on your needs and preferences, you can configure just the Node, or just the Gateway or both to use DDNS.
If your Node and/or Gateway has a static IP address, then there is really no need to use DDNS, but you can if you prefer.
Which DDNS Should I Use?
There are multiple DDNS providers and multiple ways to implement their services. You will need to determine for yourself which DDNS provider to use and how to implement their service. Each DDNS provider will provide documentation related to their service.
To get you started ask a search engine, "What is DDNS?"
Once you have configured DDNS per your provider's instructions, follow the appropriate instructions below for configuring the cMixx software.
DDNS on Node ONLY
To use DDNS on the Node ONLY, you must ...
- Enable
overridePublicIPin thecmix.yamlfile of the Node computer. - Update the
cmixAddressin thegateway.yamlfile of the Gateway computer.
Below the NODE computer will use the DDNS address mynode.ddns.com for demonstration purposes.
Enable overridePublicIP on NODE
On the NODE computer, edit the cmix.yaml configuration file.
nano /opt/xxnetwork/config/cmix.yaml
Navigate to the line with #overridePublicIP.
# The public IPv4 address of the Node, as reported to the network. When not
# set, external IP address lookup services are used to set this value. If a
# port is not included, then the port from the port flag is used instead.
# WARNING: Do not modify this option unless explicitly required.
#overridePublicIP: "1.2.3.4"
Enable overridePublicIP by deleting the # prepending the line. Replace the placeholder IP address "1.2.3.4" with your DDNS address (Ex: "mynode.ddns.com"). Once the change is made it should look similar to the following:
# The public IPv4 address of the Node, as reported to the network. When not
# set, external IP address lookup services are used to set this value. If a
# port is not included, then the port from the port flag is used instead.
# WARNING: Do not modify this option unless explicitly required.
overridePublicIP: "mynode.ddns.com"
Press Ctrl + s then Ctrl + x
For the change to take effect restart the xxnetwork-cmix service.
sudo systemctl restart xxnetwork-cmix.service
Update cmixAddress on GATEWAY
On the GATEWAY computer, edit the gateway.yaml configuration file.
nano /opt/xxnetwork/config/gateway.yaml
Navigate to the line with cmixAddress and replace the IP address with the DDNS address and port of cMixx Node computer.
# The IP address of the machine running cMixx that the Gateway communicates with.
# Expects an IPv4 address with a port. (Required).
cmixAddress: "mynode.ddns.com:11420"
Ensure that cmixAddress specifies a port. The default port is 11420.
Press Ctrl + s then Ctrl + x
For the change to take effect restart the xxnetwork-gateway service.
sudo systemctl restart xxnetwork-gateway.service
DDNS on Gateway ONLY
To use DDNS on the Gateway ONLY, you must ...
- Enable
overridePublicIPin thegateway.yamlfile of the Gateway computer.
Below the Gateway computer will use the DDNS address mygateway.ddns.com for demonstration purposes.
Enable overridePublicIP on GATEWAY
On the GATEWAY computer, edit the gateway.yaml configuration file.
nano /opt/xxnetwork/config/gateway.yaml
Navigate to the line with #overridePublicIP.
# The public IPv4 address of the Gateway, as reported to the network. When not
# set, external IP address lookup services are used to set this value. If a
# port is not included, then the port from the port flag is used instead.
#overridePublicIP: "1.2.3.4"
Enable overridePublicIP by deleting the # prepending the line. Replace the placeholder IP address "1.2.3.4" with your DDNS address (Ex: "mygateway.com"). Once the change is made it should look similar to the following:
# The public IPv4 address of the Gateway, as reported to the network. When not
# set, external IP address lookup services are used to set this value. If a
# port is not included, then the port from the port flag is used instead.
overridePublicIP: "mygateway.ddns.com"
Press Ctrl + s then Ctrl + x
For the change to take effect restart the xxnetwork-gateway service.
sudo systemctl restart xxnetwork-gateway.service
DDNS on Both Computers
To use DDNS on both computers, combine the instructions for DDNS on Node ONLY AND DDNS on Gateway ONLY
To use DDNS on the BOTH computers, you must ...
- Enable
overridePublicIPin thecmix.yamlfile of the Node computer. - Update the
cmixAddressin thegateway.yamlfile of the Gateway computer. - Enable
overridePublicIPin thegateway.yamlfile of the Gateway computer.