Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a set of host names that could be resolved only with a specific remote dns server A, so I have several DNS servers in network card TCP protocol settings.

This works for some time. I do not know exactly, but that could be hours or even days. After that time host names from DNS just stop resolving. I can not open them in web browser, ping etc. However nslookup can resolve these host names.

I solve this problem by "updating" dns server configuration. I just change order of DNS servers, I do not think that order plays any role but it just resets internal state of windows DNS system.

Sometimes connection to DNS server A is lost, so I suspect it is a cause for such behaviour, i.e. DNS server is not accessible then it is not queried any more.

How can this issue be solved?

share|improve this question
add comment

1 Answer 1

up vote 1 down vote accepted

An explanation and workaround was written in this article based on Microsoft Knowledgebase 320760 which seems to be applicable to Windows XP and Windows 7.

Microsoft:

This behavior occurs because the Windows XP DNS Client service (Dnscache) follows a certain algorithm when it decides the order in which it uses the DNS servers configured in the TCP/IP properties. If the DNS server list is reprioritized, the Windows XP DNS Client service resets the server priority at periodic intervals. By default, the server priorities are reset every 15 minutes.

Workaround description:

To work around this behavior, modify the registry so that the DNS server that is configured first is tried first on each query. Follow these steps, and then quit Registry Editor:

  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

  3. On the Edit menu, point to New, and then click REG_DWORD.

  4. Type ServerPriorityTimeLimit, and then press ENTER.
  5. On the Edit menu, click Modify.
  6. Type 0, and then click OK.

When you set ServerPriorityTimeLimit to 0 (zero), the server priorities are reset before the DNS Client service decides which DNS server to use. You must restart Windows XP for these changes to take affect. Any other value used in this field will cause the default behavior.

Note: In the ServerPriorityTimeLimit registry setting, only values of 0 change the default behavior. All other values cause the default behavior.

share|improve this answer
    
Not clear from If the DNS server list is reprioritized, the Windows XP DNS Client service resets the server priority at periodic intervals. By default, the server priorities are reset every 15 minutes. how long does these resets are done, i.e. I reprioritize DNS servers how many times will priorities be reset every 15 minutes. Hope it is clear what I want to say :) –  misha nesterenko May 27 '13 at 14:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.