[comp.archives] Host rotary with BIND

bryan@notorious.rs.itd.umich.edu (Bryan Beecher) (05/24/91)

Archive-name: internet/named/umich-bind/1991-05-20
Archive: terminator.cc.umich.edu:/unix/dns/bind4.8.3.tar.Z [141.211.164.8]
Original-posting-by: Bryan Beecher <bryan@notorious.rs.itd.umich.edu>
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)

> I think I've seen an implementation of this posted, but I can't find it.  I
> want to have a pseudo hostname act that acts like a rotary by returning
> different IP addresses as time goes by.  It should be flexible enough that you
> can experiment with different policies, like round-robin or lowest load
> average.  An obvious solution is to have the DNS return the different IP
> addresses in response to different queries.  My guess is that the BIND
> solution would be to add a new type of resource record that would cause a
> daemon to be consulted for the answer.  Has anyone done something like this?

I have something like this.  It is a SA (shuffle A) record.  To the outside
world it looks like an A record; to your named, it looks like an A record
that needs to be shuffled with all the other SA records.  Try using something
like nslookup on the name HERMES.MERIT.EDU from the nameserver MERIT.EDU to
see some shuffle A records in action.

This feature is implemented as a new RR type with the same syntax as an A
record.  If named loads an SA rather than an A record, it sets one of the
data flags that I've used to indicate shuffling.  Other than that, the
record is treated as a plain A record.  The shuffling returns the A
records in a random order (so there is no weighting or *real* load
balancing).

The changes involve some small mods to db_load.c, ns_req.c, ns_resp.c and
a new source file, ns_shuf.c.  (Unfortunately, it isn't especially easy for 
me to provide a patch due to the various fiddling I've done.  The whole 
thing is on terminator.cc.umich.edu in /unix/dns/bind4.8.3.tar.Z)

	-- bryan

-- comp.archives file verification
terminator.cc.umich.edu
-rw-r--r--  1 dns      ftp        638021 May 20 09:37 /unix/dns/bind4.8.3.tar.Z
found umich-bind ok
terminator.cc.umich.edu:/unix/dns/bind4.8.3.tar.Z