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

Dex*_*ave 6 domain-name-system centos

我在 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')
Run Code Online (Sandbox Code Playgroud)

所以我重新启动了我的服务器:

shutdown -r now
Run Code Online (Sandbox Code Playgroud)

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

当我做:

wget http://wordpress.org/latest.tar.gz
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Resolving www.wordpress.org... failed: Temporary failure in name resolution.
Run Code Online (Sandbox Code Playgroud)

即使我这样做:

nslookup google.com
Run Code Online (Sandbox Code Playgroud)

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

我的服务器 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
Run Code Online (Sandbox Code Playgroud)

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

Aar*_*ley 15

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

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

chkconfig NetworkManager off; service NetworkManager stop 
Run Code Online (Sandbox Code Playgroud)

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

DNS1=8.8.8.8
DNS2=8.8.4.4
DOMAIN=localdomain
Run Code Online (Sandbox Code Playgroud)