DekGenius.com
I l@ve RuBoard Previous Section Next Section

9.5 Sorting Multiple Addresses in a Response

9.5.1 Problem

You want to configure a resolver to sort addresses on certain networks to the front of responses that include multiple A records.

9.5.2 Solution

For a BIND 4.9 or later resolver, add a sortlist directive to resolv.conf, telling the resolver which networks to prefer. The arguments to the sortlist directive are either network numbers or network and netmask pairs, separated by a slash ("/"). If you specify just a network number, the resolver assumes you mean the whole class A, B, or C network, as determined by the first two bits of the network. For example, given this sortlist directive, the resolver will sort addresses on the network 128.32/16 to the beginning of the list of addresses that it passes back to applications:

sortlist 128.32.0.0

If you specify a network and a netmask, use dotted-octet quantities for both. For example:

sortlist 10.1.0.0/255.255.0.0

Some Windows operating systems, including Windows NT 4.0 after Service Pack 4 and Windows 2000, also include resolvers that sort addresses, though the function isn't particularly configurable. When these resolvers share a subnet with the name server they query, they sort addresses on that subnet to the front of responses they return to applications.

You can turn address sorting off with these resolvers by setting the value of the following Registry key to zero:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters \
PrioritizeRecordData

9.5.3 Discussion

Since most applications simple-mindedly use the first address returned before the rest, this configuration induces many applications to prefer addresses in the sortlist. Note, however, that in some cases the sortlist can also prevent round robin from working, since the resolver may sort responses that include matching addresses.

9.5.4 See Also

"The sortlist directive" in Chapter 6 of DNS and BIND; "Subnet Prioritization" in Chapter 6 of DNS on Windows 2000.

    I l@ve RuBoard Previous Section Next Section