Flush DNS on Linux: systemd-resolved & more (2026)
Flush the DNS cache on Linux with resolvectl flush-caches (systemd-resolved), plus nscd, dnsmasq and BIND. Commands by setup, with verification steps.
Sleezr Team

Table of Contents
Need to flush the DNS cache on Linux? On modern distributions using systemd-resolved, run:
sudo resolvectl flush-cachesUse it after editing /etc/hosts, changing resolvers, or testing a migration when a hostname still resolves to an old IP.
How to flush DNS on Linux
To flush DNS on Linux, run the command for your resolver:
sudo resolvectl flush-caches.sudo systemd-resolve --flush-caches.sudo systemctl restart nscd (or sudo nscd -i hosts).sudo systemctl restart dnsmasq.sudo rndc flush.Then verify with resolvectl query myproject.test or dig myproject.test.
Does Linux even cache DNS?
Plain glibc has no DNS cache, so editing /etc/hosts takes effect immediately. A cache exists only when you run a caching layer: systemd-resolved, nscd, dnsmasq, or a local resolver. If unsure which you use:
resolvectl status
systemctl is-active systemd-resolved nscd dnsmasqWhen to flush
- You edited
/etc/hostsand a tool still resolves the old IP. - You changed
/etc/resolv.confor your DNS server. - You moved a staging site to a new server before propagation.
For editing the file itself, see how to edit the hosts file on Linux or the Ubuntu-specific guide.
Verify the result
resolvectl query myproject.test
dig myproject.test
getent hosts myproject.testgetent hosts reflects the full name-service stack, including /etc/hosts.
Troubleshooting
- resolvectl not found: your system may not use systemd-resolved; use the nscd/dnsmasq command instead.
- Still cached in the browser: clear the browser DNS cache and retry in a new tab.
- WSL2: flush on the Windows host too with
ipconfig /flushdns.
If you manage many local domains across machines, Sleezr keeps hosts entries organized and consistent across Linux, macOS and Windows.
_Last tested: June 2026 on Ubuntu 24.04, Fedora 40 and Debian 12._
Sources and further reading
- How DNS works (Cloudflare Learning)
- hosts(5) manual page (man7.org)
- The hosts file explained (Wikipedia)
Frequently Asked Questions
How do I flush DNS on Linux with systemd-resolved?
Run sudo resolvectl flush-caches (older systems: sudo systemd-resolve --flush-caches).
Does Linux always cache DNS?
Not always. Plain glibc has no cache. Caching exists only if you run systemd-resolved, nscd, dnsmasq, or a local BIND resolver.
How do I flush dnsmasq?
Restart the service: sudo systemctl restart dnsmasq (or send SIGHUP to the dnsmasq process).
How do I verify the cache was cleared?
Use resolvectl query yourdomain.test or dig yourdomain.test and confirm the expected IP.
Related Articles
Flush DNS on Windows 10 & 11: ipconfig /flushdns (2026)
Flush the DNS cache on Windows 10 and 11 with ipconfig /flushdns. Step-by-step command, verification, and fixes when changes still do not apply.
Sleezr Team
Developer tools team
macOS 26 Tahoe: Flush DNS Cache Command (2026)
Flush DNS cache on macOS 26 Tahoe with the exact Terminal command, verification steps, browser cache checks, and hosts file troubleshooting.
Sleezr Team
Developer tools team
Flush DNS on Mac: Command for Sequoia, Sonoma & Tahoe (2026)
Flush DNS on Mac with sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder. Covers Sequoia, Sonoma, Ventura, Chrome cache, and links to the Tahoe guide.
Sleezr Team
/etc/hosts Not Working? Fixes for Windows, Mac & Linux
The hosts file is ignored or /etc/hosts changes do not take effect? Fix it on Windows, Mac and Linux: flush DNS, check syntax, IPv6, line endings, resolver caches and save permissions.
Sleezr Team
Developer tools team
Which TLD to Use for Local Development (.test vs .localhost)
Which TLD to use for local development: prefer .test, avoid .dev and .local. Why .test is reserved, how to map it in the hosts file, and HTTPS tips.
Sleezr Team
Developer tools team