【DNS】Linux 能PING IP 但不能PING 主机域名的解决方法

一 、问题背景

最近碰到了这么一个非常奇怪的问题:
ping一个域名domain_name的时候提示”ping: unknown host domain_name“,但是ping域名对应的IP地址 (使用host或nslookup获取) 却没有问题。

二、相关背景知识

libc && glibc

标准C库 (the standard C library) 实现了ISO C标准,包含了一套所有C程序都可以使用的函数。libc通常被用作the standard C library的简写。

libc也被用作一个标准C库的实现的名字。在19世纪90年代早期,Linux内核的开发者把glibc 1.x独立了出来 (forked glibc),并把它称为”Linux libc”,也简称为libc。Linux libc主要发布了2, 3, 4, 5四个版本。

1997年,FSF发布了glibc 2.0,它对POSIX标准有更好的支持,并且代码的可移植性更好。因此,现在所有主要的Linux发行版都是使用glibc。

Linux libc的最后的so-name是libc.so.5,因此后来的glibc 2.x使用的so-name是libc.so.6。

网络信息服务(Network Information Service, NIS)

NIS也曾被称YP (Yellow Pages),它是一个基于RPC (Remote Procedure Call Protocol) 的客户机/服务器系统,允许一个NIS域中的一组机器共享一系列配置文件。

在NIS环境中,有主服务器、从服务器和客户机三种类型的主机。服务器的作用是充当主机配置信息的中央数据库。主服务器上保存着这些信息的权威副本,而从服务器则是保存这些信息的冗余副本。

客户机依赖于服务器向它们提供这些信息。

DNS Resolver

一个域名 (Domain Name) 由一个或多个标签 (label) 组成,标签之间用点隔开。

最右端的标签代表顶级域 (top-level domain,TLD)。DNS (Domain Name System, 域名解析系统) 是互联网的一项核心服务,它是一个分布式层次化的系统,能够将域名和IP地址相互映射。

DNS通过允许一个域名服务器把它的一部分域名解析服务委托给子服务器而实现了一种层次化的域名空间。

DNS由解析器 (Resolver) 和域名服务器两部分组成。

DNS系统的客户端被称为DNS解析器 (DNS Resolver)。

在Linux系统上,解析器并不是特指某个应用程序,而是指解析器库。这个库包含了标准C库中的一系列函数,最主要的两个函数是gethostbyname()和gethostbyaddr(),可以对DNS解析器进行配置,使得它们查找/etc/hosts中的信息、查询DNS服务器或者使用网络信息服务系统的配置信息。

libc使用/etc/host.conf配置文件,而glibc使用/etc/nsswitch.conf配置文件。

/etc/host.conf中主要的选项有:

(1) order指定域名解析的查找顺序,其中hosts表示/etc/hosts配置文件;bind表示查询DNS服务器;nis表示查询NIS系统的配置信息。

(2) multi [on|off]指定/etc/hosts中的主机是否可以有多个IP地址。

/etc/nsswitch.conf是名字服务开关 (name service switch) 的配置文件,其中对应DNS解析器的数据库名字是hosts:。
它的主要选项有:
(1) dns表示使用DNS解析地址
(2) files表示使用/etc/hosts和/etc/network配置文件
(3) nis或nisplus。

DNS服务器在/etc/resolv.conf中配置。

ping

ping命令用来测试网络上的一台主机是否能够连通。
ping命令向目标主机发送ICMP (Internet Control Message Protocol) 回声请求消息然后等待目标主机的回应,与此同时计算消息从源主机到目标主机的往返时间 (round-trip time,RTT)。

三、问题解决

首先,能够ping域名对应的IP,显然不可能是服务器禁止了ping服务 (使用防火墙等)。host和nslookup能够返回域名对应的IP地址,那么/etc/resolv.conf中的DNS设置也是没有问题的。

事实上,使用ping命令处理一个域名的时候,是使用gethostbyname()函数返回对应的主机信息 (参加源代码); 而host和nslookup则是直接使用/etc/resolv.conf中的DNS服务器。因此,需要查看/etc/nsswitch.conf中的hosts:数据库是否打开了dns选项。

vi /etc/nsswitch.conf

hosts: files dns
 
networks: files

改成:

hosts: files dns wins
 
networks: files

如果不一样的话,就在hosts:原来那行后面加个wins 就行了。

四、参考

Linux 能PING IP 但不能PING 主机域名的解决方法
https://www.cnblogs.com/gaoyuechen/p/8378138.html

nslookup-OK-but-ping-fail问题处理
https://plantegg.github.io/2019/01/09/nslookup-OK-but-ping-fail

Linux系统下的/etc/nsswitch.conf文件
https://blog.csdn.net/waqwn/article/details/51687719

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容