You are on page 1of 13

How To Flush Linux / UNIX DNS Cache

1 of 13

BASH Shell
Google Cloud Platform
Amazon Cloud Computing
Rackspace Cloud Computing
Debian / Ubuntu
Ubuntu Linux
RedHat and Friends
Slackware Linux
Mac OS X
FreeBSD Jails (VPS)
See all tutorial topics
Contact us
Linux Scripting Guide
Linux FAQ / Howtos

How To Flush Linux / UNIX DNS Cache

by Nix Craft on January 29, 2008 29 comments LAST UPDATED June 2, 2012
in BASH Shell, CentOS, Debian / Ubuntu
I'm on a Dial UP Internet connection under Linux and frequent dial up disconnection
causing dns problems. How do I flush DNS cache under UNIX / Linux distribution
using a shell prompt?
Under MS-Windows you can use the ipconfig command to flush dns cache.
However, Linux and UNIX provides various ways to flush cache. Linux can run nscd
or BIND or dnsmasq as the name service caching daemon. Large and work-group
servers may use BIND or dnsmasq as a dedicated caching server to speed up queries.

HowTo: Flush nscd dns cache

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

2 of 13

Nscd caches libc-issued requests to the Name Service. If retrieving NSS data is fairly expensive, nscd is
able to speed up consecutive access to the same data dramatically and increase overall system
performance. Just restart nscd:
$ sudo /etc/init.d/nscd restart

# service nscd restart

# service nscd reload

This daemon provides a cache for the most common name service requests. The default configuration file,
/etc/nscd.conf, determines the behavior of the cache daemon.

Flush dnsmasq dns cache

dnsmasq is a lightweight DNS, TFTP and DHCP server. It is intended to provide coupled DNS and
DHCP service to a LAN. Dnsmasq accepts DNS queries and either answers them from a small, local,
cache or forwards them to a real, recursive, DNS server. This software is also installed many cheap
routers to cache dns queries. Just restart the dnsmasq service to flush out dns cache:
$ sudo /etc/init.d/dnsmasq restart

# service dnsmasq restart

Flush caching BIND server dns cache

A caching BIND server obtains information from another server (a Zone Master) in response to a host
query and then saves (caches) the data locally. All you have to do is restart bind to clear its cache:
# /etc/init.d/named restart

You can also use rndc command as follows flush out all cache:
# rndc restart

# rndc exec

BIND v9.3.0 and above will support flushing all of the records attached to a particular domain name with
rndc flushname command. In this example flush all records releated to domain:
# rndc flushname

It is also possible to flush out BIND views. For example, lan and wan views can be flushed using the
following command:
# rndc flush lan
# rndc flush wan

A note about Mac OS X Unix users

Type the following command as root user:
# dscacheutil -flushcache

$ sudo dscacheutil -flushcache

If you are using OS X 10.5 or earlier try the following command:

lookupd -flushcache

A note about /etc/hosts file

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

3 of 13

/etc/hosts act as the static table lookup for hostnames. You need to remove and/or update records as per
your requirements under Unix like operating systems:
# vi /etc/hosts

Sample outputs:
# The following lines are desirable for IPv6 capable hosts
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# nfs2
# nfs1 nfs1 nfs2

See also:
Related: Windows Vista / XP Flush DNS Cache with ipconfig Command
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!
Featured Articles:
30 Cool Open Source Software I Discovered in 2013
30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
Top 30 Nmap Command Examples For Sys/Network Admins
25 PHP Security Best Practices For Sys Admins
20 Linux System Monitoring Tools Every SysAdmin Should Know
20 Linux Server Hardening Security Tips
Linux: 20 Iptables Examples For New SysAdmins
Top 20 OpenSSH Server Best Security Practices
Top 20 Nginx WebServer Best Security Practices
20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
15 Greatest Open Source Terminal Applications Of 2012
My 10 UNIX Command Line Mistakes
Top 10 Open Source Web-Based Project Management Software
Top 5 Email Client For Linux, Mac OS X, and Windows Users
The Novice Guide To Buying A Linux Laptop
{ 29 comments read them below or add one }
1 April 18, 2008 at 8:32 am
it dont work for me i have ubunu 7.10
2 kazoolist July 10, 2008 at 10:54 pm

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

4 of 13

I my experience service nscd restart does not clear NSCDs cache. service nscd reload
does, however.
3 Subhash July 27, 2010 at 5:26 pm
That is correct!
4 James Mills September 19, 2008 at 8:32 am
Actually, in Bind, you can flush the daemons cache by doing
rndc flush
5 Lost Eagle January 31, 2011 at 4:01 pm
Thank U
This rndc flush help lot restart doesnt flush
Have a nice day
6 RudyD February 4, 2009 at 12:35 pm
It seems that not the perfect view for precise approach. It seems that if I use bind and there is a
resolv.conf too not always the bind is in use. (Ubuntu) Other important machine (with debian),
there is just resolv.conf. Anyhow I have tried to restart (hope works) the /etc/init.d/dns-clean and it
seems it worked. But there were reports that this did not do the job. Anyhow, I want to make sure
that especially my debian system without restarting, even the networking, how can I just restart
the name resolution to the newly set values and how to get sure that it is done well?
7 Tricky April 26, 2009 at 11:50 pm
If nscd is in use, try nscd -i hosts as root.
As per James Mills, rndc flush if using bind.
If none of these work you might not have a DNS cache to flush anyway and the problem DNS entry
may be stored elsewhere, such as your firefox DNS cache, your routers cache, or another upstream
DNS caching server.

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

5 of 13

8 takizo July 26, 2010 at 2:58 pm

it could be nscd is not install?
@James, rndc reload works too :D
9 dejf August 31, 2010 at 3:04 pm
/etc/init.d/dnsmasq restart do not work, even stop and start does not. There is a clear cache option
entioned, but it does not help anyway dnsmasq remembers
10 Yogesh September 2, 2010 at 12:08 pm
I guess this is for DNS server. What shall I do if I wish to clear DNS cache on a linux client/desktop
machine? [Like ipconfig /flushdns in windows]
11 Tricky September 2, 2010 at 2:14 pm
@Yogesh: The same commands apply to a desktop
@dejf: Bear in mind per my comment above, perhaps your desktop has a separate DNS cache or the
DNS is being cached elsewhere. You have to flush the DNS on all your upstream DNS servers as
well or change the DNS servers that youre using.
See the following for info on how to change your DNS settings to these 2 popular public DNS
12 Yogesh September 2, 2010 at 3:32 pm
Thanks for comment, but I am unable to find /etc/init.d/nscd or named on my Centos 5.3 Desktop.
Any help?
13 Tricky September 3, 2010 at 4:48 am
@Yogesh. Chances are the DNS is cached outside of your desktop or the DNS is being cached by
an application directly.
I wrote an (admittedly regex-cryptic) article on this same issue (sorry for the competing link,
Vivek) skip to the sections after the label Flush
Mozilla Firefoxs internal DNS cache.

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

6 of 13

14 Manish December 4, 2010 at 6:49 pm

I have a local name resolution issues on CentOS 5.5. I have edited the /etc/hosts file and still the
hostname doesnt resolves to right IP.
Here is what I have priority configuration
# more /etc/host.conf
order hosts,bind
Also /etc/nsswitch.conf file has
hosts: files dns
more /etc/hosts admin
# host admin
Host admin not found: 3(NXDOMAIN)
Any suggestions would be appreciated.
15 Tricky December 6, 2010 at 3:49 am
host doesnt bother with the entries in the hosts file. Try ping admin instead.
16 nobbiecentos February 8, 2011 at 1:15 pm
TY for information its working solution for clear cash from server side
17 takprosto April 9, 2011 at 11:45 pm
Im sorry for my bad english. but im have Debian.
apt-get install nscd Ok
-d, debug Do not fork and display messages on the current tty
-f, config-file=NAME Read configuration data from NAME
-g, statistic Print current configuration statistic
-i, invalidate=TABLE Invalidate the specified cache
-K, shutdown Shut the server down
-t, nthreads=NUMBER Start NUMBER threads
usage Give a short usage message
commands restart and reload not work ! haven`t ))) and -shutdown not work
18 Tricky April 10, 2011 at 11:58 am
Do the commands give an error or are they just not refreshing the DNS? If theres no error then the
5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

7 of 13

DNS entry could be cached elsewhere, for example on your router or your ISPs DNS server.
19 andre July 22, 2011 at 7:18 am
on Debian Squeeze/wheezy:
Usage: /etc/init.d/nscd {start|stop|force-reload|restart|status}
20 m4h September 15, 2011 at 8:10 am
Manish ->
Change from: admin
TO: admin admin
21 david.chen February 3, 2012 at 2:45 am
why not just use
nscd -i hosts
nscd -i passwd .
to flush the cache
22 Tim March 21, 2012 at 1:23 pm
The articles recomendations are distribution specific and depend on how the init scripts are set up
and what they do. The proper way to flush the cache on nscd is nscd -i hosts and for named,
rndc flush
Anything else, like /etc/init.d/nscd reload depends on how your distro wrote the init script. Just
because that works for you on Fedora does not mean Debian or someone else set it up that way as
23 Som June 13, 2012 at 8:44 pm
If a user wants to flush DNS cache and if the user uses Internet via LAN connection ,the best way
to do so is changing the DNS address manually . He just needs to alter the DNS entry .Setting
alternative DNS address as primary address will solve the issue instantly. This trick worked for me .
I faced the same problem . I am aLinux user .so , I installed NSCD client and tried to flush the
cache . But , it could not solve my issue .i solved it myself just changing the DNS entry . It worked
for me instantly .I kept the new entry for two days without any problem and later reinstated the
older entry
5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

8 of 13

24 nick September 6, 2012 at 9:57 pm

This post is a little misleading. Linux by default does not have a caching system (at least not most
of the destributions). So unless you installed a caching system (or your system came with one
pre-installed), there is no need to flush DNS because your system doesnt store any.
This post isnt clear about that and will cause people (who have no caching in place) to install a
caching package (like nscd) just so that they could flush it. Thats a little counterproductive I think.
25 Mac January 11, 2013 at 3:20 pm
*NOTE* The mistake I have often made is my /etc/hosts (on my CentOS6 workstation) I always
FORGET to update it.
So after a DNS update, I cannot reach the site by name and think something is amiss, well I forgot
to edit my /etc/hosts file for all of the servers.
26 Willian Braga da Silva February 1, 2013 at 1:44 pm
The correct way to flush NSCD cache is using the command line:
sudo /usr/sbin/nscd invalidate=hosts
from the man page:
$ /usr/sbin/nscd help
Usage: nscd [OPTION...]
Name Service Cache Daemon.
-d, debug Do not fork and display messages on the current
-f, config-file=NAME Read configuration data from NAME
-g, statistic Print current configuration statistics
-i, invalidate=TABLE Invalidate the specified cache
-K, shutdown Shut the server down
-t, nthreads=NUMBER Start NUMBER threads
-?, help Give this help list
usage Give a short usage message
-V, version Print program version
$ sudo /usr/sbin/nscd -g
nscd configuration:
hosts cache:
yes cache is enabled
yes cache is persistent
yes cache is shared

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

9 of 13

yes check /etc/hosts for changes

hope this help
27 Jesin June 28, 2013 at 8:29 am
Does restarting the networking service clear the cache ?
I do not find all Linux distributions having the one of the three tools youve mentioned above.
28 Mac November 16, 2013 at 2:02 pm
-> nscd is there any reason why you would use this service, just wanting to help understand what it
29 samuel March 26, 2014 at 7:03 am
I suggest changing this post about flush dns cache since its not correct to reload or restart nscd.
I read the man and found the correct way is use:
nscd -i hosts
This method was mentioned in several comments, but if your post were not updated, more and
more users would be misguided.
Leave a Comment
Name *
E-mail *

Notify me of followup comments via e-mail

Tagged as: /etc/init.d/dnsmasq, /etc/init.d/named, /etc/init.d/nscd, clear dns cache in linux, clear dns cache
on linux, clearn dns cache, dns queries, dnsmasq, flush dns cache in linux, flush dns cache on linux, flush

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

10 of 13

linux dns cache, how to clear cache, linux clear dns cache, linux flush dns cache, named, nscd, redhat
flush dns cache
Previous Faq: Fingerprint / Identify Remote Web Server
Next Faq: Debian / Ubuntu Linux WARNING: The following packages cannot be authenticated! Error
and Solution

Related Faqs

How To Set Caching DNS Server

Bash Clear DNS Cache

BIND: Stop Recursion DNS Under Linux / UNIX

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

11 of 13

dnstop: Monitor BIND DNS Server (DNS Network Traffic) From a

Shell Prompt

Monit: Monitor BIND 9 (named) Name Server and Auto Restart SSH
If It Does Not Respond

Linux: Start / Stop / Restart BIND DNS Server

Linux / UNIX: DNS Lookup Command

Find Out If My DNS Server Free From DNS Cache Poisoning Bug Or

How to Set Up DNS Lookup in Linux

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

12 of 13

Mail delivery: DNS: Service unavailable error


44,587 people like nixCraft.

Facebook social plugin

Latest posts from our blog

Download of the day: Ubuntu Linux 14.04 LTS CD / DVD ISO
Linux and Unix nload App: Monitor Network Traffic and Bandwidth Usage In Real Time
10 Linux/Unix Bash and KSH Shell Job Control Examples
Download of The Day: FreeBSD 10 ISO DVD / CD Images
30 Cool Open Source Software I Discovered in 2013

5/22/2014 11:15 AM

How To Flush Linux / UNIX DNS Cache

13 of 13


nixCraft Linux Blog

21 May

Interview with Linus Torvalds the legendary
inventor of #Linux and founder of the Open Source
Show Summary
nixCraft Linux Blog

21 May

Been there, done that. #life #humour
#LifeIsLikeThat #sysadmin

Tweet to @nixcraft

Subscribe to nixCraft
Learn something new about Linux/Unix by email
Enter your email address:

2000-2014 nixCraft. All rights reserved. Privacy Policy - Terms of Service - Questions or Comments We are proudly powered by Linux + Nginx + WordPress.
The content is copyrighted to nixCraft and may not be reproduced on other websites.

5/22/2014 11:15 AM