困扰我n久的问题: Mac下的dnsmasq该怎么清空dns缓存?

2012-02-23 20:53:59 +08:00
 xream
openwrt上restart一下就ok

但是Mac上的:
重启dnsmasq无效
sudo killall -s SIGHUP dnsmasq无效
也不是用的mac的缓存机制 dscacheutil -flushcache无效
14139 次点击
所在节点    DNS
5 条回复
shao
2012-02-24 00:15:09 +08:00
我假设一下,如果我修改dnsmasq.conf后,直接sudo kill dnsmasq,dnsmasq自动重启加载新的conf配置。 可想而知,应该是刷新了cache。

我去试试看。
shao
2012-02-24 00:20:24 +08:00
试验结果如下:
dnsmasq.conf 增加纪录 address=/test-abc.com/127.0.0.1
sudo kill dnsmasq
nslookup
test-abc.com 127.0.0.1
修改dnsmasq.conf address=/test-abc.com/192.168.1.254
sudo kill
nslookup
test-abc.com 192.168.1.254

lion 10.7.3
xream
2012-02-24 00:32:36 +08:00
@shao 我说的是dns缓存...不是配置. 比如test.com没挂vpn, 被污染了, 解析成了某个ip. 挂了vpn之后,清空缓存, 应该解析为正确的ip. 但是我试了上面的几个方法,都没法清空缓存, 仍然不能解析为正确的ip.
adrianzhang
2014-01-28 22:52:21 +08:00
你挂VPN跟DNS污染没直接关系,要污染,挂不挂都污染。你在配置里更改了VPN高级里的DNS设定才跟VPN有关系,这样又跟你的dnsmasq没关系。总而言之你是把两个事情搞到一起了。

可以看看你的dnsmasq缓存里到底是什么条目就天下大白了。缓存是在内存中的,根据这个来查看:

http://my.safaribooksonline.com/book/networking/linux/9780596102487/4dot-building-a-linux-wireless-access-point/managing_dnsmasqs_dns_cache
sammo
2017-01-28 21:15:23 +08:00
sudo dnsmasq -C /usr/local/etc/dnsmasq.conf
dig baidu.com ( Query time: 402 msec )
dig baidu.com ( Query time: 0 msec ) // 已经缓存了
dig baidu.com ( Query time: 0 msec )

sudo pkill dnsmasq
sudo dnsmasq -C /usr/local/etc/dnsmasq.conf
dig baidu.com ( Query time: 402 msec ) // 说明缓存已消失,这是重新 dig 的
dig baidu.com ( Query time: 0 msec ) // 已经缓存了
dig baidu.com ( Query time: 0 msec )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/28005

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX