首页 Linux网维 linux下ping域名报错,提示Name or service not known

linux下ping域名报错,提示Name or service not known

一. 问题现象 linux下ping域名失败,提示Name or service not known,但可以ping公网IP正常。 二. 问题根因 出现该问题通常有三个原因: /e…

一. 问题现象
linux下ping域名失败,提示Name or service not known,但可以ping公网IP正常。

二. 问题根因
出现该问题通常有三个原因:

/etc/resolv.conf未配置DNS地址或者DNS地址错误导致。
/etc/nsswitch.conf文件删除DNS解析记录导致。
/lib64/libnss_dns.so.2库文件丢失导致无法解析域名。
说明:
执行以下命令,查看解析域名打开的所有文件。
# strace -e trace=open ping www.baidu.com -c 1
该结果中出现的所有文件都会影响域名解析。
三. 处理方法
1. 场景一:/etc/resolv.conf未配置DNS地址或者DNS地址错误导致。
/etc/resolv.conf中最关键的是nameserver项,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。

nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下一个的nameserver。

请检查/etc/resolv.conf中配置的DNS地址。

# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
2. 场景二:/etc/nsswitch.conf文件删除DNS解析记录导致
# 执行命令: grep hosts /etc/nsswitch.conf
# hosts没有dns则按下面添加
#hosts: db files nisplus nis dns
hosts: files dns myhostname

说明:
hosts项的值代表按优先级顺序列出服务,这些服务用于查找域名的IP地址。
“file”表示使用/etc/hosts文件,“ dns”表示使用域名服务。如果“file”位于“ dns”之前,
则意味着系统将首先尝试在/etc/hosts中查找域名,然后才通过DNS查找(这是默认配置)。如果
未配置dns则不会使用DNS查找。
3. 场景三:/lib64/libnss_dns.so.2库文件丢失导致无法解析域名。
# 执行命令: rpm -V glibc 报错missing /lib64/libnss_dns.so.2则执行下面命令
ln -s /usr/lib64/libnss_dns-2.17.so /usr/lib64/libnss_dns.so.2

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部