![DNS 服务器进出](https://linux22.com/image/525553/DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E5%87%BA.png)
我在内联网上设置了一个 DNS 服务器(Ubuntu 和 BIND)。大多数时候它工作正常,但有时我无法访问某些子域。例如,早上 foo.our.office 可能工作正常,但 bar.our.office 不工作。然后,过了一会儿,它们都工作正常。然后,过了一会儿,bar.our.office 和 foo.our.office 都不工作了。
如果我尝试直接在 DNS 服务器计算机上访问这些子域,它们总是可以正常工作。办公室里的所有计算机都使用有线连接,因此我认为这不是连接问题。
你知道发生了什么事吗?
答案1
我很好奇:是不是我告诉客户端计算机使用 DNS 服务器 A 和 B,其中 A 是我们的本地 DNS 服务器,B 是我们的 ISP 的 DNS 服务器?我是否应该仅将客户端计算机指向我们的本地 DNS 服务器,并让我们的 DNS 服务器转发它不知道如何处理的任何请求?
答案2
使用“dig”(linux/unix)或“nslookup”(windows)获取实时 DNS 服务器响应。请确保直接查询服务器。如果您根据使用浏览器访问时的外观来看,它非常不可靠,因为它可能被缓存,让您误以为服务器正在响应,而实际上并非如此。例如,一个网站可能有效,因为您昨天访问过该网站,并且它仍然被缓存。
答案3
查找客户端的配置。如果是 Windows 客户端,请在命令输出中查找“DNS”行
ipconfig /all
ubuntu 框中的 nslookup 命令查找 /etc/resolv.conf 中列出的名称服务器:将那里列出的服务器与 ipconfig /all 列出的服务器进行比较。
我建议所有客户端都指向您的内部 DNS,然后将其不知道的所有查询(=它不具有权威性的查询)转发到某些外部 DNS,例如您的提供商的 DNS。