whi*_*222 11 networking domain-name-system linux centos
每当在我的 CentOS 服务器上执行任何需要 DNS 查找的操作时,我都会收到一条错误消息。例如:
[root@15557 等]# wget http://www.whitehouse.gov/sites/default/files/rss_viewer/birth-certificate-long-form.pdf --2011-05-03 20:55:35-- http://www.whitehouse.gov/sites/default/files/rss_viewer/birth-certificate-long-form.pdf 解析 www.whitehouse.gov... 失败:名称解析暂时失败。 wget:无法解析主机地址“www.whitehouse.gov”
如果我重新启动服务器,那么这个问题会在短时间内消失,但它总是在一个小时左右后再次出现。如果我更改 中列出的名称服务器 IP resolv.conf
,即使我将它们替换为像 Google 的8.8.8.8
. 如果我在更改后刷新主机缓存resolve.conf
,它也不能解决问题。重新启动服务器后,将resolv.conf
更改回它的默认值(我猜是某些 DHCP)。
这可能是由 DHCP 服务器引起的问题——实际上,是由网络上的流氓或其他配置错误的 DHCP 服务器引起的。
可能是这样:当您的服务器启动时,它设法从合法的 DHCP 服务器获取准确的参数(IP 地址、网关、DNS 服务器等),因此,在租用之前您不会遇到任何问题更新。经过一段相对较短的时间(这取决于 dhcp 客户端和服务器配置),DHCP 客户端将尝试通过联系合法的 DHCP 服务器(通过单播传输)来更新租约。如果由于某种原因失败或您的 dhcp 客户端由于某种原因没有得到合法 DHCP 服务器的响应,它将进入重新绑定状态并广播请求以延长租用时间。如果流氓/另一个配置错误的 DHCP 服务器设法首先响应,它可能会向您的 DHCP 客户端发送不准确的 参数 - 例如“错误”的 DNS 服务器地址,因此您将无法解析主机名。
如果我的猜测是对的,重启服务器并不总是解决问题,因为有时流氓 DHCP 服务器可能首先响应,结果您会遇到您提到的问题。
无论如何,请尝试配置静态 IP 地址、禁用 DHCP 并手动设置 DNS 服务器。此外,除了您正在使用的服务器之外,您还应该检查您的网络上是否正在运行任何其他 DHCP 服务器。