我正在尝试实现一种机制,当 DNS 服务器无法访问时,将使用默认地址发送快速回复(或任何内容,只要它很快,因为客户端 - asterisk - 同步请求该地址并且其 SIP 堆栈变得疯狂)。
我已经设置了 dnsmasq,并查看了 dig 回复,它工作正常,直到 ttl 变为零。然后,请求再次花费大量时间 - 10 到 20 秒。
我尝试添加选项 timeout:2 attempts:1 作为参数,但没有任何变化(重新启动 dnsmasq 等...),我尝试过 auth-ttl=1000,但也没有成功
平均 DNS 响应时间小于 100 毫秒且未缓存,我希望任何超过 1 秒的内容都返回错误,并且不会重试。
我可以这样做吗?怎么做?
谢谢你的帮助 - 操作系统是 Debian 8.5
答案1
它似乎是 dnsmasq 的编译时选项。
看dnsmasq-讨论http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2009q3/003297.html。
dnsmasq 中也有超时,只能通过重新编译来更改。在负载非常大的情况下,dnsmasq 只会保留查询 10 秒。它总是在 4 倍(即 40 秒)后丢弃未答复的查询。这在 src/config.h 中设置