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