How can I clear the DNS cache in DD-WRT on my router?
DD-WRT uses the dnsmasq daemon.
According to Flush dnsmasq dns cache:
dnsmasq is a lightweight DNS, TFTP and DHCP server. It is intended to provide coupled DNS and DHCP service to a LAN. Dnsmasq accepts DNS queries and either answers them from a small, local, cache or forwards them to a real, recursive, DNS server. This software is also installed many cheap routers to cache dns queries. Just restart to flush out dns cache:
# stopservice dnsmasq # startservice dnsmasq stopservice dnsmasq followed by startservice dnsmasq? See barrymorrison.com/tag/dd-wrt restart_dns killall -1 dnsmasq Send HUP signal to tell it flush the cache an reread its configuration, thus starting over with a clean slate.
dnsmasq may not clear the cache on restart. Though I'd have put # killall -HUP dnsmasq rather than # killall -1 dnsmasq because it is easier to remember/understand. Since there are no init scripts on DD-WRT, I guess this would be the easiest way to restart dnsmasq:
Kill dnsmasq:
root@ddwrt6:~# killall dnsmasq Start dnsmasq:
root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf I've always used:
killall -1 dnsmasq which has worked fine for me. I'm running some of the newer versions of DD-WRT and
stopservice dnsmasq startservice dnsmasq also seemed to work without error or needing sudo...
Restart the dnsmasq service, either from the user interface.
Or from the command line interface via
/init.d/dnsmasq restart