我在 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