清除 dnsmasq 缓存而不重新启动服务

blu*_*ast 3 vpn networking dns cache dnsmasq

我在我的中启用了缓存dnsmasq,因为它速度很快

在某些情况下(例如,VPN 关闭),dnsmasq缓存错误的结果。我想要一种快速清理缓存的方法(例如,当我连接到 VPN 时)。重新启动服务可以,但速度很慢(需要几秒钟)。我尝试过发送SIGHUP,它按预期重新加载配置,但不会刷新缓存。

有没有办法dnsmasq在不重新启动的情况下刷新缓存?

Sim*_*nks 5

如果将以下内容添加到 dnsmasq.conf 中,这将允许您在重新加载而不是重新启动时清除缓存。

clear-on-reload
Run Code Online (Sandbox Code Playgroud)

然后我们要清除缓存并触发重新加载。

pkill -HUP dnsmasq
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令检查缓存的内容(将统计信息转储到日志)

pkill -USR1 dnsmasq
Run Code Online (Sandbox Code Playgroud)