How can I clear the DNS cache in DD-WRT on my router?

DD-WRT uses the dnsmasq daemon.

  • Besides the technically correct answers below, you could power cycle it... Commented Dec 16, 2015 at 10:53

6 Answers 6


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
  • There is no "sudo" on dd-wrt. There is not /etc/init.d on dd-wrt, nor any equivalent.
    – WhyNotHugo
    Commented May 6, 2012 at 3:28
  • Hmm... The code was just a quick example. Maybe I should delete it. Alternatively do you know the correct command for this env? Commented May 6, 2012 at 13:09
  • The other answer has the only way that I know of for restarting services on dd-wrt. Not too clean, but I don't know any other way.
    – WhyNotHugo
    Commented May 6, 2012 at 21:15
  • 1
    How about stopservice dnsmasq followed by startservice dnsmasq? See barrymorrison.com/tag/dd-wrt Commented May 7, 2012 at 2:08
  • Hadn't heard about it. Didn't find it after a quick google either. Great job :)
    – WhyNotHugo
    Commented May 7, 2012 at 6:35
killall -1 dnsmasq

Send HUP signal to tell it flush the cache an reread its configuration, thus starting over with a clean slate.

  • 2
    I think using SIGHUP is the cleanest method because the manpage notes it, and 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. Commented Apr 20, 2014 at 21:51
  • 2
    Actually it does not cause it to reread its configuration – that part is incorrect – but that doesn't matter for the question because the configuration doesn't need to be reread to clear the cache. Commented Apr 20, 2014 at 22:06

Since there are no init scripts on DD-WRT, I guess this would be the easiest way to restart dnsmasq:

  1. Kill dnsmasq:

    root@ddwrt6:~# killall dnsmasq
  2. 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

On 21.02 this is what worked.

service dnsmasq restart

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .