目前,我正在使用简单的vanilla linuxconfigurationresolv.conf
…类似于:
nameserver 123.123.123.123 nameserver 8.8.8.8
当123.123.123.123closures时,DNS查询变得不可能慢,我假设Linux每次都重试第一个。 有没有办法让Linux更聪明? 健康检查什么的? 或者我误解了resolv.conf
应该如何工作?
除了ewwhite的真棒回应,还有一些附录。
你可以在/etc/resolv.conf
添加这个
options timeout:1 attempts:1 rotate
默认是时间:5次尝试:2
会发生什么情况是,如果没有rotate选项,parsing器库将尝试从上到下使用/etc/resolv.conf
列出的名称服务器。 如果存在旋转,则执行循环select。 如果parsing器到达列表的底部,并且服务器在X秒内没有响应(考虑到X是超时参数),那么它将重复循环select的整个过程Y-1次(其中Y是尝试值)。
不过有点谨慎的是为了避免挖掘和朋友来testing这些resolv.conf选项。 因为他们避免parsing器库,并直接询问名称服务器。 getent主机是更好的使用命令。 请注意,使用glibcparsing器的任何东西都必须遵守/etc/resolv.conf
文件。
这通过man resolv.conf
来描述。
请尝试其中一个超时选项以将默认值从5秒降低到大概1秒…
options timeout:1 nameserver 123.123.123.123 nameserver 8.8.8.8
但实际上,DNS具有如此多的可用性,可以在没有更低分辨率的情况下生存。 是否有可能select更好的公共DNS或运行你自己的内部parsing器?