Dynamically update records


#1

Hi,

I have a little server sitting at my home which I need access to from the outside of my home network. Unfortunately my provider doesn’t offer fixed IPs which is why my home IP changes every once in a while. Currently I am using no-ip.com to update a dynamic domain with the servers IP adress everytime it changes.

Now I would like to use Bytemark’s DNS servers to create a subdomain (home.mydomain.com) pointing to my home server and was wondering would be the best way to approach this. I know that I can only run tinydns’s upload script as root on the bytemark server. So it seems that the only way to dynamically update my records is to

  1. ssh as root into my bytemark server, which means I have to generate and copy over my ssh keys so the home server can login being prompted for the password
  2. once logged in edit the BytemarkDNS/data/mydomain.txt file, find the alias and update it with the new domain
  3. run ./upload

Of course I would create a script for this so I can have a cronjob that runs ssh root@mydomain.com 'update.sh <newip>' from my home server everytime the IP changes.

Is this the way to go or is there a better solution that I am missing?


#2

I’ve done something very similar. You can add more files to /srv/domain.com/config.dns, and these are automatically processed and added to your DNS (assuming you’re using Symbiosis).

I’ve got a ‘dynamic’ address with a TTL of 5 minutes. Periodically, my home machine generates this file, and scp’s it to the appropriate place on the server at Bytemark.

The file is simply:

+myhost.mydomain.com:1.2.3.4:300

(the 300 is the TTL in seconds).

Andy


#3

Thank you. That’s a nice way of doing it. Although I don’t think I’m using Symbiosis as I have to manually run ./upload to push my DNS changes.

I found another solution for now which I am happy with. I found out that dynu.com offers free dynamic DNS domains and also (which was important to me) allows you to use your own domain name. I simply had to change the authority of my subdomain in my Bytemark DNS settings to dynu.com’s nameserver, like this:

&home.mydomain.com::ns1.dynu.com
&home.mydomain.com::ns2.dynu.com
&home.mydomain.com::ns3.dynu.com

This will tell Bytemarks DNS that dynu.com is responsible for this specific subdomain while all my other subdomains and the main domain are still handled by Bytemarks DNS.

I can then use ddclient as usual to update my dynamic IP at dynu.com. Works great.

The only downside of course is that I am dependent on another provider. I’ll definitely give your solution a go if dynu.com turns out to be unreliable.

Lukas