Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Software

Building a Dynamic DNS Server for Your Enterprise? 67

Biff98 asks: "We manage thousands of hostnames for field gear with DynDNS.org. It's always been our intention of configuring our own DDNS server and bring it in-house. Given the recent DynDNS outage due to a DDOS attack, resulting in the inability to resolve names for multiple days, there has been 'encouragement' from management to move forward on bringing DDNS in-house. Here's the problem: I can't find any easy-to-use, scalable software to accomplish this task! BIND doesn't scale well, and I don't consider MintDNS an option due to the required platform (Windows Server w/ AD & IIS). Has anyone out there solved this problem before?"
This discussion has been archived. No new comments can be posted.

Building a Dynamic DNS Server for Your Enterprise?

Comments Filter:
  • Not an option? (Score:2, Informative)

    I'm sorry, but are you discounting MintDNS because it's a Windows application, or because it would cost too much to implement? Only one of those two choices is fiscally responsible...

    Compare the total cost of using any software, including Windows-based software, with the cost of rolling your own.
    • by Aladrin ( 926209 )
      So, you're saying you think it might be cheaper for an completely non-windows shop to set up a windows server solely to run their dynamic DNS and then hire someone that knows how to keep it running rather than find a solution that runs on their current OS of choice?

      If they've decided that they don't want Windows machines in their shop at all, it isn't very likely to be cost-effective to have one there.
      • So, you're saying you think it might be cheaper for an completely non-windows shop to set up a windows server solely to run their dynamic DNS and then hire someone that knows how to keep it running rather than find a solution that runs on their current OS of choice?

        He didn't say they were a non-Windows shop, though he did say that he wasn't considering MintDNS because it ran on Windows. His original statement read more like a matter of taste, to me.

        All I'm saying is that they should compile estimates of actual costs, rather than simply assuming one option would be too expensive.

        • Re: (Score:2, Insightful)

          by Hack'n'Slash ( 3463 )
          There's nothing wrong with allowing one's previous experience to influence current decisions.
           
          Let's say I've had troubles with a couple of EMC boxes and haven't had much luck with their support. Would you criticize me for excluding EMC products from future storage purchases???
        • by Aladrin ( 926209 )
          Why would a shop with Windows boxes reject a piece of software on the basis that it runs on Windows?

          I suppose it's vaguely possible that they are trying to get rid of the Windows boxes, but that places them back in the category of 'non-Windows shop.'

          The only other option I see is that it's his personal preference and not the company's. In that case, you are correct, he might be making a poor decision. I tend to assume people have a modicum of sense until they've proven otherwise, though.
          • Why would a shop with Windows boxes reject a piece of software on the basis that it runs on Windows?

            Because they may not have a Windows Server license, or because they may not use Active Directory.

            The only other option I see is that it's his personal preference and not the company's. In that case, you are correct, he might be making a poor decision. I tend to assume people have a modicum of sense until they've proven otherwise, though.

            That's the possibility I was cautioning against. This being Slashdot, and considering the way the question was written, it seemed like an appropriate caution.

    • Compare the total cost of using any software, including Windows-based software, with the cost of rolling your own.

      Don't forget to include the cost of getting escrowed access to the source code so that you're not totally screwed if they stop making MintDNS and it can't be made to run on the next version of Windows.

      Honestly, F/OSS owns the network infrastructure category. I can see no reason whatsoever to use a proprietary solution when this is already a solved problem.

    • by clark0r ( 925569 )
      by the sound of it, they don't have the necesarry AD infrastructure to support that solution. implementing AD for this purpose will be expensive and costly in time.
    • Re: (Score:1, Flamebait)

      by pyite69 ( 463042 )
      Windows is not a server platform - it is for desktops only.
    • by dbIII ( 701233 )

      I'm sorry, but are you discounting MintDNS because it's a Windows application, or because it would cost too much to implement?

      I would say both if you don't already have some MS Windows servers. Redundancy and licencing alone (licence for the hot or cold spare in addition the the real server) makes it a hassle.

  • by WindBourne ( 631190 ) on Thursday April 26, 2007 @09:27AM (#18883501) Journal
    Exactly what do you think runs the bulk of the internet? That is like saying Linux or Solaris or sendmail do not scale well.
    • Re: (Score:3, Insightful)

      by fimbulvetr ( 598306 )
      That's exactly what I was thinking. There's only one reason this douchebag is asking this question, and that's because he knows fuckall if he thinks reading some DJB rant has made him experienced in the dns.

      Bind9 on debian etch with views takes all of 1.5 minutes to set up, and a sub 1ghz/512mb machine could easily serve the domain he's describing.
      • By definition, the 2'nd fattest girl is skinny. Skinny and fat are relative in terms of what we accept. For example, many ppl accept Calista Flockhart as being skinny. But if somebody from Ethiopia say 10 years ago saw her, they would have considered positively FAT.
      • by Biff98 ( 633281 )

        I don't like to think of myself as a douchebag :-). I'm a BIND guy, I just am. I actually picked up the NEWEST edition of O'Reilly's "DNS & BIND" (5th edition now just in case you were curious), and read about just how hard it is to maintain a LARGE number of dynamically updateable host records. You've got key-pairs for each records, and you've got no other way than port 53 to update records.

        Roll my own, yeah I know, but remember, I'm not a developer and I'm currently using DynDNS.org which has HTT

    • You stole my post.

      BIND has been demonstrated to be inherently scalable. If the problem is that some DDNS piece doesn't scale, why not pay someone to fix that?

      It'd be nice if you provided such a fix upstream, but it's BSD so you'd never be obligated to do so.

      -Peter
      • Actually, ddns does scale nicely. If you have static ips, then the flat file is fast since they are normally sucked in 1 x and then sit in memory. But with DDNS, there are updates. That is where flat files fail. So you add one of the DB options (postgres, mysql, and sqlite are ALL good options; I have seen amazing speed out of sqlite when doing lots of updates), and now it is VERY fast. I believe that a number of the distros (linux and BSD) have compiled bind to use optional DBs.
      • by baadger ( 764884 )
        It'd be nice if you provided such a fix upstream, but it's BSD so you'd never be obligated to do so.

        Technically even if it was GPL'd you'd never be legally obligated to provide the source (or a patch against it) unless you was distributing your modified version as a binary
    • by Spazmania ( 174582 ) on Thursday April 26, 2007 @09:46AM (#18883725) Homepage
      Bind's implementation of dynamic dns is... funky at best. It syncs changes to disk infrequently and unpredictably, and it does so by rewriting the entire zone file in the same format as it uses for secondaried zones so that any comments or other organization in the affected file is lost. The security is also relatively coarse: the tools don't allow a particular security key to apply to a particular name -- the key applies to a whole zone. If you have a large number of devices and want to tightly constrict update access, that poses a scalability problem as you need one zone per device.

      Dyndns is likely using Bind at the back end, but they've built another layer of security and management on top of it. Biff98 is looking for software that does the whole job out of the box.
      • by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Thursday April 26, 2007 @10:01AM (#18883935) Homepage Journal

        The security is also relatively coarse: the tools don't allow a particular security key to apply to a particular name -- the key applies to a whole zone.

        BIND9 addresses this with update-policy [isc.org] which can map an individual TSIG key to a specific name (or subdomain or wildcard). You can say that "key 'laptop23.example.com.' can update an A record with the same name".

        I won't disagree about the dynamic zone file ugliness. I usually put dynamic hosts in their own subdomain so that my main zone file can remain nicely human-friendly. For example, we'd use ".mobile.example.com" and put it in its own zone file. The file for ".example.com" will still be nice, and if every record in ".mobile.example.com" is dynamic, who cares if it's a machine-generated mess?

  • PowerDNS (Score:3, Informative)

    by PsyQo ( 1020321 ) on Thursday April 26, 2007 @09:28AM (#18883509)
    Why don't you give PowerDNS [powerdns.com] a try?

    It has an authoritive component and a recursive one, both work extremely well and are in use by some big companies, as well as the Wikipedia and the .TK TLD.
    As for flexibility: PowerDNS uses backends to retrieve its zone data, so you can use one that's already available (MySQL, BIND zone files, SQLite, ODBC, etc.) or write one yourself.

    Oh and it's opensource :)
    • Re: (Score:2, Informative)

      by num42 ( 614006 )
      even better, its GPL.

      A better place to point slashdot people to is http://doc.powerdns.com/ [powerdns.com]

      the shiny official site does not provide all the geeky information that we hunger for.
    • by Miniluv ( 165290 )
      I have to say PowerDNS is awesome. I've been using it for a quasi-dynamic DNS deployment of a tens of thousands of A records using the MySQL backend. Its more stable than my traditional BIND servers, and offers better insight into what its doing through both a simple web interface for stats and meaningful logs.
  • by JackHoffman ( 1033824 ) on Thursday April 26, 2007 @09:33AM (#18883569)
    BIND does indeed not scale well. Down, that is.
  • PowerDNS (Score:4, Informative)

    by JerkBoB ( 7130 ) on Thursday April 26, 2007 @09:35AM (#18883593)
    http://www.powerdns.com/ [powerdns.com]

    I used it when I was running an ISP a few years ago. Used a replicated MySQL backend behind three authoritative servers. Also used dnscache for recursors in front of all the customers.

    All your zone data is stored in DB tables, so it's easy to hack together a frontend, or integrate with CRM or whatever. I wish Rails had existed back then for all the CRUD that I wrote by hand. :/
  • There is no DNS problem that djbdns cannot solve. None! None I tell you! Don't listen to the heathens....
  • Does tinyDNS scale? (Score:2, Informative)

    by flydpnkrtn ( 114575 )
    Have you looked at DJB's tinydns with dynamic capabilities wrapped around it? I know for a fact djbdns scales, but I dunno how well scripts wrapped around it work.

    "TinyDYN

    In a nutshell, TinyDYN consists of a set of scripts that allow you to run your own dynamic dns services (similar to dyndns.org) on your own network. The services use strong authentication via GnuPG, and is designed to work with djbdns's tinydns for name service."

    http://www.technocage.com/~caskey/tinydyn/ [technocage.com]
  • Talk to DynDNS (Score:2, Insightful)

    by b.thompson ( 542104 )
    I'm just throwing this out here, but why not contact the people at DynDNS.org and ask about licensing their software (or process, or however they do it) for your internal use. It could solve your problem (and maybe quicker than rolling your own solution), and at the same time potentially create a new revenue stream for them.
  • by Llama Keeper ( 7984 ) on Thursday April 26, 2007 @02:19PM (#18888349) Homepage
    Have you considered an appliance solution?

    I have several colleagues that have InfoBlox appliances in production and love the devices. I believe that they do a 30 day free evaul. Their units are reasonably priced and very feature full. Pre-sales engineering is pretty good too from what I've been told.

    • InfoBlox is Cricket Liu et al - you'll probably recognize his name as the author of the O'Reilly DNS book. I've generally heard good things about their products, though I haven't used them myself.
  • by Anonymous Coward
    With Incognito's DNS Commander authoritative server, you can use DDNS to populate millions of records. I think this should solve the scalability issue that you were concerned about. And if you prefer non-windows centric software, DNS Commander also runs on Linux/Solaris. Also, I'm pretty sure it uses a binary database instead of text files, and it doesn't require dbms. Are you integrating this with OSS? DNS Commander offers a CORBA API for 3rd party integration, if necessary.. Have a look at www.incognito.c
  • MaraDNS (Score:2, Informative)

    I've been using MaraDNS [maradns.org] quite happily. Never a problem on FreeBSD, Slackware or OS X. The developer is very responsive, and the documenation is very very good, unlike that for some other alternative DNS daemons *cough*tinydns*cough*

    The zone syntax and config file structure is worlds ahead of BIND and actually makes setting up DNS fun (no, I'm not kidding. Well-written software is always a pleasure to use).
  • We too manage a lot of customer sites behind dynamic IP connections. We have the advantage of there being servers at every location where we can run our own code. We have a simple (PERL) program run out of cron once an hour to connect to one of our servers on a high port and pass through some information unique to the site. On the server end is another program (PERL again) that receives the messages, does an in-RAM check (a simple associative array) to see if this IP is any different than the last one we sa
    • by Biff98 ( 633281 )

      We use HTTP for dynamic updates now (courtesy of DynDNS.org) and a large percentage of the gear we have in the field (attached to scientific equipment) is embedded equipment that is unable to run "nsupdate" or other types of executables. We're limited to the web GUI presented to us. I really regret not explicitly stating that in my submission to Slashdot.

      As far as BIND "not being scalable", I meant that in the context of DDNS only. BIND requires a key-pair for each Dynamically update-able host record.

  • I must have completely missed this outage. According to their status page [dyndns.com] there were some attacks against their update system, but I never had any issues resolving names, either for my domains hosted with them, or with my free hosts.
    • by Biff98 ( 633281 )

      How many hosts do you manage in your zone? Like I said we're in the "thousands". DynDNS.org might have offlined the biggest users of the service in favor of keeping the much larger number of "smaller" users online. Believe me, they were offline for at least 2 days from our perspective, and I got to speak with their phone support guys a LOT. It didn't help they didn't have an ETA for when threats and outages would be mitigated. -Steve

  • DUDE!! take a look at GnuDIP. It's do-it-yourself GPL and free Dynamic DNS system. It interfaces with a standard BIND installation so you basically register a domain, then add hosts to your domain, and they can automatically update from a client installed on remote equipment. Give it a try. http://gnudip2.sourceforge.net/ [sourceforge.net]
  • With simple recipes available that offer an implementation of DNS: http://aspn.activestate.com/ASPN/Cookbook/Python/R ecipe/491264 [activestate.com] one could easily plug it into any one of a number of databases. Add a very simple HTTP front end for updating name/IP information in the database, and you are done.

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...