hpr4203 :: Setup DuckDNS on a Raspberry Pi
Kevie discusses Dynamic DNS and how to setup DuckDNS on a Raspberry Pi
Hosted by Kevie on Wednesday, 2024-09-11 is flagged as Clean and is released under a CC-BY-SA license.
Dynamic DNS, Raspberry Pi, remote access, Linux.
(Be the first).
The show is available on the Internet Archive at: https://archive.org/details/hpr4203
Listen in ogg,
spx,
or mp3 format. Play now:
Duration: 00:17:16
general.
Kevie, co-host of TuxJam, discusses what a Dynamic DNS is and also introduces the free service DuckDNS. To complete this project you are going to need:
- Raspberry Pi
- Pi Power Supply
- Micro-SD Card
- Ethernet Cable
The first thing that we will need to do is to go to the DuckDNS website, sign in using your preferred method, once you complete the captcha then you will be given your unique token (copy or take a note of it, but don't share this with anybody).
Next you will want to create your own unique address, type in your chosen domain and click on Add Domain.
Now it is time to setup your Raspberry Pi. Log into your Pi and open a terminal. The first thing that we will do is make sure that it is up to date:
sudo apt update && sudo apt upgrade -y
Install Curl using the command:
sudo apt install curl
You will now create two new folders, the first is where the script will be kept, the second to store the logs:
sudo mkdir /opt/duckdns/ && sudo mkdir /var/log/duckdns/
We need to add a bash script that will update your IP with the DuckDNS service. First of all create a new file called duck.sh with the code:
sudo nano /opt/duckdns/duck.sh
At this point the file is empty, we need to enter in the command below. However you must replace DUCKDNSDOMAIN with the domain that was created on the DuckDNS website and replace DUCKTOKEN with your DuckDNS Token:
echo url="https://www.duckdns.org/update?domains=DUCKDNSDOMAIN&token=DUCKTOKEN&ip=" | curl -k -o /var/log/duckdns/duck.log -K -
Now save and exit (ctrl+X, Y, enter on Nano).
Next we can set the script's permission so that nobody else will gain access to your token:
sudo chmod 700 /opt/duckdns/duck.sh
Last step: we need to set a cron task so that your Pi will update DuckDNS domain every 5 minutes:
sudo crontab -e
Navigate to the bottom of the page and add the line:
*/5 * * * * /opt/duckdns/duck.sh >/dev/null 2>&1
Save and exit and your dynamic DNS should be up and running within five minutes.