|
|
|
When you visit a website, Windows XP tries to speed
things up by placing the DNS information about that site, into a DNS
cache on your PC.
This is OK until there are problems with the network,
DNS server or even the website!
You see the DNS Windows XP cache stores BOTH
negative and
positive
entries. The positive entries are those that the DNS lookup
was successful and you could connect to the website.
|
Negative entries are
those where the DNS lookup failed and you could not connect to the
website.
A problem can arise here because if the DNS cache
hold a negative entry and the website you want to view is now OK to
view, Windows XP will still give you a DNS error!
By default these negative entries are cached for 5
mins. But we can tweak the registry to NOT store negative
entries at all!
There is ALSO another potential pitfall with the
Windows XP DNS cache...
Most ISP's and Domain name registrar's now update
their DNS information (TTL) every 4 hours instead of the twice daily
updates that were common few years ago.
This means that your DNS Windows XP cache may be out
of date for certain entries!
So lets look at how we can tweak the registry to
prevent these problems occurring:
Flush DNS
First of all it would be a good idea to flush the
local DNS cache so we are starting with a clean sheet!
To do this simply enter: ipconfig /flushdns
in a command prompt. You will then get the following window appear
confirming the flush,

Successful DNS Flush
Now we have a clean DNS cache lets make the changes
to the registry.
Block Negative Entries
To force Windows XP NOT to cache negative
entries we need to add a new DWORD to the following Registry
key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\Dnscache\Parameters
DWORD: MaxNegativeCacheTtl
Value: 0
This will now ensure NO negative entries are
stored.
Cache TTL
To force Windows XP to keep positive entries in DNS
Cache for only
4 hours instead of the default 24 hours we need to apply the
following change to the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\Dnscache\Parameters
DWORD: MaxCacheTtl
Value: 14400
NB - make sure you enter the 14400 (seconds) as
Decimal Base and NOT Hexadecimal Base!
Now your registry key should look similar to this
