我想更改我的 dnsmasq 缓存,这样当我查找某些域时,它会给我我想要它服务的 IP 地址(不一定是该域的实际 IP)。这基本上就像毒害我自己的 DNS 服务器,但不是远程的。
dnsmasq 的缓存保存在哪里?我该如何更改它?
答案1
缓存位于内存中,并未保存到文件系统。来自man dnsmasq
:
The cache statistics are also available in the DNS as answers to queries of class CHAOS and type TXT in domain bind. The domain names are cachesize.bind, insertions.bind, evictions.bind, misses.bind, hits.bind, auth.bind and servers.bind. An example command to query this, using the dig utility would be dig +short chaos txt cachesize.bind
答案2
您可以将这些域名放入/etc/hosts
。不要忘记重新启动 dnsmasq,否则它将无法重新加载。
Dnsmasq 读取并使用来自的数据/etc/hosts
,这是我使用它的原因之一。我不确定它是否总是这样做,或者它是可配置的。
答案3
你不需要改变 dnsmasq 的缓存内容,但需要预先填充它——
在 /etc/dnsmasq.d/ 下创建一个.conf
文件,例如,/etc/dnsmasq.d/dbab.adblock.conf
格式为
address=/101com.com/192.168.2.101
address=/101order.com/192.168.2.101
...
有关详细信息,请参阅
https://sfxpt.wordpress.com/2015/11/22/dbab-from-start-to-finish/
在“常见问题解答:如何将这些不良网站列入黑名单“。