[rbldnsd] The round-robin problem

furio ercolessi rbldnsd@corpit.ru
Mon, 17 Nov 2003 01:20:38 +0100


I noticed that rbldnsd (0.99) does not seem to do round robin rotation
of A records.  This can be a problem with zones that have the A
records of the nameservers within the zone itself, as it leads to
unbalancing.

For instance (w.spamhaus.org is an experimental SBL server running
rbldnsd, soon to become public):

% dig a afr.sbl.spamhaus.org @w.spamhaus.org
afr.sbl.spamhaus.org.   2D IN A         147.102.222.210
afr.sbl.spamhaus.org.   2D IN A         217.160.72.252
afr.sbl.spamhaus.org.   2D IN A         204.152.184.189
afr.sbl.spamhaus.org.   2D IN A         160.124.208.81

By repeating the query one always gets the records in the same order,
which is the order of the records in the data file.
In contrast, Bind rotates:

% dig a afr.sbl.spamhaus.org @204.152.184.189
afr.sbl.spamhaus.org.   2D IN A         147.102.222.210
afr.sbl.spamhaus.org.   2D IN A         160.124.208.81
afr.sbl.spamhaus.org.   2D IN A         204.152.184.189
afr.sbl.spamhaus.org.   2D IN A         217.160.72.252
% dig a afr.sbl.spamhaus.org @204.152.184.189
afr.sbl.spamhaus.org.   2D IN A         217.160.72.252
afr.sbl.spamhaus.org.   2D IN A         147.102.222.210
afr.sbl.spamhaus.org.   2D IN A         160.124.208.81
afr.sbl.spamhaus.org.   2D IN A         204.152.184.189

Is it complex to introduce the round-robin rotation?

(Actually for public servers it would be very nice to be able to give 
weights to the nameservers, in order to alleviate bandwidth problems
that some volunteers may experience by redistributing the traffic).

furio