CentOS DNS 不工作-无法解析任何主机名

CentOS DNS 不工作-无法解析任何主机名

我在 CentOS 6.4 上运行 Linux VPS,并通过 putty 远程登录

我对 /etc/sysconfig/selinux 文件进行了更改:

在/etc/sysconfig/selinux中

# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled  (default was 'enforcing')

因此我重启了服务器:

shutdown -r now

现在它已重新启动并运行,但无法解析任何主机名:

当我做:

wget http://wordpress.org/latest.tar.gz

我收到以下错误:

Resolving www.wordpress.org... failed: Temporary failure in name resolution.

即使我这样做:

nslookup google.com

它不起作用,同样的错误:无法解析主机名。

我的服务器 DNS 出了什么问题?

谢谢

更新:这是我的 /etc/resolv.conf 文件的输出

# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com

另外,我可以 ping IP 地址。所以这是 DNS 问题

答案1

只需添加一个解析器即可/etc/resolv.conf配置名称解析,但可能不会持续。这是旧的做法,并假设您的主机没有运行 NetworkManager。NetworkManager 将尝试为您管理这些文件,如果您手动编辑它们,您会发现它们被覆盖了。这可能是发生的情况,因为症状是在重启后出现的。

要使用此方法,您还需要确保 NetworkManager 已停止并禁用。

chkconfig NetworkManager off; service NetworkManager stop 

或者,您可以按照第一行建议进行操作并在(通常是 eth0...)/etc/resolv.conf中配置您的名称服务器。/etc/sysconfig/network-scripts/ifcfg-eth0

DNS1=8.8.8.8
DNS2=8.8.4.4
DOMAIN=localdomain

答案2

根据您的 reslove.conf 文件,所有内容都已用 # 注释掉。您可以将其添加到您的 resolve.conf 中

名称服务器 8.8.8.8

名称服务器 8.8.4.4

并保存。你可以将 google 公共 dns 替换为你想要的任何 dns。试试看。

答案3

我确信这是您的 /etc/resolv.conf 文件。在您的 /etc/resolv.conf 文件中添加 8.8.8.8 和 8.8.4.4,这些是用于 Google DNS。因此您的文件应该包含下面列出的条目。完成后,在 www.google.com 上执行 nslookup,一切应该都很好。

名称服务器 8.8.8.8

名称服务器 8.8.4.4

相关内容