BIND 10 Development Now Fully Underway 76
darthcamaro writes "A decade after work first began on version 9 of BIND, the widely deployed open source DNS server, work is now fully underway on its successor, BIND 10. '"One of the goals for BIND 10 is to allow people to customize and extend without too much trouble," Shane Kerr, BIND 10's program manager at the Internet Systems Consortium (ISC), told InternetNews.com.' Sounds good right? Only problem is that it's going to take a bit of time until BIND 10 is actually ready for production — potentially as long as five years!"
Re: (Score:1, Insightful)
How to read a changelog:
fixed = broken differently
optimized = subtly broken
re-written = i have no idea what i am doing
Re: (Score:2)
new feature = completely untested
Re: (Score:3, Funny)
Here's the entire code for Bind 1:
grep $name /etc/hosts
Re: (Score:3, Funny)
Here's the entire code for Bind 10:
wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz [cr.yp.to]
Re:Excellent.. (Score:4, Insightful)
I tried to install it, but it responded to every query with "Bind 4 is buggy. Use my code instead!", "Zone transfers should be done with rsync!" or "Worship me, mortal!".
I tried to read the man page to see how to fix that, but was greeted with nothing more than a lengthy rant about how the man system was outdated and needed to be replaced with something painfully convoluted which violated at least sixteen different Internet standards, five state laws and no less than two commandments.
I went to the author's web site for more information but found only a condescending diatribe about how web browsers were bloated and shouldn't be used for anything important. Eventually my interest in testing that new product faded away only to be replaced by the slightly sickened feeling that comes from sitting up all night watching informercials so I just gave up.
I do hope that future releases can address these rather obvious and simple problems as I suspect that there is some useful code buried in there somewhere.
Re: (Score:1)
Two months ago, the first ever security vulnerability was found in djbdns -- an extremely minor one that barely affects any servers, yet it was the first ever, in the entire history of djbdns. This speaks extremely well of the design of the set of tools that make up the djb
Re: (Score:3, Funny)
five years! (Score:2, Troll)
Why the emphasis on how long it will take? I've had pieces of shit that took longer than that to get ready for "production".
Re: (Score:1)
Paul Vixie? (Score:2)
Re: (Score:3, Informative)
He's the president of the company [isc.org] that's doing the work.
Re: (Score:2)
Isn't that vix.com?
Re: (Score:2)
Isn't that vix.com?
No. vix.com is Paul's personal domain. isc.org is the Internet Systems Consortium, which he heads. ISC is a non-profit that is the custodian for BIND, the reference DHCP implementation, and a few other bits of open source software. It would be at odds with reality to confuse and conflate the two. This is particularly true in regards to actually "doing the work" for developing BIND, since Paul explicitly stayed out of the v9 code, and has publicly referred to the v4 and v8 code as evidence against his progra
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
Paul's doing fine, he and Brian Reid are working together at ISC these days. Brian, if you recall, is the guy who originally funded Paul to take the Berkely B-tree stuff and turn it in to usable software (*) while they were at Digital. They also do some load testing stiff on dns servers for the nsf. You can poke around and find their papers if you look.
(*) for some definition of "usable". I use djb which annoys them both no end.
Fix LDAP Integrated Zones. (Score:5, Interesting)
Please, Please Please fix the Bind LDAP SDB Backend to allow LDAP Integrated Zones to Dynamic update. LDAP zones are useless right now because DHCP can't update it!
Re: (Score:2, Informative)
5 years and then some (Score:3, Insightful)
Re: (Score:1, Offtopic)
I am extremely offended by your signature. We are a nation of religious tolerance, first and foremost. Secondarily we can be said to be a Christian people, but there are significant minorities of other belief systems. One of the most important parts of having a constitutional republic (in general) and the separation of church and state clause (in specific) is to prevent such minorities from the 'tyranny of the majority'. We must not allow the erosion of rights for any segment of our population, else we can
Feature parity (Score:5, Insightful)
Please try not to leave behind useful features. Yes, misfeatures should be abandoned. Sometimes mere obsolescence can move a feature into the misfeature column. However, merely uncommon or obscure != "mis". It requires a pragmatic grownup to detect the difference.
The feature set begins with BIND 9. Too many major revisions of fundamental systems fail to achieve feature parity and long after the "new" is production solid the user base remains stratified into the (neglected) old and the (indifferent) new.
You must know that after the (entirely reasonable) half decade is spent to produce 10 it will take years to migrate the majority of the user base. The justifiably conservative nature of the BIND user base is such that dropped functionality will retard adoption dramatically. Better to provide parity with BIND 9's feature set and remove one excuse to sit on 9 till 2020.
Put it on the list of goals, near the top; "Feature Parity with BIND 9". Make it clear that the user base can take this for granted; if BIND 9 can do it, BIND 10 can do it.
I think you'll find if not a lot more support, at least less resistance. I know you will cut the migration period dramatically.
Re: (Score:1)
Re: (Score:2)
Re: (Score:3, Funny)
Re: (Score:1)
Re: (Score:2)
Do you REALLY want to refer to your rocket car by a numerical IP address? O.o
How about making it simpler? (Score:4, Insightful)
By the way, SMTP and IMAP folks, you're way ahead of the game. Your stuff is already reached the point of sublime unusability past which no fully compliant implementation is possible. Well done!
Re: (Score:2)
Re: (Score:3, Interesting)
For a program who's core functionality is name -> number why is the configuration guide heavier than my tombstone?
Mainly because it's required to do so very much. Yes, my named.conf is very complicated. I don't know how much simpler you could make split-zone DNS for about 30 zones, including masters, slaves, and some dynamic updates. Oh, and TSIG to authenticate request between each pair of servers. And reverse zones. And IPv6. And recursion (but only for one of the views). I mean, it's sort of like Apache's httpd.conf. Sure, it gets twisty, but what could you leave out and still be able to configure the same f
Re: (Score:2)
BIND is PITA. It's not modular.
I've switched my entire infrastructure to djbdns and I'm glad I did it.
For example, I don't need TSIGs because djbdns uses plain rsync over SSH (which utilizes my PKI) for zone transfers. Dynamic updates are performed using simple shell scripts.
Everything is pretty simple.
Re: (Score:2)
For example, I don't need TSIGs because djbdns uses plain rsync over SSH (which utilizes my PKI) for zone transfers. Dynamic updates are performed using simple shell scripts.
That's the kind of simplicity that makes life much more complex. Our master BIND at work accepts updates for the LAN from Windows desktops. Whenever they get their DHCP lease, they say, "hey, user23.lan.example.com is now at 10.0.0.8". BIND dutifully updates its records and relays that message to the slave BINDs. Contrast with your setup: does djbdns even accept dynamic updates like that? If so, what happens when updates start to come in faster than rsync can copy them to the slaves (I can imagine some
Re: (Score:2)
"Whenever they get their DHCP lease, they say, "hey, user23.lan.example.com is now at 10.0.0.8". BIND dutifully updates its records and relays that message to the slave BINDs."
Yes, djbdns can process dynamic DNS updates (via special plug in). Yes, it can then relay records to slaves _or_ you can make multi-master replication (if your master is down).
"If so, what happens when updates start to come in faster than rsync can copy them to the slaves (I can imagine some pretty large zones with tens of thousands o
Re: (Score:2)
rsync is incremental protocol. _EXACTLY_ like IXFR used in BIND. So there won't be much difference.
That's not quite right. IXFR is implemented in BIND as a journal playback (O(1)), but rsync has to examine the entire database for changes to propagate (O(n), where n = number of records in the zone).
And the worst of it - you can't customize BIND without patching source code.
How do you customize djbdns without patching source code?
Personally, I switched to djbdns when I found out that I can't have a hidden DNS slave which can correctly work with views (i.e. I wanted a recursive resolver for my LAN with replicated zone).
What do you mean exactly? You've already made your choice and that's cool, but I'd be willing to bet that BIND does actually support that feature.
Re: (Score:2)
"That's not quite right. IXFR is implemented in BIND as a journal playback (O(1)), but rsync has to examine the entire database for changes to propagate (O(n), where n = number of records in the zone)."
Yes, you are right. But in practice, rsync works fast enough even with zones with hundreds thousands of hosts.
With djbdns I can easily try to use SVN or git for zone updates.
"How do you customize djbdns without patching source code?"
djbdns is incredibly modular. It's a collection of small utilities, each doin
Re: (Score:2)
Yes, you are right. But in practice, rsync works fast enough even with zones with hundreds thousands of hosts.
OK, but it still doesn't address the problem of when to trigger a sync. Do you run it from a cron job, or can you script it from the dynamic DNS update program? Actually, I guess you could relay the update request out to the slaves and not worry about syncing it often. Is that possible?
With djbdns I can easily try to use SVN or git for zone updates.
That's not a bad idea.
No, it doesn't. It works only if I disable views. I checked BIND source to be sure.
What I meant was that I didn't understand what you were trying to do and so can't confirm or refute it on my own.
Re: (Score:2)
"OK, but it still doesn't address the problem of when to trigger a sync. Do you run it from a cron job, or can you script it from the dynamic DNS update program? "
You can script it (I use a cron job, because I don't need fast updates).
"Actually, I guess you could relay the update request out to the slaves and not worry about syncing it often. Is that possible?"
Yes, there's actually a plugin which uses SMTP/POP3 to broadcast changes (which is a neat idea, IMO). It's also easy to pipe notifications through SS
Re: (Score:2)
Admittedly I've never set up multiple views, but something about that definitely doesn't sound right.
Do you mean to say that the recursive resolver on the LAN view is forwarding all queries to your zone's nameservers in the US, or do you mean that it's forwarding queries for your domain to your zone's nameservers while resolving everything else exactly the way you want it to?
If the former, you've obviously misconfigured it, because it wouldn't do that if you didn't tell it to.
If the latter, that definitely
Re: (Score:2)
But it doesn't use it to resolve queries from my LAN! Instead, it forwards requests to my zone's nameservers. Even though it has a full copy of my zone.
Phroggy's right: that's definitely possible. I do this at home where I slave my office's zones in the "private" view.
Re: (Score:2)
Yes, it's the latter.
BIND tries to resolve names in my zone just as usual (i.e. by asking authoritative nameservers), even though it has a complete copy of my zone.
Setting up two nameservers would work, but it's incredibly clumsy.
Also, I was able to automate some other tasks with djbdns. Particularly, handling of split-view DNS for another zone.
Re: (Score:2)
Is your office's BIND slaved to master? Or justs hosts a master zone in the private view?
The latter works fine, I used it all the time in BIND before I migrated to djbdns.
Re: (Score:2)
Re: (Score:2)
Have you checked that it really works while you're offline? If it does, then can you send me named.conf, please?
Re: (Score:2)
Re: (Score:2)
Yes. So do I:
=====
view "internal" {
match-clients {127.0.0.0/8;192.168.20.0/24;};
recursion yes;
zone "somezone.net" {
type slave;
file "/var/cache/bind/somezone.net";
Re: (Score:2)
Re: (Score:2)
The problem is here (view.c, row 1176): /*
===========
* If the zone is defined in more than one view,
* treat it as not found.
*/
zp = (zone1 == NULL) ? &zone1 :
result = dns_zt_find(view->zonetable, nam
Re: (Score:2)
If you don't need the complicated functionality of BIND, you shouldn't use it.
For instance, DNS caching for a home network can be done using something far smaller and simpler, such as pdnsd.
Modular design? (Score:2, Flamebait)
So they finally figured out that djb was right; it took them mere 10 years. If he only didn't have such a... personality. Maybe we would've had something sane by now.
Re:Modular design? (Score:4, Insightful)
Re:Modular design? (Score:5, Insightful)
I'm saying that if Bernstein had worked a little closer with his user community, many more people would be happily using qmail & djbdns, and there might even be official distros that supported things like TLS & DNSSEC.
Re:Modular design? (Score:4, Informative)
Weird license?
IIRC, his code was unlicensed. DJB believed that you didn't need a license to run a binary, compile source, etc.; this is debatable. However, you do need a license to distribute someone's copyrighted works; this is very obvious. Of course, as you say he disclaimed the copyright, so the point is now moot.
Re: (Score:2, Interesting)
Re: (Score:2)
Mozilla only requires this if you redistribute the branding. Of course, we source-based distributions only distribute pristine sources and let the user (automatically) do all the patching so these kinds of restrictions really only apply to binary-based distros. :)
Re: (Score:2)
Isn't that pretty much the same thing that Mozilla requires?
Well, they require it for a trademark... license? It's a trademark issue, anyways. Regarding DJB, it's a copyright issue.
What's the difference? With firefox, if you replace the fox+globe logo with a globe logo and rename the program to FrozenRodent, you can do whatever the hell you please (if it's in line with at least one of firefox's license).
With DJB's software, I can't just strip out the "DanielMail" name and call it "JonasMail". No matter what I change, I still have to ask him for permission.
Re: (Score:3, Insightful)
What killed my use of djb's stuff wasn't any of those things; it was the dependency on his daemontools replacement for /etc/init.d. (Even today, the djbdns FAQ tries to steer people away from using djbdns without daemontools, and only supplies a half-assed script to install manually.)
Re: (Score:1)
IPv6 (Score:2)
I know why it's 5+ years away (Score:1)
Bind 10 was written in Perl 6!
Perhaps a better name would be... (Score:1)
If the schedule slips the could call it BIND Forever.
Were talkin a name server here, Most major OS rewrites have been done in less time.
Too late (Score:3, Interesting)
Hi,
my personal opinion is, that BIND 9 already lived too long and BIND 10 started much too late. If you have to operate huge installations (>250.000 Zones), BIND 9 is close to unuseable.
Example: Starting BIND 9 with 350.000 Zones already consumes the complete service window (2 hours) we have for works concerning the hardware. You can't even shave off much time by having all zone files on a ram disk (about 10% less time). BIND 9.6 utilizes a single core for 2 hours just to parse and load the information. For comparison a different (comercial) product imports the (same) complete configuration in about 90s (from disk, BIND 9 format) and takes about 4s for start afterwards. I know there are workarounds for BIND, but they come with high operational costs.
BIND is (IMHO) mainly a reference implementation. It has to implement everything in one single product and suffers the usual penalties for it. I still use BIND 9 myself for several purposes since it has a some advantages too (mainly, that it is OSS).
Sincerely yours, Martin
P.S. If there is any interest, i can post some benchmarks and scripts which i used to run them....
DISCLAIMER: I'm working for a company that is selling DNS products. So i'm not to be considered a neutral party :-). But since i'm doing this for 15 years now, i consider myself at least an experienced biased party.....
Re: (Score:2)
Out of curiosity, would that still hold true for database backends? If you multiple zones point at the same file, does it have to parse that file for each zone or can it parse it once and cache it? Would converting them to dynamic zones so that BIND stores the data in its journal format make a difference one way or another?
5 years? (Score:2)