- Boost Your Network Performance: How To Clear DNS Cache on Linux
- Checking DNS Cache on Linux
- Clearing DNS Cache on Linux Using the Command Line
- Clearing DNS Cache on Linux Using Systemd-Resolved
- Clearing DNS Cache on Linux Using NetworkManager
- Clearing DNS Cache on Linux Using Nscd
- Conclusion
- How to Flush DNS Cache in Linux
- Flush DNS Cache in Linux in 2020
- Checking if DNS Caching is Enabled
- Flush DNS Cache in Ubuntu
- Flush DNS Cache in DNS Services on Linux
- Flush nscd DNS Cache
- Flush dnsmasq DNS Cache
- Flush BIND DNS Cache
- Bonus: Change DNS Settings in Ubuntu
- Change DNS Settings using the GUI
- Change DNS Settings using the Terminal
- Clear DNS Cache in Linux Using These Methods
- How to Change Directory in Linux Terminal
- What Is Curl Command in Linux and How to Use It
- 10 Examples of rsync command in Linux
- How to Create a User in Linux
- How to Copy Files in Linux (2 Ways)
- How to Create Symbolic Links in Linux
- 3 Comments
Boost Your Network Performance: How To Clear DNS Cache on Linux
As a Linux user, you might have experienced slow internet connections or the inability to access some websites. Often, this issue can be traced back to your DNS cache. DNS cache is used by your system to store recently visited websites’ domain name resolutions, making it faster to access them in the future. However, sometimes this cache can become corrupted, leading to issues such as slow internet speed or incorrect website resolution. In such a situation, clearing the DNS cache can solve the problem.
In this blog post, we will be discussing how to clear the DNS cache on Linux systems. We will cover the step-by-step process of clearing the DNS cache, including the use of various commands and tools available on Linux. We will also discuss the importance of clearing the DNS cache, the common issues caused by a corrupted DNS cache, and how flushing the DNS cache can help solve these problems. By the end of this post, you will have a clear understanding of how to flush the DNS cache on Linux systems, and you will be able to do so efficiently and effectively. So, let’s get started!
Checking DNS Cache on Linux
Before we proceed with clearing the DNS cache, it is essential to check if there is any outdated or incorrect information stored in the cache. To check the DNS cache on your Linux machine, open a terminal and enter the following command:
sudo systemd-resolve --statistics
This command will show you the statistics of your DNS cache, including the number of queries, cache hits, and cache misses. If you notice a high number of cache misses or outdated information, it might be time to clear your DNS cache.
Clearing DNS Cache on Linux Using the Command Line
The most common method to clear the DNS cache on Linux is by using the command line. Here are the steps to follow:
Step 1. Open a terminal on your Linux machine.
Step 2. Type the following command to clear the DNS cache:
sudo systemd-resolve --flush-caches
This command will flush both the positive and negative DNS caches.
Step 3. To confirm that the DNS cache has been cleared, type the following command:
sudo systemd-resolve --statistics
This command will show you the updated statistics of your DNS cache.
Clearing DNS Cache on Linux Using Systemd-Resolved
Systemd-Resolved is a system service that manages network name resolution. It is used by many modern Linux distributions, including Ubuntu and Fedora. Here are the steps to clear the DNS cache on Linux using Systemd-Resolved:
Step 1. Open a terminal on your Linux machine.
Step 2. Type the following command to restart the Systemd-Resolved service:
sudo systemctl restart systemd-resolved.service
This command will restart the Systemd-Resolved service and clear the DNS cache.
Step 3. To confirm that the DNS cache has been cleared, type the following command:
sudo systemd-resolve --statistics
This command will show you the updated statistics of your DNS cache.
Clearing DNS Cache on Linux Using NetworkManager
NetworkManager is a popular utility used in many Linux distributions to manage network connections. Here are the steps to clear the DNS cache on Linux using NetworkManager:
Step 1. Open a terminal on your Linux machine.
Step 2. Type the following command to restart the NetworkManager service:
sudo systemctl restart NetworkManager.service
This command will restart the NetworkManager service and clear the DNS cache.
Step 3. To confirm that the DNS cache has been cleared, type the following command:
sudo systemd-resolve --statistics
This command will show you the updated statistics of your DNS cache.
Clearing DNS Cache on Linux Using Nscd
Nscd (Name Service Caching Daemon) is a service used to cache various name service lookups, including DNS. To clear the DNS cache using nscd, follow the steps below:
Step 1. Open a terminal window.
Step 2. Type the following command to restart the nscd service:
sudo systemctl restart nscd
This command will clear the DNS cache stored by nscd.
Conclusion
Clearing the DNS cache on Linux is a straightforward process that can help you resolve internet connectivity issues or improve website loading speed. In this article, we have shown you different methods to clear the DNS cache on Linux: using the command line, Systemd-Resolved, and NetworkManager. We recommend that you check your DNS cache regularly
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!
How to Flush DNS Cache in Linux
DNS, or a Domain Name System, is responsible for resolving website names into their respective IP addresses. There are multiple DNS servers and you can pick and choose the one you want to use. So, if you’re having trouble connecting to a website, or if you just want a DNS change to be seen by your Ubuntu machine, you should try to flush the DNS cache. You can also clear DNS cache in Ubuntu if you made changes to the hosts file, and you want it to be “seen” by your system without having to reboot it. Well, if you’re in any of these situations, and you want to clear DNS cache, here is how to flush DNS cache in Linux.
Note : I’m using an Ubuntu 16.10 “Yakkety Yak” system to demonstrate these methods. However, the process should be similar on most Linux distros.
Flush DNS Cache in Linux in 2020
Before we get to our tutorial, let’s see first if DNS caching is enabled on your machine or not.
Checking if DNS Caching is Enabled
All Linux distros do not behave the same way, when it comes to things like caching DNS. For example, Ubuntu, by default, doesn’t cache DNS. Before we try to clear DNS cache on a Linux machine, let’s check if caching is even enabled. To do this on an Ubuntu system, you can follow the steps below:
1. Launch Terminal, and type “ps ax | grep dnsmasq“.
2. In the output from the command, you will be able to see a field called “cache-size“. Check its value. If the value is zero, it means that caching is disabled on the system.
Note : If you want to enable DNS caching on Linux, you can do so by using the command “sudo dnsmasq -c 150”. You can use any number in place of 150, which is basically the number of entries that dnsmasq can cache.
Flush DNS Cache in Ubuntu
If your Linux system is caching DNS entries, then you can try to flush the DNS cache in order to get rid of any DNS related problems. To clear DNS cache in Ubuntu, you can follow the steps below:
1. Launch Terminal (ctrl + alt + T), and type “sudo /etc/init.d/dns-clean restart“.
2. Next, type the command “sudo /etc/init.d/networking force-reload”
This will clear your DNS cache in Ubuntu, and if the problems you were experiencing were due to DNS issues, they should now be gone.
Flush DNS Cache in DNS Services on Linux
Like I said, Ubuntu doesn’t cache DNS entries by default, however, if you have manually installed a DNS service such as nscd, you can clear its cache. Methods to clear cache for some common DNS services are given below:
Flush nscd DNS Cache
Flush dnsmasq DNS Cache
Flush BIND DNS Cache
- sudo rndc exec
- To clear DNS cache for LAN, use “sudo rndc flush lan“
Bonus: Change DNS Settings in Ubuntu
We’ve been talking about flushing the DNS cache in Ubuntu, however, there may be cases where you just want to make a change to the DNS settings in Ubuntu. If you want to change the DNS settings in Ubuntu, you can do that using the GUI, or via the Terminal.
Change DNS Settings using the GUI
Using the GUI to change DNS settings is easier than using the Terminal. However, if you use multiple connections, you will have to change the DNS setting for each one of them. To change DNS settings using the GUI, just follow the steps below:
1. Open System Settings, and click on Network.
2. Click on the arrow next to the name of the network you’re connected to.
3. Now, click on “Settings”. This will open up the settings for that connection.
4. Switch over to the IPv4 tab, and you’ll see an option called “Additional DNS Servers“. You can enter the DNS servers you want to use in this field. If you want to enter more than one DNS server, just separate them with commas.
Change DNS Settings using the Terminal
If you don’t want to use the GUI, and prefer changing DNS settings using the Terminal, you can do this by adding the nameservers to the dnsmasq config file. However, dnsmasq does not come installed by default in Ubuntu systems (dnsmasq-base, does). So, first you’ll have to install dnsmasq by launching a Terminal, and using “sudo apt-get install dnsmasq“.
- Once you have installed dnsmasq. You can edit the config file with “sudo nano /etc/dnsmasq.conf“.
- Here, you can add your DNS servers’ IP addresses where it says “Add other nameservers here“.
Clear DNS Cache in Linux Using These Methods
You can use any of these methods to clear DNS cache in a Linux system. Issues with DNS cache can cause problems such as a webpage not loading, nameserver changes not being recognized by your system, and a lot more. Once you flush DNS cache, these problems will most likely go away. So, have you ever had to flush the DNS cache on your Linux system? If so, what method did you use? If you know of any other method to clear the DNS cache on your Linux system, do let us know in the comments section below.
How to Change Directory in Linux Terminal
What Is Curl Command in Linux and How to Use It
10 Examples of rsync command in Linux
How to Create a User in Linux
How to Copy Files in Linux (2 Ways)
How to Create Symbolic Links in Linux
3 Comments
This is the third post I’ve read and none of the recommended commands show me anything about any DNS service running on my system; Debian 11 Buster. However, that can’t be right because I’m able to access web sites. What am I missing?
Thanks Akshay,
great article. I added the DNS-entry of the router.
But there is still a DNS-entry in System Settings that is incorrect and should be removed.
How can this be done?
With friendly greetings,
Martin
Hi Akshay, The obsolete DNS-entry was automatically removed after restarting the computer.
Almost did something like “nmcli con modify eth0 -ipv4.dns 192.168.1.1”.
With friendly greetings,
Martin