假设我工作的环境有很多域名变更,而且传播速度很慢。
我想在设置更改后立即测试域配置,但传播速度很慢。因此,我想/etc/resolv.conf
在我的 Debian 6.0.3 笔记本电脑的文件中添加更多名称服务器。特别是我的域名注册商的域名服务器。我通过添加以下内容来实现:
append domain-name-servers 85.128.130.10, 194.204.152.34;
到我的/etc/dhcp/dhclient.conf
文件。重新连接到网络后,我的/etc/resolv.conf
更新已正确,但出现以下消息:
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
那么有没有办法同时使用3个以上的域名服务器呢?
答案1
答案2
这就是我让 Debian 同时使用 3 个以上域名服务器的方法。
安装域名解析包裹
将我的本地 DHCP 客户端配置为不使用 DHCP 服务器提供的 DNS 服务器地址,而仅使用本地服务器。为此,我在
/etc/dhcp/dhclient.conf
文件中添加以下行supersede domain-name-servers 127.0.0.1;
配置域名解析不要使用默认
/etc/resolv.conf
文件,而是使用它自己的替代文件。添加/etc/dnsmasq.conf
以下行resolv-file=/etc/resolv.dmasq
/etc/resolv.dmasq
使用任意数量的名称服务器进行创建。重新启动
dnsmasq
服务。
我使用 9 个不包含我的域的已定义名称服务器对其进行了测试。系统无法解析其名称。当我添加第 10 个名称服务器时,系统正确解析了其名称。
答案3
来自resolv.conf:
最多可以列出 MAXNS(当前为 3 个)名称服务器,每行一个。如果有多个服务器,解析器库将按列出的顺序查询它们。如果不存在名称服务器条目,则默认情况下使用本地计算机上的名称服务器。 (使用的算法是尝试一个名称服务器,如果查询超时,则尝试下一个,直到用完名称服务器,然后重复尝试所有名称服务器,直到执行了最大重试次数。)
一旦尝试了所有名称服务器,并且查询失败,默认情况下将返回主机未找到消息。
您可以在conf文件中重复下面的同一行,以便
nameserver
添加多个指令吗?每行nameserver
指令最多支持 3 个 DNS 地址(每行)。请注意,仅尝试过一台主机,该主机位于 resolv.conf 列表的顶部;如果在第一台服务器上找不到地址或无法访问该服务器,则仅尝试第二台服务器,如果第二台服务器上的查询失败,则继续第三台服务器。在主机解析期间,不会从 resolv.conf 中循环或随机选择名称服务器,因此尝试所有名称服务器的成本将直接对底层系统/应用程序的性能造成负担。
但是,我认为您最好实现本地缓存名称服务器,如果 dns 调用数量减少/也取决于延迟,则使用/取决于主机解析的应用程序的 DNS 性能的提高将会增加。
另一种方法是使用 openDNS 服务器,它们可能拥有互联网上更新最快且服务速度最快的 DNS 服务器。
答案4
我建议使用dig
本地解析器来测试 DNS 区域的更改。您可以指定要查询的 DNS 服务器
$ dig @8.8.8.8 name.to.resolve
(将查询发送至8.8.8.8)。这样,您不需要对测试的主机进行管理控制,并且可以调整大量查询详细信息。您还可以看到有关回复的更多详细信息。