Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I intend to run a debian server at home, it will host various websites, SSH server and email.

I have a dynamic IP address and I am unwilling to pay the extra for a static IP.

I was thinking I could probably get around the DNS issue if I ran my own name server and used something like no-ip to set auto-updated nameserver addresses for my registered domains, eg:

On the registrar:

john-hunt.com (and my other domains) nameservers = johnns1.noip.com & johnns2.noip.com

johnns1.noip.com, johnns2.noip.com -> my dynamic IP

Which will make sure that the nameservers for my domains are always pointing to my machine at home.

I will run BIND or something similar on the home machine to actually serve up the DNS records.

The real problem I have is that I don't quite know how I'd configure BIND (or tinydns or whatever) to accept and apply updates when my IP address changes.. I can think of a way to bodge it (poll & ping johnns1.noip.com to get my IP address, then grep on the zonefiles and reload every 5 minutes..) but that doesn't feel very solid.

Does anyone have any experience in this area? I had a look at no-ip's enhanced services but they want $25 for hosting records for every domain (and I have quite a few).

share|improve this question
The solution here is to not run your own name server. Registrars take a while to update, and so when your IP changes, it could take hours or days before the new IP is picked up by the internet. Plus some registrars will refuse frequent updates. Additionally, this might be off topic for here. It doesn't really have anything to do with unix. Probably more appropriate on serverfault. – Patrick Jul 17 '14 at 12:57
I wasn't intending on updating the registrar's NS records, just the dns records hosted on my own machine. Also, I was assuming there'd be a software solution to the problem hence asking it here. – John Hunt Jul 17 '14 at 14:10
up vote 2 down vote accepted

I do the following which has worked well for me the last 10+ years. I setup a dynamic DNS name on a service such as DynDNS (which was free until this year) or some other such provider. This gives me a foothold so that my constantly changing IP will always be rooted in a static name such as sam.dyndns.org.

I then create CNAMEs in bind that point to this static name and voila I have permanent names.

share|improve this answer
I didn't realise you can have CNAME entries pointing to a record not in the same dns record.. sounds interesting though! – John Hunt Jul 17 '14 at 14:01
You can do these yourself or make use of your registrars free DNS hosting as well. – slm Jul 17 '14 at 14:04
You know I think this might well work! You're a genius. Marked as correct because I doubt I'll remember to come back here and mark it. – John Hunt Jul 17 '14 at 14:09
You can also leverage this my stacking the external domains as CNAMEs on a single DDNS name and then use Nginx/Apache's virtualhosts to multi-plex them out too. – slm Jul 17 '14 at 14:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.