我是靠谱客的博主 乐观期待,最近开发中收集的这篇文章主要介绍Linux Couldn’t resolve host 解决办法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述

所有域名无法正常解析。

  • ping www.baidu.com 等域名提示 Couldn’t resolve host 错误。
  • curl www.baidu.com 等网址提示 Couldn’t resolve host ‘www.baidu.com’ 错误

尝试解决

网上查资料,有说修改 /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 已经能正常解析

转载于:https://juejin.im/post/5a31cb54f265da43333e6896

最后

以上就是乐观期待为你收集整理的Linux Couldn’t resolve host 解决办法的全部内容,希望文章能够帮你解决Linux Couldn’t resolve host 解决办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部