How can I clear (flush) my DNS cache in Linux?

The Domain Name System (DNS) translates user-friendly domain names into the numerical IP addresses that computers understand. This translation process is expedited by the DNS cache, a local repository storing recent domain name lookups. While this cache enhances online efficiency, there are instances when its clearance becomes necessary. So, today, we will explain what it is and how to flush it in Linux systems and guide you through the process.

What is DNS Cache?

The Domain Name System (DNS) is a fundamental component of the internet, responsible for translating human-readable domain names into IP addresses that computers use to locate and communicate with each other. To expedite this process and reduce the time it takes to access websites or other online resources, operating systems and web browsers often maintain a local DNS cache.

In simple terms, a DNS cache stores recent DNS lookups, including the corresponding IP addresses. This means that when you visit a website, your computer doesn’t need to perform a full DNS lookup every time, which can improve page loading times. Instead, it can quickly retrieve the IP address from the cache. However, there are times when you might want to clear or flush it.

Why Clear (Flush) Your DNS Cache?

While caching generally improves internet performance, there are situations where clearing or flushing it becomes necessary:

  1. DNS Changes: When a website’s IP address changes due to server migration or maintenance, your local DNS cache may still have the old IP address. Clearing the cache ensures you’re accessing the updated site.
  2. Website Inaccessibility: If you’re unable to access a website even though it’s up and running, outdated DNS information might be the cause. Flushing it could resolve this issue.
  3. Security and Privacy Concerns: Malicious websites might attempt to exploit outdated cached data entries to redirect users to harmful sites. Clearing the cache can mitigate this risk.
  4. Troubleshooting Network Issues: When diagnosing network problems, DNS cache issues can sometimes be a factor. Clearing the cache can help in ruling out cache-related problems.

How to do it?

Clearing the DNS cache on a Linux system typically involves using the terminal. Here’s how you can do it:

  • Using systemd-resolved (on systems with systemd):

sudo systemd-resolve –flush-caches

  • Using nscd (Name Service Cache Daemon):

If nscd is installed and running on your system, you can flush the DNS cache using:

sudo systemctl restart nscd

  • Using DNSMasq:

If you’re using DNSMasq as your local DNS cache, use the following command:

sudo systemctl restart dnsmasq

  • Flushing Local Resolver Cache:

If none of the above methods apply, you can try flushing the local resolver cache directly:

sudo /etc/init.d/dns-clean restart

*Remember to replace “sudo” with the appropriate privileges if you’re not using the root user.


Clearing or flushing your DNS cache in Linux is a straightforward process that can prove beneficial in various scenarios. Whether you’re troubleshooting network issues, ensuring access to the most recent versions of websites, or addressing security concerns, knowing how to clear it empowers you to have a smoother and safer internet browsing experience.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>