multiple CNAMEs revisited

CS google at fasttrackmonkey.com
Tue May 25 23:49:15 UTC 2004


This is a testy subject, and I'm fully aware that what I want/need to
do is not allowed.

That said, I need to replicate the following "bogus" configuration:

spamd   IN      CNAME   spamd1
spamd   IN      CNAME   spamd1
spamd   IN      CNAME   spamd2
spamd   IN      CNAME   spamd2
spamd   IN      CNAME   spamd3
spamd   IN      CNAME   spamd4

spamd1  IN      A       10.0.0.1
spamd2  IN      A       10.0.0.2
spamd3  IN      A       10.0.1.1
spamd4  IN      A       10.0.1.2

This hack let you work around BIND collapsing identical A records.  If
it's not obvious, I'm working with a spamassassin cluster, and spamc
with the above dns hackery and a local copy of dnscache with the
round-robin patch currently splits the load between two servers very
well.  And it solves the "what if a server is down" problem by just
trying the next server in line if it doesn't get a response.

root at helga[/tmp]# grep "spamd1 spamd" /var/log/spamd|wc -l
   20872
root at helga[/tmp]# grep "spamd2 spamd" /var/log/spamd|wc -l
   20870

I need to add two more smaller servers to this cluster, so I'd like to
alter the weighting in DNS.  Again, I understand DNS is not meant to
solve these problems, but in this case, it could solve them very well
if the above config was legal (or if there was a config option to
allow the "illegal" behaviour).

So given the current constraints, what is a good workaround?  I've
looked at load-balancing tools, and frankly this is a better solution;
I don't want to rely on one piece of software; DNS in this case has a
good deal of built-in redundancy.

If this is not feasible with bind, are there any other servers I
should be looking at?

Thanks,

Charles


More information about the bind-users mailing list