Distributing DNS load via DHCP
Blake Hudson
blake at ispn.net
Fri Dec 16 16:21:22 UTC 2011
Jeff Wieland wrote the following on 12/16/2011 8:55 AM:
> We have a fairly large pool of address, and we'd like to distribute
> the DNS load on this pool between two DNS servers.
>
> Roughly, what I was thinking of doing is:
>
> group {
> default-lease-time 21600;
> max-lease-time 28800;
> option domain-name "myuni.edu";
> option domain-name-servers 192.168.1.5, 192.168.1.6;
>
> subnet 192.168.128.0 netmask 255.255.240.0 {
> authoritative;
> option routers 192.168.128.1;
> # Select the DNS server order by examining the last bit of
> # the hardware address
> if (suffix(binary-to-ascii(2, 8, ":", hardware), 1) = "1") {
> option domain-name-servers 192.168.1.6, 192.168.1.5;
> } else {
> option domain-name-servers 192.168.1.5, 192.168.1.6;
> }
>
> pool {
> deny dynamic bootp clients;
> range 192.168.128.11 192.168.143.254;
> }
> }
> }
>
>
> Or would I be better off doing something with classes/subclasses?
> I'm concerned about the performance impact of the if statement.
How balanced does this need to be? You could use two pool statements,
reversing the DNS server order by pool. I think this would help you
troubleshoot and spot issues more quickly.
Also, you might find that these efforts are self defeating, as more
client requests does not necessarily mean more load. The biggest gains
in DNS performance come from the caching infrastructure, the bigger the
cache is allowed to get the faster the server can respond to requests.
Utilizing two servers, you may see worse response times, on average, due
to cache expiries or simply the server the user is using may not have
looked up a record before and has to perform a fully recursive lookup.
--Blake
More information about the dhcp-users
mailing list