DNS - Any way to force a nameserver to update the record of a domain?

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?


Solution 1:

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

Solution 2:

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.

Solution 3:

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

JR

Solution 4:

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.