Ddclient: Difference between revisions
Cartwatson (talk | contribs) Created basic page for ddclient |
Cartwatson (talk | contribs) m switch to using templates instead of code blocks |
||
| Line 3: | Line 3: | ||
== Installation & Configuration == | == Installation & Configuration == | ||
Below is an example configuration to dynamically update your records in [https://www.cloudflare.com/application-services/products/dns/ Cloudflare DNS] | Below is an example configuration to dynamically update your records in [https://www.cloudflare.com/application-services/products/dns/ Cloudflare DNS] | ||
{{File|3={ | |||
... | |||
services.ddclient = { | |||
enable = true; | |||
interval = "5min"; | |||
protocol = "cloudflare"; | |||
username = "token"; | |||
passwordFile = "/path/to/api.key"; | |||
domains = [ "example.com" ]; | |||
zone = "example.com"; | |||
ssl = true; | |||
}; | |||
... | |||
}|name=configuration.nix|lang=nix}} | |||
{{Nix:option|Interval}} may be set to a time of your choosing, check your DNS provider's documentation to ensure that you aren't sending requests too often. For formatting run <code>man 7 systemd.time</code> or checkout the [https://man7.org/linux/man-pages/man7/systemd.time.7.html online man pages]. | |||
=== Using Your DNS Provider === | === Using Your DNS Provider === | ||
For more in depth info on using ddclient for a specific DNS provider visit the [https://ddclient.net/protocols.html ddclient documentation]. If your provider isn't listed there try searching the [https://github.com/ddclient/ddclient/blob/main/ddclient.in ddclient source code] for your DNS name, modifying the above configuration with the relevant | For more in depth info on using ddclient for a specific DNS provider visit the [https://ddclient.net/protocols.html ddclient documentation]. If your provider isn't listed there try searching the [https://github.com/ddclient/ddclient/blob/main/ddclient.in ddclient source code] for your DNS name, modifying the above configuration with the relevant {{Nixos:option|services.ddclient.protocol|protocol}}, {{Nixos:option|services.ddclient.username|username}}, {{Nixos:option|services.ddclient.passwordFile|passwordFile}}, {{Nixos:option|services.ddclient.domain|domain}}, and {{Nixos:option|services.ddclient.zone|zone}} | ||
As an example, look for a section like the below for your provider to define the necessary attributes. | |||
{{File|3=Configuration variables applicable to the 'cloudflare' protocol are: | |||
protocol=cloudflare ## | protocol=cloudflare ## | ||
server=fqdn.of.service ## defaults to api.cloudflare.com/client/v4 | server=fqdn.of.service ## defaults to api.cloudflare.com/client/v4 | ||
login=service-login ## login email when using a global API key | login=service-login ## login email when using a global API key | ||
password=service-password ## An API token, it must have the permissions "Zone - DNS - Edit" and "Zone - Zone - Read". The Zone resources must be "Include - All zones". | password=service-password ## An API token, it must have the permissions "Zone - DNS - Edit" and "Zone - Zone - Read". The Zone resources must be "Include - All zones". | ||
fully.qualified.host ## the host registered with the service. | fully.qualified.host ## the host registered with the service.|name=ddclient.in|lang=}} | ||
This will describe | |||
This will describe the specific options needed for your DNS provider. | |||
== Troubleshooting == | == Troubleshooting == | ||
Adding | Adding {{Nixos:option|services.ddclient.verbose|2=verbose = true}} to your ddclient config will enable debug logs on the [[systemd]] unit. The debug logs can help verify that the client is able to reach your DNS provider even if it doesn't need to change the DNS records. | ||
== References == | == References == | ||