- Register at https://dns.he.net/
- Delegate a subdomain to HE.net. Add three NS records with any subdomain (I used
ddns
) as the name and ns2-4.he.net
as the targets.
- Add the subdomain as a new domain in the HE DNS control panel.
- Create an A record that will be used as the dynamic hostname, making sure to check Enable entry for dynamic dns
- Click on the refresh sign under the DDNS column to generate a new key. Enter a preferably long random string or use the provided generator. Copy the key.
- Create a bash script that will be run periodically to update the record.
#!/bin/sh
curl "https://dyn.dns.he.net/nic/update" -d "hostname=homeserver.ddns.domain.com" -d "password=KEY_FROM_STEP_5" --cacert /var/cacert-
root.crt
- The API uses a CACert certificate which most likely isn't trusted by your OS by default. So, you will need to grab the Root Certificate from their website and store it in
/var/cacert-root.crt
.
- Add a cronjob:
*/30 * * * * /home/kamal/ddns/update.sh >/dev/null 2>&1