每当我在CentOS服务器上进行任何需要DNS查询的事情时,我都会收到错误消息。 例如:
[root @ 15557 etc]#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 ...失败:名称parsing暂时失败。 wget:无法parsing主机地址“www.whitehouse.gov”
如果我重新启动服务器,那么这个问题会在很短的时间内消失,但是一小时之后总会回来。 如果我更改了resolv.conf列出的名称服务器的IP地址,问题并不是固定的,即使我用像8.8.8.8这样的通用名称服务器replace它们。 如果在更改resolve.conf之后刷新主机caching,它也不能解决问题。 服务器重新启动后, resolv.conf被更改回它的默认值(我猜是通过一些DHCP)。
这可能是由DHCP服务器引起的一个问题 – 实际上,由networking上的恶意或其他错误configuration的DHCP服务器引起。
可能发生的情况是:服务器启动时,pipe理员从合法的DHCP服务器获取准确的参数( IP地址,网关,DNS服务器等 ),结果,直到租约续约。 经过相对较短的时间( 取决于DHCP客户端和服务器configuration ),DHCP客户端将尝试通过联系合法的DHCP服务器(通过单播传输)来续订租约。 如果由于某种原因,或者你的DHCP客户端由于某种原因没有得到来自合法的DHCP服务器的响应,它将进入重新绑定状态并且将广播一个请求来延长租约时间。 如果恶意/另一个configuration错误的DHCP服务器设法首先响应,它可能会向您的DHCP客户端发送无效的参数,例如“错误”的DNS服务器地址,因此您将无法parsing主机名。
如果我的猜测是正确的,重新启动服务器并不总能解决问题,因为有时候DHCP服务器可能会首先响应,结果你遇到了你提到的问题。
无论如何,请尝试configuration静态IP地址,禁用DHCP并手动设置DNS服务器。 另外你也许应该检查你的networking上是否有其他的DHCP服务器在运行,除了你正在使用的那个。
就我而言,我将fw规则设置为错误的界面。 所以端口53没有打开,服务器不能做一个DNS请求