32 Comments
- Mabu, on 10/12/2007, -0/+1Obviously some people here are making comments knowing nothing about MySQL or DNS services.
This is actually a pretty neat idea, especially in the area of maintaining RBLs. I've been managing my own Sendmail access-based RBL for quite some time and I've been wanting to offer my IP blocklists to others as an RBL but I wanted to create a slick web interface to the process of adding or removing blacklist entries. A DNS server that interfaces with MySQL would be an ideal companion.
Also, I don't know why people think it would be any less secure than other systems. The DNS would be mostly read-only and unless you had some monster number of domains you were serving, it would likely cache your entire DNS table in short order and not even need to query the database. - phutureb, on 10/12/2007, -0/+1For a performance boost, enable query caching in MySQL. If you are not doing constant updates to the db, MySQL will return query results from RAM. IIRC, query caching first became available in MySQL 4.0, but became more robust and useful in 4.1+.
- randylovin, on 10/12/2007, -0/+0Yeah, I'll stick with AD for this.
Ditto on the "administrate". I hate it when people use that word. It makes me want to adminstrate an asskicking. - asyncra, on 10/12/2007, -0/+0I've been using PowerDNS (http://www.powerdns.com/) in an ISP environment with 500+ zones for 2 years without any issues. It's rock solid and secure. Not only does it support MySQL, but throw PostgreSQL, Oracle and just about any other Database backend youcan think of. It has a great stats interface native and a PHP administration piece called PowerDNSAdmin (http://sourceforge.net/projects/powerdnsadmin/). I'd highly recommend it.
- tadorna, on 10/12/2007, -0/+0MyDNS + MySQL is not less secure then bind if correctly configured. But its much easier to configure and replicate with mySQL replication or a mySQL cluster.
And for availability you can run your different DNS servers with its own replicated MySQL servers or connected to a mySQL cluster. - phpkerouac, on 10/12/2007, -0/+0http://www.answers.com/administrate&r=67
answers.com is an idiot. They also have
http://www.answers.com/topic/orientate?gwp=19
which is false. - JamesWilson, on 10/12/2007, -0/+0has some novelty. digg for being at least intuitive and foward thinking.
- rhizome, on 10/12/2007, -0/+0the digg news cycle: website > blog > digg > blog > delicious > digg > slashdot > digg > digg > blog > digg
- phpkerouac, on 10/12/2007, -0/+0administrate != administer
- FlyingAvatar, on 10/12/2007, -0/+0@phpkerouac
Though I wouldn't use the word "administrate", I don't necessarily agree:
http://www.answers.com/administrate&r=67 - alterself, on 10/12/2007, -0/+0BTW, i used to use webmin also...it really likes to eat conf files...(espically when upgrading webmin)
- FlyingAvatar, on 10/12/2007, -0/+0Other disadvantages:
Chances of text file crashing (~0%) vs. Chances of MySQL crashing (>0%)
Granted, if all that copy of MySQL is doing is running the DNS database, then you're probably ok. If your MySQL server is busy running multiple database, I certainly wouldn't serve my DNS from it. - FelixSchmelix, on 10/12/2007, -0/+0Better yet, try VegaDNS. DJBDNS (from the maker of qmail) + MySQL + VegaDNS (web-admin)...
- disord3r, on 10/12/2007, -0/+0Nice concept. I once ran a server of my own server where the bind zone files were all managed through a php app with a mysql database. Security nightmare is all it really ended up being, but it worked perfectly. (:
- alterself, on 10/12/2007, -0/+0AD...AD does not do dns. m$ dns does.
there is no way that i will trust a m$ dns server to host external dns for me.
named is what i have been using, but the number of domains that i am hosting for now is huge....so this may be a great alternative. - jav1231, on 10/12/2007, -0/+0I already use MyDNS. MyDNS.com! You can manage external DNS sites free! :)
- pondster, on 10/12/2007, -0/+0what could be easier than BIND?
- nerdie, on 10/12/2007, -0/+0We run a similiar service to ZoneEdit.net. (EditDNS.net) We've been using MyDNS since our original launch and have had nothing but perfect success with it.
I recommend MyDNS to everyone, It's a lot easier then bind (you don't deal with serials) and it makes replication really easy since it's just MySQL.
You can also create custom fields in the tables to keep track of stuff (who it belongs to, which domain, etc). - RomeyRome, on 10/12/2007, -0/+0PowerDNS does this also, as well as many other back-ends. It was cool to play with, but it was still good 'ol Bind to make it to production.
- spectre_25gt, on 10/12/2007, -0/+0"Why do people think administration has to be hard?"
Personally, I don't use graphical tools on my server because I want to get enough practice to stay confident in a situation without them. - reynhout, on 10/12/2007, -0/+0Ugh.
I know I'm old school, but I don't believe in making simple services complicated.
DNS is a simple service. BIND is complicated. MySQL is complicated.
If you have very real dynamic needs for a nameserver (say, you run dyndns.org), then maybe this makes sense. Otherwise, I'd keep it as simple as possible.
Even then, I might use the DB as the master for the data, but I'd export to a simple format for the nameserver daemon, like the way djbdns uses data files.
PS: This is the first vaguely technical article I've seen on digg in a while. Refreshing.
PPS: digg is broken:
1. Captcha validation occasionally breaks.
2. When it does, the comment text is escaped with "rnrn"s to indicate line breaks. When resubmitted, they come out as text.
3. Clicking "login to comment" will often redirect you to the wrong article after you successfully log in.
Someone more ambitious than I should really tell the developers. :-) - mooninite, on 10/12/2007, -1/+0webmin people... webmin
Why do people think administration has to be hard? - Mabu, on 10/12/2007, -2/+1Also, anyone who thinks MySQL isn't stable.. well they're obviously an idiot who is in the Microsoft camp and needs to dis open-source in order to save their job. Don't worry. You'll have job security as an MCSE... they need someone to press the reset button every few hours to fix SQL Server glitches.
In the meantime, I've been running MySQL for years and years, with millions of users and I've never had any major crash. (knock on silicon)... the server is super reliable... even more reliable than the Oracle systems I used to implement. - inactive, on 10/12/2007, -1/+0
>BIND is not complicated. DNS is farking easy to run. you don't need to go any muck it up by adding
>yet *another* payer on top of it.
Agreed, especially if you use the perl scripts mentioned in the o'reilly book that let you manage your whole bind domain with a file that has the same format as a "host file". - syneo, on 10/12/2007, -1/+0> This has the advantage that you can easily use web-based frontends to administrate your DNS records.
Well, you can do that even without MySQL. Use Webmin + Bind DNS. - Opiate, on 10/12/2007, -1/+0Reading directly from SQL is just silly. Like most others I have seen just store your configurations in sql and have your scripts generate text files based on that. Best of both worlds.
- inactive, on 10/12/2007, -1/+0It has the disadvantage of being even less secure than normal DNS.
- bbqribs, on 10/12/2007, -1/+0Ugh.
BIND is not complicated. DNS is farking easy to run. you don't need to go any muck it up by adding yet *another* payer on top of it. - aggrazel, on 10/12/2007, -1/+0If you don't know what you are doing with DNS, use a third party DNS service like zoneedit or something.
- Otto, on 10/12/2007, -1/+0This sort of thing works, but why would anybody run their own DNS server on a box with MySQL on it anyway? Stick it elsewhere, on a highly available and redundant server in a coloc somewhere.
- einsteindesign, on 10/12/2007, -1/+0Far too complicated for something that should be, at all times, the fastest lookup possible. It's interesting I'll admit, but I'd rather pay a price of pain-in-the-ass management (ass DNS is wont to be).
DNS can often run on the rattiest hardware, too. Adding a relational database can only muck things up overhead-wise. Dedicated DNS shouldn't require a half-gig stick and such. - inactive, on 10/12/2007, -2/+0This is a terrible idea, nearly as bad as using Active Directory.
As has been said MySQL is not stable enough for a service like DNS (and neither is active directory--or windows for that matter). And if a script monkey is not capable of writing a web front end to ascii configuration files thats also capable of running the init script that bind COMES with to bounce it then they should probably be flipping burgers instead.


What is Digg?