我希望 Linux 只向 DNS 服务器发出一个请求,等待 5 秒超时,然后在没有答案的情况下中止查找。
为此,我设置了以下选项,/etc/resolv.conf
假设attempts
元素options
表示 DNS 请求的确切数量:
nameserver 'DNS Server IP address'
domain 'Domain Name'
options attempts:1 timeout:5
但系统的行为却出乎意料。事实上,对于这些设置,我观察到:
DNS request
Wait for a 5 sec timeout
DNS request repeat
Wait for a 5 sec timeout
如果我设置尝试次数:2,那么将会有 4 次请求。
我是否正确理解“1 次尝试”实际上意味着“发出请求然后在超时后重新请求”?
有没有办法改变这种行为,以便系统在 1 次尝试范围内只发送一个 DNS 请求?
谢谢
答案1
在我看来,您的解释是正确的。
您检查过这两个查询是什么吗?也许第一个查询用于AAAA
记录,第二个查询用于A
记录,这是正常行为。如果是这样,请尝试添加,inet6:off
同样options
,这可能很简单,但请验证您拥有的项目数量nameserver
。超时是针对每个项目的顺序。