如何清除DD-WRT上的DNS缓存


27

如何清除路由器上DD-WRT中的DNS缓存?

DD-WRT使用dnsmasq守护程序。


除了下面的技术上正确的答案,您还可以对其重新通电...
Hayden Thring

Answers:


21

根据Flush dnsmasq dns缓存

dnsmasq是轻量级的DNS,TFTP和DHCP服务器。它旨在向局域网提供耦合的DNS和DHCP服务。Dnsmasq接受DNS查询,并从小型本地缓存中回答它们,或将其转发到真实的递归DNS服务器。该软件还安装了许多廉价路由器来缓存dns查询。只需重新启动即可清除dns缓存:

# stopservice dnsmasq
# startservice dnsmasq

dd-wrt上没有“ sudo”。dd-wrt上没有/etc/init.d,也没有任何等效文件。
WhyNotHugo'5

嗯...代码只是一个简单的例子。也许我应该删除它。另外,您知道此环境的正确命令吗?
贾斯汀·埃斯蒂尔2012年

我知道的另一个答案是重启dd-wrt上的服务的唯一方法。不太干净,但我不知道其他方式。
WhyNotHugo 2012年

1
怎么样stopservice dnsmasq,然后startservice dnsmasq?参见barrymorrison.com/tag/dd-wrt
贾斯汀·

还没听说。快速谷歌搜索后也没有找到它。
做得好

18
killall -1 dnsmasq

发送HUP信号告诉它刷新高速缓存,以重新读取其配置,从而从头开始。


1
我认为使用SIGHUP是最干净的方法,因为联机帮助页对此进行了说明,并且dnsmasq可能不会在重新启动时清除缓存。虽然我会说# killall -HUP dnsmasq而不是# killall -1 dnsmasq因为它更容易记住/理解。
James Haigh 2014年

1
其实它并没有导致它重新读取配置-这部分是不正确-但因为配置并不需要重读清除缓存不要紧的提问。
James Haigh 2014年

7

由于DD-WRT上没有初始化脚本,我想这将是重新启动dnsmasq的最简单方法:

  1. 杀死dnsmasq:

    root@ddwrt6:~# killall dnsmasq
    
  2. 启动dnsmasq:

    root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf 
    

3

我一直使用:

killall -1 dnsmasq

对我来说很好。我正在运行一些较新版本的DD-WRT和

stopservice dnsmasq
startservice dnsmasq

似乎也没有错误或需要sudo ...


1

从用户界面重新启动dnsmasq服务。

或从命令行界面通过

/init.d/dnsmasq restart
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.