Linux Couldn’t resolve host 解决办法

问题描述

所有域名无法正常解析。

尝试解决

网上查资料,有说修改 /etc/resolv.conf 文件,添加 nameserver 8.8.8.8 的解决方案,但尝试后发现重启网卡后 /etc/resolv.conf 文件会恢复到原来的状态。

重新查找资料发现:

原来在 CentOS 下面直接修改 /etc/resolv.conf 不行,因为该文件调用了 /etc/sysconfig/network-scripts/ifcfg-eth0 的配置预设,既然知道了这两个文件的工作原理,那么我们必须要在 /etc/sysconfig/ network-scripts/ifcfg-eth0 里面最后加上 dns 地址让 resolv.conf 来调用。否则重启后,因为 eth0 中没有预设 dns 的相关信息,就会使 /etc/resolv.conf 恢复到原来的状态,解析还是不成功。

此时, /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

其实,这里的提示已经很清楚了。提示没有找到域名服务器,请在 /etc/sysconfig/network-scripts 里面的配置文件添加 DNS 服务器。

解决方案

修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件(这里是第一块网卡 eth0)
原来的内容是:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=xxx.xxx.xxx.xxx
NETMASK=255.255.224.0
GATEWAY=xxx.xxx.xxx.x

在最后加上两行

DNS1=8.8.8.8
DNS2=8.8.4.4

改完后重启网卡

service network restart

重启后再查看 /etc/resolv.conf 文件是这样的:

# Generated by NetworkManager
search webhostbox.net
nameserver 8.8.8.8

再尝试 ping www.baidu.com 已经能正常解析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 两台主机两个路由设备通信 现有主机A和主机B,且中间有两个路由设备连接,主机A的IP地址为192.168.1.10...
    JevonWei阅读 5,180评论 0 3
  • aaa
    燕京博士阅读 5,861评论 1 3
  • 一、配置文件详解 在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /...
    FiveStrong阅读 5,732评论 0 3
  • 下面,就给大家介绍这些CentOS常用命令。 一:使用CentOS常用命令查看cpu more/proc/cpui...
    guiwuzhe阅读 7,410评论 1 25
  • 他终于登上了舞台 更新了一条消息: 还是家里的饭好吃。 在外,他对什么都挑剔 包括今天这一身的行头 浑身不自在,像...
    倩何人换取阅读 1,508评论 0 1

友情链接更多精彩内容