Cor*_*y J 7 domain-name-system ubuntu resolv.conf networkmanager ubuntu-10.04
我正在使用 Ubuntu 10.04 桌面,它默认带有“网络管理器”(我非常怀疑)。我在解析 2 个不同名称服务器上的 DNS 区域时遇到问题。
解决.conf:
$ cat /etc/resolv.conf
#Generated by Network Manager
search example.org
nameserver 10.0.0.20 #public nameserver, contains public.example.org
nameserver 10.0.0.30 #private nameserver, contains private.example.org
Run Code Online (Sandbox Code Playgroud)
和问题。首先列出的名称服务器将解析:
$ ping host.public.example.org
PING host.public.example.org (10.0.0.50) 56(84) bytes of data.
Run Code Online (Sandbox Code Playgroud)
列出的第二个不会:
$ ping host.private.example.org
ping: unknown host host.private.example.org
Run Code Online (Sandbox Code Playgroud)
但它在那里:
$ dig @10.0.0.30 host.private.example.org
...
;; ANSWER SECTION:
host.private.example.org. 3600 IN A 10.0.0.60
...
Run Code Online (Sandbox Code Playgroud)
如果我颠倒 /etc/resolv.conf 中名称服务器的顺序,那么 host.private 将可以访问,而 host.public 将无法访问。为什么?从 resolv.conf 手册页:
如果有多个服务器,解析器库会按列出的顺序查询它们。
不仅仅是 ping 有问题,当 Thunderbird 无法接收邮件时,我注意到了这一点,因为邮件服务器的 DNS 记录在列出的第二台服务器中。我在这里尝试做的事情不应该起作用吗?
mdp*_*dpc 14
Ahhhh....它不是真的那样工作。只要第一个名称服务器正在运行并处于活动状态,所有绑定请求都会转到它。您到达第二个名称服务器的唯一方法是列表中的前一个名称服务器是否已死并且在 LONG 超时之后。
为了解决您的问题,我猜您可能需要构建一个本地缓存 DNS 服务器配置并将两个区域的名称服务器定向到两个不同的服务器。然后将您的解析器配置设置为使用主机的 IP。
本技巧将向您展示如何通过使用多个名称服务器来改进 DNS 查找。如果您的主 DNS 服务器因任何原因无法访问,这将非常有用。
名称服务器列在 /etc/resolv.conf 中,每行一个。
代码清单 1:示例 /etc/resolv.conf
名称服务器 192.168.1.1
名称服务器 10.0.0.1
要改进 DNS 查找,请向 /etc/resolv.conf 添加多个 DNS 服务器(最好在不同的子网上)和以下选项:
代码清单 2:/etc/resolv.conf 选项
选项轮换
选项超时:1
这将轮流使用名称服务器并等待最大。在尝试下一个之前回答 1 秒。
| 归档时间: |
|
| 查看次数: |
12892 次 |
| 最近记录: |