Distributing DNS load via DHCP

Jeff Wieland wieland at purdue.edu
Fri Dec 16 19:49:30 UTC 2011


Since these are all for wireless clients, they'll likely be coming and 
going
from the network fairly often.  I'm not that concerned with if they
re-order the DNS servers themselves.

For some reason, in the case where there are two pools like below, I'm
thinking that dhcpd (at least the 3.X releases) will take alternate taking
addresses from each pool.

Simon Hobson wrote:
> Jeff Wieland wrote:
>> We have a fairly large pool of address, and we'd like to distribute
>> the DNS load on this pool between two DNS servers.
>
>
> How about just :
>
>   pool {
>     range 192.168.128.11 192.168.77.254;
>     option domain-name-servers 192.168.1.6, 192.168.1.5;
>   }
>   pool {
>     range 192.168.78.1 192.168.143.254;
>     option domain-name-servers 192.168.1.5, 192.168.1.6;
>   }
>
>
> In the long term, once all addresses have been used one then the 
> distribution of leases between pools will be more or less random. In 
> the short term, you could make whichever pool gets used first* smaller 
> until it's full and devices have been forced into the other pool - and 
> then enlarge the pool a bit until both are at full size.
>
> * In 3.x and below, unused addresses were used "top down" (ie highest 
> address first) due to the way the internal hashing worked. It looks 
> like 4.x does it bottom up.
>
>
> However, I'm not sure this will entirely achieve what you want. For 
> example, if one of the DNS servers goes down for any reason, then I 
> believe some (all ?) versions of Windows will put the "dead" server to 
> the bottom of it's query order - and leave it there indefinitely (ie 
> until one of the other servers goes down). At my last job, I know some 
> of my colleagues in other divisions were using this trick to have 
> clients query an internal server before going external - which broke 
> the first time the internal server went down.
>
> And on that note, some clients will query all the servers anyway for 
> non-resolving addresses. What my colleagues were doing was to have an 
> internal server which resolved internal domains. If that failed to 
> give an answer, then the Windows client would try the next server (an 
> external one) which resolved external addresses.
>
> If that is still how they work, then your clients would query one 
> server, get nxdomain response, and then query the other for the same 
> non-resolving address.
>


-- 
          Jeff Wieland            |         Purdue University
   Network Systems Administrator  |        ITN&S Data Networks
       Voice: (765)496-8234       |        155 S. Grant Street
        FAX: (765)494-6620        |   West Lafayette, IN 47907-2115




More information about the dhcp-users mailing list