banner
Dave Horner's Website - Yet another perspective on things...
Home Tech Talk Unix/Linux/BSD/OSX/ETC MyDNS - mysql based dns server.
If you appreciate the information found on this website, please drop me a line!

Who's Online

We have 22 guests online
Content View Hits : 707946
moon and stars
How did you find my site?
 
How often do you answer random online questions?
 

Random Quote

"Whenever two men meet there are really six people present. There is each man as he sees himself, each man as the other sees him, and each man as he really is." -William James
P1010085_001
P1010246
P1010124
P1010006

MyDNS - mysql based dns server.

Thursday, 26 February 2009 01:10
MyDNS - Next Generation DNS Server - looks like a new fork of MyDNS with more features...

MyDNS: Home - serve records directly from an SQL database
MyDNS is pretty neat in that you can use the mydnsimport to import zones from existing DNS servers with AXFR transfers. 'mydnsimport -axfr=bindserver.sample.net sample.net' (may have to perform permissions updates as described below)
Linux.com :: My domains, MyDNS
Installing MyDNS And The MyDNSConfig Control Panel On CentOS 5.1 | HowtoForge - Linux Howtos and Tutorials
Simple Dynamic DNS with MyDNS - Blink - scripts to do dynamic dns with mydns.


Testing your mydns server

Make sure you have "allow-axfr = yes" and "listen = 127.0.0.1" or "listen = *" in /etc/mydns.conf.
dig @localhost -t axfr


Permissions with MyDnsConfig

When I first installed MyDnsConfig, I got the following error:
Error: You don't have the permission to view this record or this record does not exist!
With a little work, I found a place to debug the queries...and this was the offending SQL.
SELECT * FROM soa WHERE id = 1 AND ((sys_userid = 1 AND sys_perm_user like '%u%') OR (sys_groupid IN (1,2) AND sys_perm_group like '%u%') OR sys_perm_other like '%u%')

So, looks like you need to make sure to set a default on the rr and soa table for sys_userid and sys_perm_user to match the sys_userid of admin. I used the mydnsimport tool to create records, and the defaults were 0 and empty string. Not good, not associated to any user!
--set the defaults to 1, and u for user based auth.
 ALTER TABLE `soa` CHANGE `sys_userid` `sys_userid` INT( 11 ) NOT NULL DEFAULT '1';
 ALTER TABLE `soa` CHANGE `sys_perm_user` `sys_perm_user` VARCHAR( 5 ) 
 CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'riud'; 
 ALTER TABLE `rr` CHANGE `sys_userid` `sys_userid` INT( 11 ) NOT NULL DEFAULT '1';
 ALTER TABLE `rr` CHANGE `sys_perm_user` `sys_perm_user` VARCHAR( 5 )
 CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'riud';
 
--update the existing records
UPDATE soa SET `sys_userid`='1', `sys_groupid`='1', `sys_perm_user`='riud', `sys_perm_group`='riud';
UPDATE rr SET `sys_userid`='1', `sys_groupid`='1', `sys_perm_user`='riud', `sys_perm_group`='riud';

YoDNSConf - a fork of the MyDNSConfig project...


DNS servers (doesn't belong on this page, but hey, it works)

Free DNS, Static DNS, Dynamic DNS, URL Redirection, and more from EveryDNS! - free DNS hosting!
OpenDNS > Use OpenDNS > Best Practices - opendns is free recursive dns servers with content filtering.
DynDNS.com: DNS Hosting, E-mail Delivery, VPS Hosting and Other Services - free dynamic DNS hosting. But, using something like MyDNS - mysql based dns server. would make it a little nicer. ;)
Using Google Public DNS - Google now provides free public DNS name resolution! *8.8.8.8 *8.8.4.4
namebench - Project Hosting on Google Code - Open-source DNS Benchmark Utility.
Last Updated on Wednesday, 23 December 2009 22:10