Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ping域名提示 unknown host,ping IP正常,nslookup解析域名正常怎么解决?

ping域名提示 unknown host,ping IP正常,nslookup解析域名正常怎么解决?

作者头像
大大大黑白格子
发布于 2020-06-11 02:07:19
发布于 2020-06-11 02:07:19
11K00
代码可运行
举报
文章被收录于专栏:云服务笔记云服务笔记
运行总次数:0
代码可运行
问题现象:
ping 域名时不能解析域名,ping IP可以,初步看机器网络是正常的
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@BJ-CentOS7 ~ # ping baidu.com
ping: unknown host baidu.com
root@BJ-CentOS7 ~ # ping -c 2 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=251 time=96.6 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=251 time=100 ms
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 96.635/98.431/100.227/1.796 ms
问题分析:
从问题现象看,这里我们怀疑是不是 DNS 配置有问题呢?于是测试发现nslookup可以正常解析域名,DNS配置是没错的
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@BJ-CentOS7 ~ # nslookup baidu.com
Server:     183.60.83.19
Address:    183.60.83.19#53
Non-authoritative answer:
Name:   baidu.com
Address: 123.125.115.110
Name:   baidu.com
Address: 220.181.57.216
root@BJ-CentOS7 ~ # grep nameserver /etc/resolv.conf 
nameserver 183.60.83.19
nameserver 183.60.82.98

这里查阅资料了解到,原来 ping 程序解析域名依赖于C库中的函数 gethostbyname() 和 gethostbyaddr(),而这里对应的配置文件 /etc/nsswitch.conf 中的hosts 配置项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
files 表示使用 /etc/hosts 和 /etc/network 配置文件
dns 表示使用 /etc/resolv.conf 文件中的 DNS解析地址
nis 表示查询NIS系统的配置信息
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@BJ-CentOS7 ~ # grep hosts /etc/nsswitch.conf
#hosts:     db files nisplus nis dns
hosts:      files 
root@BJ-CentOS7 ~ # cat /etc/hosts
127.0.0.1  localhost  localhost.localdomain  VM_1_10_centos
root@BJ-CentOS7 ~ # ping -c 2 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.035 ms
--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.023/0.029/0.035/0.006 ms

验证发现果然写在 hosts 文件中的地址可以正常被 ping 程序解析,问题基本清楚,nslookup 是直接使用 /etc/resolv.conf 中的 DNS 服务器解析域名,而 ping 程序在没有在 /etc/nsswitch.conf 中的 hosts: dns 选项,所以无法解析 /etc/hosts 文件中不存在的解析记录

解决方案:
在 /etc/nsswitch.conf 文件的 hosts 配置项中添加 dns 选项,则可以使用 /etc/resolv.conf 中的 DNS 服务器解析域名,再次测试,可以正常解析域名了
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root@BJ-CentOS7 ~ # grep hosts /etc/nsswitch.conf
#hosts:     db files nisplus nis dns
hosts:      files dns
root@BJ-CentOS7 ~ # ping -c 2 baidu.com
PING baidu.com (220.181.57.216) 56(84) bytes of data.
64 bytes from 220.181.57.216: icmp_seq=1 ttl=250 time=9.05 ms
64 bytes from 220.181.57.216: icmp_seq=2 ttl=250 time=9.06 ms
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 9.051/9.057/9.063/0.006 ms
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
容器DNS介绍
DNS服务是域名系统的缩写, 英文全称:Domain Name System,将域名和IP地址相互映射。在容器环境中,DNS至关重要,例如在Kubernetes集群中,通常一组Pod由一个Service负载,但是Service的IP地址有可能需要变动,那么就可以让Pod通过域名的方式去访问Service,Pod无需理会IP地址的变化。
Se7en258
2021/05/18
3.9K0
容器DNS介绍
10.11 Linux网络相关
linux网络相关 ifconfig查看网卡ip(yum install net-tools) ifup ens33/ifdown ens33 设定虚拟网卡ens33:1 mii-tool ens33 查看网卡是否连接 ethtool ens33 也可以查看网卡是否连接 更改主机名 hostnamectl set-hostname aminglinux DNS配置文件/etc/resolv.conf /etc/hosts文件 ifconfig命令 在centos7中,只能只用默认的 ip addr命令查看I
运维小白
2018/02/06
1.3K0
10.11 Linux网络相关
[Centos7]安装及配置bind(DNS服务)
本文编写于 205 天前,最后修改于 205 天前,其中某些信息可能已经过时。 1.环境 内网IP:192.168.3.8 系统:Centos7 2.安装 yum -y install bind* 3.修改bind配置文件 vi /etc/named.conf options { listen-on port 53 { 127.0.0.1; any; }; #监听任何ip对53端口的请求 allow-query { localhost; any; }; #接收任何
贰叁壹小窝
2020/07/22
3K0
DNS:DNS问题故障排查的一些笔记
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2023/08/21
1.9K0
DNS:DNS问题故障排查的一些笔记
Temporary failure in name resolution
    最近在使用yum方式安装perl-DBD-MySQL时碰到了Temporary failure in name resolution,Trying other mirror。即命名解析失败,尝试使用其它镜像。由于本机为最近安装的新服务器,下面是这个问题的现象描述及处理过程。 1、故障现象 ###当前环境 [root@GZDB ~]# cat /etc/issue CentOS release 5.11 (Final) Kernel \r on an \m [root@GZDB ~]# yum install perl-DBD-MySQL               .............. http://mirrors.pubyun.com/centos/5.11/os/x86_64/CentOS/mysql-5.0.95-5.el5_9.x86_64.rpm:     [Errno 4] IOError: <urlopen error (-3, 'Temporary failure in name resolution')> Trying other mirror. http://mirrors.sina.cn/centos/5.11/os/x86_64/CentOS/mysql-5.0.95-5.el5_9.x86_64.rpm:     [Errno 4] IOError: <urlopen error (-3, 'Temporary failure in name resolution')> Trying other mirror. Error Downloading Packages:   mysql-5.0.95-5.el5_9.x86_64: failure:       CentOS/mysql-5.0.95-5.el5_9.x86_64.rpm from base: [Errno 256] No more mirrors to try.   perl-DBI-1.52-2.el5.x86_64: failure:       CentOS/perl-DBI-1.52-2.el5.x86_64.rpm from base: [Errno 256] No more mirrors to try.   perl-DBD-MySQL-3.0007-2.el5.x86_64: failure:       CentOS/perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm from base: [Errno 256] No more mirrors to try. ###尝试ping百度,结果提示未知的主机 [root@GZDB yum.repos.d]# ping www.baidu.com ping: unknown host www.baidu.com [root@GZDB yum.repos.d]# ping www.baidu.com ping: unknown host www.baidu.com 2、故障解决 ###结合上面的错误提示及无法ping通百度,应该是dns解析未配置 [root@GZDB yum.repos.d]# more /etc/resolv.conf  ###未配置dns解析 ###添加dns解析 [root@GZDB yum.repos.d]# echo " > nameserver 121.14.37.62 > nameserver 203.196.0.6">>/etc/resolv.conf [root@GZDB yum.repos.d]# ping www.baidu.com PING www.a.shifen.com (119.75.217.109) 56(84) bytes of data. 64 bytes from 119.75.217.109: icmp_seq=1 ttl=52 time=38.7 ms 64 bytes from 119.75.217.109: icmp_seq=2 ttl=52 time=38.8 ms 64 bytes from 119.75.217.109: icmp_seq=3 ttl=52 time=38.7 ms --- www.a.shifen.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 6078ms rtt min/avg/max/mdev = 38.711/38.742/38.801/0.165 ms ###再次yum perl-DBD-MySQL时成功 [root@GZDB yum.repos.d]# yum install perl-DBD-MyS
Leshami
2018/08/13
3K0
linux之网络管理
图中ens33表示的是以太网的网卡,inet表示其网络地址,netmask是其子网掩码。
用户9628320
2022/11/14
7040
DNS解析问题
确保防火墙没有阻止DNS查询。可以使用 iptables 或 firewalld 检查和配置防火墙规则。
是山河呀
2025/02/03
6.1K0
本地dns的更新:dnsmasq的使用 原
最近各种ad服务挂掉的情况连连出现,一个域名解析需要花上3秒钟,业务上黄花菜都凉了,有的/etc/resolv.conf里面就配置一个nameserver,一点用都没有,dns服务出现问题之后整个应用服务都跟着受损,现在的ad服务大多企业全部用的商业软件,微软这上面真是霸道,简直是受制于人,windows上的服务说没就没了,全看脸,ldap dns 用户验证统统就见如来了,还全是底层的核心系统。
domain0
2018/08/01
3.7K0
[喵咪开源软件推荐(5)]开源DNS服务-bind
[喵咪开源软件推荐(5)]开源DNS服务-bind 哈喽大家好呀!~~ 今天又为大家带来了一个有趣的东西就是DNS服务器,稍微了解网络的童鞋都知道我们在使用域名访问一个网站的时候是通过公共DNS服务器
喵了个咪233
2018/03/02
4.5K1
[喵咪开源软件推荐(5)]开源DNS服务-bind
一次系统重启后域名地址修改引起的"血案"(Tomcat报错:java.net.UnknownHostException)
事故描述:公司的一个内部业务系统由于程序bug,导致系统崩溃,需要强制重启服务器。系统重启后,赶紧将业务程序启动。随后发现/etc/resolv.conf文件的DNS地址被修改成了默认地址。发现之后,随即修改为线上环境下专门的内网DNS地址。 事故反馈:业务部门反馈系统使用异常。 事故排查: 1)查看调用接口的日志信息,发现异常信息: [root@kevin-app ~]# tail -10000 /data/applog/20180416/timsserver.log ......... kevin接口调
洗尽了浮华
2018/04/19
1.4K0
IP地址解析的规则
《sqlplus登录缓慢的解决》文章中出现问题的场景,是配置了/etc/resolv.conf,但是未配置/etc/hosts,为此测试了两种方式。
bisal
2021/01/20
4K0
Linux系统不能解析域名
问题:正在使用的Linux系统突然有一天不能解析域名gus.xxxxxxxx.com?
samRsa
2025/02/24
6560
linux 网络ip设置方法,Linux配置ip地址的两种方法
eth0 09be0948-faf1-43b6-a5a4-c19efab0bb48 ethernet eth0
全栈程序员站长
2022/06/26
6.4K0
linux 网络ip设置方法,Linux配置ip地址的两种方法
Kubernetes配置镜像中Hosts文件的域名解析
最近,给公司搭建的持续集成过程中,由于每次执行任务时都是新创建一个 Kubernetes Pod 执行的,在执行过程中经常出现 DNS 解析错误问题,如下:
院长技术
2021/01/07
3.6K0
Linux 命令(109)—— ping 命令
ping(Packet Internet Groper 命令是因特网包探索器,用于测试网络连通性,是常用的网络命令之一。
恋喵大鲤鱼
2020/02/17
16.8K0
Linux Name or service not known
ping公网域名失败,提示Name or service not known,但可以ping通弹性公网IP。
chuchur
2024/12/14
4290
VMware安装Linux虚拟机之桥接模式网络配置图文详解(2)
---传送门--> 可能是史上最详细的VMware安装Centos 6.8 minimal版图文教程
非著名运维
2022/06/22
1.3K0
VMware安装Linux虚拟机之桥接模式网络配置图文详解(2)
Linux系统之ping命令的基本使用
江湖有缘
2025/01/04
8880
Linux系统之ping命令的基本使用
InetAddress.getByName背后发生了什么
在一次问题排查过程中,发现偶现调用"InetAddress.getByName()"无法通过域名解析到IP(实际在容器中都能正确解析到),因此怀疑和容器的DNS解析有问题。但在与容器的开发兄弟沟通过程中,被反问了一句,确定该方法一定触发调用了DNS的域名解析吗?
陈猿解码
2023/10/06
6070
InetAddress.getByName背后发生了什么
Linux查看网络连接情况的hostname命令
hostname命令用于显示和设置系统的主机名称,设置只是临时生效,永久生效需要更改配置文件。
用户4988085
2021/07/21
5.3K0
相关推荐
容器DNS介绍
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验