2.2 KiB
2.2 KiB
ddclient is used to update Cloudflare DNS with the current home internet public IP address. Since the home internet uses a dynamic IP, this software runs as a service to pull the current public IP address and then update Cloudflare DNS using an API. Without this service, accessing self-hosted applications would be less reliable and fail completely if the public IP address changes.
Installation
To install ddclient, run following commands
sudo apt-get update
sudo apt install ddclient
Configure ddclient for use with Cloudflare DNS. The password field is populated with the API token generated from Cloudflare.
sudo nano /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
# techtrekkerz.com business domain
protocol=cloudflare \
use=web, web=ipify-ipv4 \
zone=techtrekkerz.com \
login=token \
password='AiWIVPetG7by_Eclz3_Sb-n8C2Gxwvh2ts8FBHDU' \
*.techtrekkerz.com
# speerfam.net personal domain
protocol=cloudflare \
use=web, web=ipify-ipv4 \
zone=speerfam.net \
login=token \
password='AiWIVPetG7by_Eclz3_Sb-n8C2Gxwvh2ts8FBHDU' \
*.speerfam.net
Configure ddclient to run as a service
sudo nano /etc/default/ddclient
# Configuration for ddclient scripts
# generated from debconf on Tue May 14 12:03:42 PM CDT 2024
#
# /etc/default/ddclient
# Set to "true" if ddclient should be run every time DHCP client ('dhclient'
# from package isc-dhcp-client) updates the systems IP address.
run_dhclient="false"
# Set to "true" if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand.
run_ipup="false"
# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
run_daemon="true"
daemon_interval="5m"
Start ddclient service and set service to start at boot
sudo systemctl start ddclient.service
sudo update-rc.d ddclient enable
Backup
To backup the configuration settings of ddclient, run the following commands.
sudo rsync /etc/ddclient.conf /mnt/5TB-Disk1/backup/server/ddclient/ && sudo rsync /etc/default/ddclient /mnt/5TB-Disk1/backup/server/ddclient/