AstLinux now supports the ddclient-curl package, installed as ddclient
.
The ddclient-curl
package is a fork of the original ddclient
perl script, which has been rewritten to use curl
for network IO and a comprehensive IPv4/IPv6 framework allowing both IPv4 and/or IPv6 dynamic addresses (A
and/or AAAA
records) to be updated using supported DNS service providers.
Note: AstLinux 1.2.10 or later is required for 'ddclient-curl' specific features
Configuring Dynamic DNS is relatively simple, but a few things must be considered.
First you need to find a DNS provider you want to work with, many are free to use but be sure to check and abide by their terms of service. In many cases you will need to register a domain name of your own and configure your domain's DNS to point to the (two or more) name servers as instructed by your DNS provider.
So, while many DNS providers are free of charge, your domain name will have a nominal yearly cost.
Below is a short list of DNS providers that have been tested with AstLinux. There are many other providers available.
Cloudflare → Supports DNS A
and AAAA
record updates.
FreeDNS → Supports DNS A
and AAAA
record updates.
HE Free DNS → Supports DNS A
and AAAA
record updates.
DNS-O-Matic → Supports only DNS A
record updates, relaying to other providers.
For the standard case where a single DNS provider is used, this example uses the “HE Free DNS” (Hurricane Electric) provider updating both IPv4 (A
record) and IPv6 (AAAA
record).
For the “HE Free DNS” service type, you must first create the A
and AAAA
records for dydns.example.com
(fictitious) using the HE Free DNS web portal, and mark those records as dynamic. Use the generated API key as your password.
Select the Network Tab in the web interface.
Scroll down to the “Dynamic DNS Update:” section:
Tip -> You must define the “DNS Hostname”, “DNS Username” and “DNS Password” entries, they can't be empty.
In most cases the standard configuration (above) will be fine. But for more advanced situations, multiple providers, multiple IP's, etc. a custom /mnt/kd/ddclient.conf
file can be created.
The simplest case is to copy the system template /stat/etc/ddclient.conf
to your custom config:
cp /stat/etc/ddclient.conf /mnt/kd/ddclient.conf
The next time you “Restart Dynamic DNS” the custom config will be used, but will work exactly as the standard case, matching the various “DNS Service Type:” menu entries. You may now make simple edits to the custom /mnt/kd/ddclient.conf
file, maintaining support for all the “DNS Service Type:” menu entries.
For more complex configurations, you may find that supporting all the “DNS Service Type:” menu entries with the special syntax is too cumbersome, you may define your /mnt/kd/ddclient.conf
without the leading provider syntax, as such the “DNS Service Type:” menu selection will be ignored.
Select the Network Tab in the web interface.
Scroll down to the “Dynamic DNS Update:” section:
Clicking on the Dynamic DNS Configuration button will allow you to edit the /mnt/kd/ddclient.conf
file.
Tip -> Macro replacements of @FOO@
variables will still be performed if your custom /mnt/kd/ddclient.conf
contains such entities.
For example, your custom /mnt/kd/ddclient.conf
may start with the same initial lines of the system template /stat/etc/ddclient.conf
:
daemon=@DELAY@ @USE_WEB@use=web, web=@WEB_STR@ @USE_IF@use=if, if=@EXTIF@ @USEV6_WEB@usev6=web, webv6=@WEBV6_STR@ @USEV6_IF@usev6=if, if=@EXTIF@
These lines will allow the “DNS Get IPv4 Address” and “DNS Get IPv6 Address:” web interface entries to work as expected.
You may leave the “DNS Hostname”, “DNS Username” and “DNS Password” entries empty if you wish, or use @DDHOST@, @DDUSER@ and @DDPASS@ to pass along any of those web interface fields.