I am doing some work on some domain names. I'm updating them. By using dig I can query our nameserver and I can see that the correct name has been updated. However our office dns cache is still showing the old name. Yesterday I set the TTL down to 10 minutes, so I don't have to wait long. However is there any way to trick the office's dns cache to update? Any sneaky little trick I can do to make things easier?

UPDATE Let's assume I don't have access to the server, and can't restart it? Is there anything else I can do?

  • What platform's your DNS server running on? UNIX, Linux, Windows..? – RainyRat Jul 15 '09 at 13:14
  • What OS is the office's server running? That will make a difference in how you would go about flushing the cache. – Bart B Jul 15 '09 at 13:14
  • 2
    Google allows you to flush DNS cache: developers.google.com/speed/public-dns/cache – Nehal J Wani Mar 9 '16 at 18:54

Assuming your DNS server is on a PC and not a router etc:

Linux cache flush:

/etc/init.d/nscd restart

Or for distros without nscd

/etc/init.d/named restart

Windows client cache flush for individual machines:

ipconfig /flushdns

Windows server cache flush for office server (thanks to ericmayo for the correction):

  1. Navigate to Administrator Tools
  2. expand the server object
  3. right click cached objects
  4. select clear cache

Mac (possibly?!):

dscacheutil -flushcache

If you have a web GUI etc for a router, there will be an option in there somewhere.

Cross platform cache flushing as above

About DNS and caching

  • ipconfig /flushdns does not flush the DNS cache of a Windows DNS server; it only flushes the client's cache. To flush a Windows DNS server cache, open DNS under Administrator Tools, expand the server object, right click cached objects and select clear cache. nscd is not on my distro. In that case, just killall named and restart it; usually /etc/rc.d/rc.bind start – Kilo Jul 15 '09 at 14:06
  • For mac: dscacheutil -flushcache flushes the local cache in the operating system, not the bind name server. rndc flush will clear the bind name server on a mac which will affect all computers using that name server. – Matt Connolly Apr 20 '12 at 0:21

If you are running BIND as a resolver for your office - ie. not forwarding to another a resolver.

Flush everything in the cache:

rndc flush

Flush a specific record:

rndc flushname example.com

If you are forwarding then you are at the mercy of the forwarder's cache.


With the Windows DNS just restarting the service flushes the cache. Worth a try on your office server.



If your using Windows, you can use nltest.

  /DSREGDNS - Force registration of all DC-specific DNS records
  /DSDEREGDNS:<DnsHostName> - Deregister DC-specific DNS records for specified DC
      /DOM:<DnsDomainName> /DOMGUID:<DomainGuid> /DSAGUID:<DsaGuid>
  /DSQUERYDNS - Query the status of the last update for all DC-specific DNS records

And if your using WINS, nbtstat.


If you're using Bind9 as your dns server, restart the service

sudo service bind9 restart

  • 1
    This is not true for all distros; RH/CentOS uses service named restart, as Andy alludes to above. This would be a more helpful answer if you found out which distros it was true for (I suspect it's "Debian and derivatives", but I'm no Debian expert) and added that in. That said, welcome to SF! – MadHatter Jul 17 '16 at 5:48
  • @MadHatter ...additionally it would be depend on the "state" of bind, if it's used as an authoritative, or recursive server. In my opinion, as it stands, this answer on it's own doesn't make that much sense. – gf_ Jul 17 '16 at 7:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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