Cron job to auto update a DNS record when WAN IP changes using Gandi Live DNS API on Debian GNU/Linux
Find a file
Lab 8916100448256 e9f00f4fca Update README.md
+ Add link to Gandi APIKey documentation
2020-02-28 16:09:01 +00:00
etc First version of files 2020-02-27 14:48:28 +01:00
usr/local/bin First version of files 2020-02-27 14:48:28 +01:00
install.sh First version of files 2020-02-27 14:48:28 +01:00
README.md Update README.md 2020-02-28 16:09:01 +00:00

Gandi Dynamic DNS

Cron job to auto update a DNS record when WAN IP changes using Gandi Live DNS API on Debian GNU/Linux

To install

git clone https://gitlab.com/lab.8916100448256/gandi-dynamic-dns.git ./gandi-dynamic-dns
cd ./gandi-dynamic-dns
sudo bash ./install.sh

Then configure DNS record info and API key in file /etc/live-dns/live-dns.conf

How it works

/etc/cron.d/live-dns-update

Cron job definition to check for WAN IP change and call Live DNS API to update the DNS record if necessary. By default runs the check/update script 2 times per hour, at every hour past 12 and 42 minutes.

/etc/live-dns/live-dns.conf

Configuration file for the check/update script Needs to contains 3 environment variable definitions

  • DOMAIN="domain.tld" : Replace domain.tld with your domain name
  • RECORD="host" : Replace host with the sub domain you want to update when WAN IP changes
  • APIKEY="Your-API-Key" : Replace with you API key generated on the Gandi web interface.

Check this page if you don't know your APIKey : https://docs.gandi.net/en/domain_names/advanced_users/api.html

/usr/local/bin/live-dns-update.sh

This the script that is called by the cron job.

This script is based on the sample provided on Gandi GitHub : mywanip.sh