The information in this article applies to:
IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe. SUMMARY
This article consists of 3 parts and describes settings for the Microsoft
Domain Name Service (DNS) server. You can modify most settings using the
DNSADMIN tool, although some settings can only be altered using Registry
Editor.
Q198408 Microsoft DNS Server Registry Parameters, Part 1 of 3 MORE INFORMATIONWARNING: Using Registry Editor incorrectly can cause serious problems that
may require you to reinstall your operating system. Microsoft cannot
guarantee that problems resulting from the incorrect use of Registry Editor
can be solved. Use Registry Editor at your own risk.
Server ParametersSeveral registry parameters determine behavior of the entire server. Each of these is a registry value underHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\ParametersNOTE: These registry keys are read only at startup. Some may be reset and, in some cases, the server behavior dynamically changed, through the DNS Administrator. But if manually reset, the DNS server must be restarted to pick up the new value. SendOnNonDnsPort
By default, the DNS server sends queries to other DNS servers on a socket bound to the DNS port. Sometimes this situation is NOT desirable. The most obvious case being when an admin firewalls off the DNS port, to prevent outside access to the DNS server, but still wants the DNS server to be able to contact Internet DNS servers to provide Internet name resolution for internal clients. This is also desirable if the server is serving disjoint nets (see discussion below for DisjointNets key). Setting the SendOnNonDnsPort key to a non-zero value, causing the DNS server to bind to an arbitrary port for sending to remote DNS servers. If the SendOnNoDnsPort value is set >1024, then the DNS server will bind explicitly to the port value given. This is useful is the admin wants to fix the port for firewalling purposes. Examples:
DisjointNets
Resolver behavior dictates that DNS servers bind explicitly to IP addresses (see discussion in ListenAddresses above). This, in turn, means that there is a tradeoff in determining the binding of the socket used to query remote DNS servers. The binding must be such that the remote server can respond to the address in the IP source address of the query. If there is a single IP address for the computer running the DNS server, there is no problem. However if the computer is multihomed, a problem may arise as the send socket may have be chosen in one of two ways:
Default server behavior (Service Pack 3 and later):
DisableAutoReverseZones
Every DNS server should (according to RFC) be authoritative for three reverse lookup zones:
If the DisableAutoReverseZones key does not exist or is zero, the Microsoft DNS server will automatically create these zones with the correct entries (none except for a PTR for 127.0.0.1 to localhost). If DisableAutoReverseZones is nonzero, the server does NOT create these zones. AutoCacheUpdate
When a DNS server starts, it needs a list of root server "hints" -- NS and A records for the servers, historically called the cache file. Traditionally DNS administrators could keep this file current by downloading a new copy from the InterNIC. This method works adequately when the root servers stay fairly static, but does require attention on the part of the administrator when updates and changes are made (for example, the massive renaming in late 1995). The Microsoft DNS server has a feature to allow the server to attempt to write back a new cache file based on the response from the root servers. If the AutoCacheUpdate key does NOT exist or is nonzero, the Microsoft DNS server will rewrite the cache file based on the data received from querying the root DNS servers on startup. If the key is zero, the DNS server does not do this update. CleanupInterval
Periodically, the DNS server wakes up a thread to walk the database and eliminate cached records and nodes, which have timed out. (The only purpose is to recover the memory.) The thread will also check the authoritative zones and write back any that are "dirty" -- have records from administrative update that have NOT been written back to database file. The value of this key is the interval between wakeups of the cleanup thread in seconds. If the key does not exist, the default is one hour. There is no particular reason to change this value, although in a memory unconstrained situation, a longer wakeup (possibly a day) might slightly improve performance. In a memory constrained environment, shorter intervals are desirable, but making them very short (such as a few minutes) would cause excessive cycles to be wasted on this timeout thread. StrictFileParsing
BIND implementations have generally been liberal about allowing non-RFC compliant records in zone files. Among the errors allowed:
If the StrictFileParsing key does not exist or is zero, the server will log and ignore bad data in file and continue to load. If the StrictFileParsing is nonzero, the server will log and fail on zone file errors. Zone Registry KeysSeveral registry parameters determine behavior of the individual zones. Each of these is a registry value under the following key:
NOTE: The above registry key is one path; it has been wrapped for readability. This key, in turn, contains a registry key for each authoritative zones and, if not root authoritative, one for the cache (key name "."). This section discusses registry parameters that determine behavior specific to individual zones. Each of these registry parameters is found under a registry key for the name of the zone it applies to. NOTE: These registry keys are read only at startup. Some may be reset and the server behavior dynamically changed through the DNS Administrator. But, if manually reset, the DNS server MUST be restarted to pick up the new value. Type
The Type registry key determines type of zone when starting from the registry. Zone types mappings are:
The Type registry key is read to determine the type of zone on registry startup. If it is deleted or invalid, the server will fail to start. Therefore, do NOT edit this key. To change the zone type, use the DNS Administrator Zone properties, General dialog box. NOTE: If starting from a boot file, this key is ignored and overwritten with zone type specified in the boot file. UseDatabase
The UseDatabase registrykey is unused. DatabaseFile
The DatabaseFile registry key gives the name of the zone's database file (if any). When starting from the registry, this key determines the file that is read to load the zone. This key MUST exist for primary zones. Secondary zones may be configured to not load from a zone file. Do not edit this key. To change the zone file, use the DNS Administrator Zone properties, General dialog box. NOTE: If starting from a boot file, this key is ignored and overwritten with zone file specified in the boot file. MasterServers
Secondaries for a zone must have a list of servers that they can query to receive information to determine current zone version and to receive zone transfers from, if necessary. The MasterServers key is a list of IP addresses of masters for the given zone. The list is not dotted IP strings, but a counted array of raw IP addresses in net byte order. It should be configured through the Zone Properties, General dialog box in the Administrator tool. Editing the registry key is discouraged. NOTES:
SecondaryServers
The Microsoft DNS server allows specification of a secondary server list. Note that it is a list of secondaries for this zone on this server. It need not be a complete list of secondaries for the zone. Its purpose is to give administrators a fine degree of control over the replication graph for a zone. This list has two functions:
The SecondaryServers key is not a list of dotted IP strings, but a counted array of raw IP addresses in net byte order. It should be configured through the Zone Properties, Notify dialog box in the administrator tool. Editing the registry key is discouraged. Especially, do NOT delete this registry key to attempt to create an empty secondary list. SecureSecondaries
The Microsoft DNS server allows limitation of zone transfers to a select list (possibly empty) of servers. This is useful for two reasons:
Additional query words:
Keywords : |
Last Reviewed: August 16, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |