Most DNS clients
cache the results of name
resolution requests. This means that the DNS clients will
temporarily store the
website names that you have been visiting lately. This process
speeds up name resolution if multiple lookups are done to the same
address, such as is common when browsing the web. Hence, if you visit
Yahoo.com second time, the DNS client will already have the name mapped
and hence will retrieve the mapping quickly.
Sometimes a bad
DNS
entry will be cached and you will need to either flush the DNS cache to
get rid of it, or wait up to 24 hours for it to be dropped from the
cache automatically. Given below is a comprehensive step-by-step process
to flush the DNS.
How to Flush DNS in Microsoft Windows
In Microsoft Windows, you can use the command ipconfig /flushdns
to flush the DNS resolver cache. Open the
command
prompt
and type the following:
C:>ipconfig /flushdns
Windows
IP Configuration
Successfully flushed the DNS Resolver Cache.
The above command will completely flush the DNS, deleting any
incorrect entries too. You can also use the command ipconfig
/displaydns to view the DNS resolver cache.
Turning Off DNS Caching under Microsoft Windows
If you experience frequent issues with DNS caching under
Microsoft Windows, you can disable client-side DNS caching with
either of these two commands:
net stop dnscache
sc servername stop dnscache
This will disable DNS caching until the next reboot. To make the
change permanent, use the Service Controller tool or the Services tool
to set the DNS Client service startup type to Disabled. You can
permanently disable DNS Client by following the below steps:
Goto Start and click on Run.
Type Services.msc in the Run
command box.
A window listing all the services will
popup. Search for a service called DNS Client.
Double click on the listed DNS Client service
and click Stop. Similarly, you can restart it by
clicking Start.
Tuning DNS Caching under Microsoft Windows
You can modify the behavior of the
Microsoft Windows DNS caching
algorithm by setting two registry entries in the
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscacheParameters
registry key.
The MaxCacheTtl represents the maximum time that the results of a DNS
lookup will be cached. The default value is 86,400 seconds. If you set
this value to 1, DNS entries will only be cashed for a single second.
MaxNegativeCacheTtl represents the maximim time that the results of a
failed DNS lookup will be cached. The default value is 900 seconds. If
you set this value to 0, failed DNS lookups will not be cached.
Flush DNS in Mac OSX
In
Mac OSX Leopard, you can use the command dscacheutil -flushcache
to flush the DNS resolver cache:
bash-2.05a$ dscacheutil -flushcache
In Mac OSX versions 10.5.1 and before, the command lookupd
-flushcache performed the same task:
bash-2.05a$ lookupd -flushcache
Flush DNS in Linux
In
Linux, the nscd daemon manages the DNS cache. To flush the DNS
cache, restart the nscd daemon. To restart the nscd daemon, use the
command `/etc/init.d/nscd restart`.