Dynamic DNS module idea

geoff_t - June 21, 2006 - 07:00

I'm creating a module to handle dynamic dns and bind administrative functions and I thought I'd put this out there in the hope that someone may have some ideas of the hurdles I'm going to come across. Here's a bit about the poject:

The goals are:
1) DNS Update Gateway Operation:
Allows the server running drupal to act as a gateway to update someones dns records using dynamic updates. The dns server is not neccessarily the drupal server but it could be.

2) Zone Administration:
Web interface to add and remove resource records from a zone. An administrative backend to allow modifications to all zones handled by the server and a user's front end to allow self serve to a user's own dns zone.

Appeal of drupal for this project:
User database and security system is already done and the separation of back-end and front-end functionality is useful also.

It seems like a relatively small project but no doubt it will be 3 times more consuming than I expect depending on how many features end up being implemented. My current ddns solution is in perl so to get things rolling the functions to add, remove and update dns records will just call the relative perl script but I have a view to using the pear Net::DNS to keep it all php so I'm allowing for this.

Some issues I see:
The module would add some tables to drupal and I'm not sure at this point how to make it work with the data abstraction layer. Are there docs about this somewhere - I have looked, there's so many (which is what I like about drupal coincidentally) a point in the right direction would really be appreciated.

Keeping the resource records up to date can be done using the dynamic updates but creating new zones will require write acces s to the conf file but I think this will be fine with a bit of a permissions checking script at install time for the module.

Let me know what do you think of this idea.

Sorry... but why?

Samat Jain - June 21, 2006 - 07:17

This is an extremely weird module to have for Drupal, though I have to agree Drupal's user and ACL system are nothing short of excellent.
__
Personal home page | Rhombic Networks: Drupal-friendly web hosting

Why not integrate an existing project?

pkej - June 21, 2006 - 08:47

A search on DNS on freshmeat.net reveals a long list of DNS tools, many webbased. Why not integrate one of these into drupal?

At least they would have code to start with, so that you don't have to code everything from scratch.

Paul K Egell-Johnsen

heheh, my reason for it was

geoff_t - June 22, 2006 - 03:24

heheh, my reason for it was to make my current setup easier. Thanks for that, looks like there's a few around that already do what I'm after :)

my apologies

No apologies needed

pkej - June 22, 2006 - 12:48

I think a DNS module would be great for organic groups/civiccrm, for example assigning MX records to subdomains, etc.

So it is a good idea, and a useful one. And it would be nice to have integrated; the integration would be faster though if one used existing code.

Good to hear you found something which could work for you at once.

Paul K Egell-Johnsen

Actually, I find this very interesting...

cmsn00b - June 22, 2006 - 15:02

geoff_t,

I really liked the idea of what you have outlined above.

It was not too long ago I too was thinking along these lines for finding a way around the tedious task of having to manually fiddle around with my zonefiles.

I am still working on finding my way around with all things Drupal, but would like to know how things are evolving with this interesting project.

You mentioned you found something along the lines of what you were after. Care to elaborate?

Thanks in advance for your input

sean
cmsn00b

Bind + DLZ I have been

jamesJonas - March 7, 2007 - 17:44

Bind + DLZ
I have been looking into this issue and thought your idea was great. I would integrate this into DLZ (http://bind-dlz.sourceforge.net/) which is going to the Bind Core as of 9.4 (just released but not on many distros). This means you would need to figure out functionality you wish to expose. The tables and the interface into bind have already been defined for Postgres (http://bind-dlz.sourceforge.net/postgresql_driver.html) and MySQL (http://bind-dlz.sourceforge.net/mysql_driver.html) (ldap is also possible and will tend to be faster since bind data is hierarchical.)

Here are the example for mysql tables:
(http://bind-dlz.sourceforge.net/mysql_example.html).

Here is a sample php frontend:
ANT
http://antdns.sourceforge.net/index.php
"Ant provides a minimalistic management interface for the database backend of Bind-DLZ. Currently Ant only supports PostgreSQL. However, the combination of pear MDB2 and a bit of oop should enable you to easily support any other db."

James

FatAtlas.com - US Atlas - 2 million places - Drupal Rocks ( :

 
 

Drupal is a registered trademark of Dries Buytaert.