Dns - Customdns

so, id like to know how hard it is to set up a dns server on my linode. if its possible to have an update client, like so i currently use a service provided by dnsdns.org called customdns.. allows me to have dynamic ips auto be upated and things like that for various things.

is a setup like that easy to accomplish on debian or should i not bother?

also interested in knowing if anyone is willing to do like a backup dns kinda thing, and vice versa?

cheers

Nathan

14 Replies

All of the mentioned ideas are possible. Look around for DynDNS linux clients, I've seen them out there. You can also register a domain, and setup DNS on your own Linode (which is a difficult task only for those that have a good idea of what their doing). You can also register a domain, and go through a free DNS provider such as zoneedit.com. If you can manage your own DNS setup, you can ask around here for someone to setup your secondary.

sorry i guess i didnt make myself clear, imnot after a dyndns client, im after a dyndns server.. so that i canrun that on my linode and rather then using dyndns.org to update shit my cliients update directly on my server (assumming i get bind or some sort of dns server set up)

Ah, in that case, it's out of my league. But I'm sure scripting something to take advantage of MyDNS or any other DNS server with the same advantages could work for that. I don't know of any off the shelf solutions though.

MyDNS: http://mydns.bboy.net/

GnuDIP might meet your requirements. The project currently has no maintainer and has had no updates since September 2003, but it's the only one I know of.

I use xname.org for my DNS management.

Very nice interface - and it is GPL,

so if you want you can run your own BIND with their nice gui.

Everydns.net also do free DNS and have a very easy to use web interface.

I use them as a secondary.

xname.org look interesting but all that pink makes me want to throw up.

guys i think u are all missing the point, im not after somewhere to host my dns and im not after an interface for bind. Im after some sort of dns server that i can run, that i can have clients connect to via a program to update.. much like dyndns.org does. you have ur hostname say computerx.our-lan.com and it is on a dynamic ip. when it gets an ip it sends an update command via its program to the dns server which then updates the records etc.

if anyone can find something like THAT for me, seeing as ive spent a while looking and cant really find much, it would be greatly appreciated

you can do that with bind and nsupdate, or if you need a win32 client to update DynSite should work.

Ok here we go

Borrowed from this page

a) Generate an MD5 key, which will be used as a shared secret. The "dnssec-keygen" tool is used. The key is written to a file.

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST updater

Which creates files like: Kupdater.+157+08531.key and Kupdater.+157+08531.private. What interests us is the 'Key' entry in the private file, which looks something like k2Pb7gEcbXg6ZosOqAbV8A==.

So we add the following to /dns/etc/named.conf:

key updater { algorithm hmac-md5; secret "k2Pb7gEcbXg6ZosOqAbV8A=="; };

And in the zone definition for yourdomain.com:

allow-update { key updater; };

b) Download and Install DynSite

The "Account Assistant" screen should appear on the first run.

1) Click Next

2) In the Dialog Box click DNS Servers

3) CLick the Configure New DNS Server option, type in a name, and click next

4) In DNS Server put either IP or FQDN of your DNS server, ie: ns1.yourdomain.com

5) Leave port @ 53

6) Under Method Change to Transaction Signature (hmac-md5)

7) Under keyname type in updater

8) Under keyvalue type in what you got for the Key entry earlier, and click next

9) Give the hostname you want to update a 'screen name'

10) under the Zone, put in the name of the zone you want to update, ie: yourdomain.com

11) Under host names, type in the subdomain you wish to update, ie home/box1/something/cheese

12) Check Update Zone as well

13) Click Next>Next>Finish

If you are comfortable with PHP, you can write a few scripts to update dns entries in a database. Once the database updates are working, it's simply a matter of setting up a procedure to create appropriate files from that database and convince the DNS server to start using the new information.

If you want to do this, I recommend tinydns, as the program is quite a bit more scriptable than bind. It is fairly easy to set up, and I have it running on a couple of linodes already - serving zones for my own clients. After you get tinydns going, you can use a cron job to regularly regenerate the data.cdb file from a database using a perl or PHP script. The syntax was designed to be automatically generated, so this should be very straightforward.

Jacques

@Internat:

guys i think u are all missing the point, im not after somewhere to host my dns and im not after an interface for bind. Im after some sort of dns server that i can run, that i can have clients connect to via a program to update.. much like dyndns.org does. you have ur hostname say computerx.our-lan.com and it is on a dynamic ip. when it gets an ip it sends an update command via its program to the dns server which then updates the records etc.

if anyone can find something like THAT for me, seeing as ive spent a while looking and cant really find much, it would be greatly appreciated

If you want, I can make a script like that for you in PHP.

that would be quite helpful, cause im not really sure how u write the dns end of things.

cheers

NF

So im attempting to revive this thread, and hope that something new has come up that might be useful for this.

I realise linode.com is about to provide the new dns service, but id rather have my own running and use linode.coms as a slave as such.. so yeah any suggestions?

If you're looking to provide dynamic dns update type of services then you could try TinyDYN or TinyDynDns.

If you are looking to build your own service you could do that fairly easily too. These are just the basics of one approach you could do.

1) Build a webpage that processed a form data that would update ip/host data in a table.

2) Either run a cronjob to dump this data out of the db into a file for your dns server to read or setup a dns server to read records from the db.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct