DDCLIENT set-up on Fedora for Namecheap
Configure Namecheap¶
Follow the Namecheap guide here
Tip
For a subdomain "oxygen.copper.com", just replace @ with "oxygen"
Set-up DDCLIENT¶
Press Ctrl+W and type the name of host for your Dynamic DNS. Mine is with Namecheap and I needed to configure for the subdomain hence following config reflects how to do it for Namecheap guidance. For other hosts, you will need to refer their documentation.
- Copy the password from namecheap advanced DNS section
The password to be provided above is what you will find on namecheap dashboard (Ref. Screenshot above).
- Log in to the namecheap account.
- Go to Advanced DNS
- Scroll down to Dynamic DNS section
- Copy the password
- Paste in ddclient config file
Test DDCLIENT¶
Before we schedule ddclient to run at boot, we need to test if it has been configured properly and is able to communicate with Namecheap by sudo ddclient -daemon=0 -debug -verbose -noquiet
. If it is configured properly, you will see a message similar to this as part of the final output.
Important
If it is not what you see, and more importantly, if you do not see last line as "Success", then there is something wrong with configuration and you must correct it before proceeding.
If this test worked, we are ready to update the DDCLIENT service.
Set up DDCLIENT to run at start-up¶
When we install ddclient using dnf
, a ddclient.service
file is automatically created in the location /etc/systemd/system/ddclient.service
with following content.
We will enable and start this service by issuing following commands:
One would think that enabling and starting this service is all you need to do but that is not usually the case. I was getting following error:
Error
/bin/touch: cannot touch `/var/cache/ddclient/ddclient.cache': Permission denied
So if sudo systemctl start ddclient
results in above error, you may need to do the following:
Done.
Known Issue with DDCLIENT¶
There is a known issue and I can confirm that I have seen on my logfile as recently as today.
Error
WARNING: cannot connect to dynamicdns.park-your-domain.com:80 socket: IO::Socket::INET: Bad hostname 'dynamicdns.park-your-domain.com'
It isn't major but it is there and restarting the service by issuing the command sudo systemctl restart ddclient.service
fixes the problem.