sto*_*orm 0 domain-name-system ubuntu resolv.conf named-conf
在我对 Ubuntu 中的 DNS 创建过程进行故障排除时,我注意到以下文件显得多余:
etc/bind/named.conf.options(或named.conf 的一部分,取决于文件的设置方式)
forwarders {
1.2.3.4;
5.6.7.8;
9.10.11.12;
};
Run Code Online (Sandbox Code Playgroud)
等/resolv.conf
domain example.com
nameserver 1.2.3.4
nameserver 5.6.7.8
nameserver 9.10.11.12
Run Code Online (Sandbox Code Playgroud)
通常,当进行这样的观察时,我会发现我做错了什么,所以如果我错了,请纠正我。似乎named.conf 喜欢有机器的net ip 和resolv.conf 应该有127.0.0.1。除此之外,他们应该拥有我的 isp dns 的 ip,这将是相同的。谢谢您的帮助。
很难回答清楚,因为我不知道你想要完成什么:
如果您打算在您的服务器上运行本地 DNS 解析器,您将指向/etc/resolv.conf您的本地 BIND 服务器 (127.0.0.1) 并让 BIND 从根名称服务器开始解析,就像任何其他名称服务器一样。您的named.conf. 严格来说,通过保留“转发器”条目,您会稍微减少根名称服务器上的负载。
如果您只是想在您的机器上进行 DNS 解析,但不需要自己运行 DNS 服务器,那么请不要担心named.conf,只需指向/etc/resolv.conf您的 ISP 的 DNS 服务器即可。
编辑:
我突然想到我没有回答你标题中的问题。
/etc/resolv.conf是您计算机上的解析器库(libc 的一部分)使用的文件,每个程序都使用它来请求 DNS 查找。当您的 Web 浏览器想要进行 DNS 查找时,它会调用gethostbyname('www.blah.com')(或其衍生工具之一)。该函数做了很多事情,其中包括读取/etc/resolv.conf和使用它来确定它可以要求哪个 DNS 服务器执行查找。
/etc/named.conf由 BIND 使用。通常,当您向 BIND 发出请求时,它会检查其本地缓存,如果它没有解析器,则会询问其中一个根名称服务器。根服务器“委托”给(通常)一个 GTLD 或国家级服务器。然后这些服务器将委托给域的所有者。通常它会停在那里,但有时子域会有一两个以上的委派级别。这总共需要 3 - 5 个查询才能得到答案。然后将答案添加到本地缓存并返回给发出请求的客户端。如果您指定“转发器”,BIND 只会向列出的主机之一(通常是您的 ISP 的 DNS 服务器)发出单个请求,并让它们完成所有繁重的工作。它获得对其单个查询的答复,并将答复交还给客户端。
| 归档时间: |
|
| 查看次数: |
8879 次 |
| 最近记录: |