为什么PING域名得到IP与实际公网IP不符

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

很多用户在检查花生壳的域名解析时,习惯于使用ping域名的方法。实际上这个方法经常会误导我们。为什么这么说呢?假设我们的域名是ping-is-no-good.gicp.net,当我们在命令提示符界面输入”ping ping-is-no-good.gicp.net”查询到的域名的ip地址有这样几个可能:

1.ping命令返回一个公网ip地址,但是这个ip地址和花生壳客户端所在机器的当前公网ip不一致

例如:ping ping-is-no-good.gicp.net,返回的ip是59.37.71.85,如下图:

clip_image001

而当前花生壳登录的电脑通过路由器上网,路由器的wan口ip是121.32.186.189,也就是说花生壳登录的这台电脑的公网ip是21.32.186.189。

①遇到这种情况,首先要确认是不是你的电脑中的DNS缓存尚未刷新导致。

想象这样一个例子:你刚才在电脑C打开浏览器访问域名ping-is-no-good.gicp.net,发现浏览器提示“您输入的域名和网址无法访问”,这时C的DNS缓存中留下了一个关于此域名的ip地址记录。你检查了服务器S,发现花生壳的客户端离线了,接下来你把花生壳客户端重新登录在线,这时你再在电脑C上去访问这个域名,很可能此时本机的DNS缓存会返回给你之前的ip地址,而不是S当前的公网ip地址。

下面是具体过程:

用命令” ipconfig /displaydns”可以看到本机DNS缓存中的所有记录。发现其中有一条关于ping-is-no-good.gicp.net的记录如下图所示:

clip_image002

计算机ping一个域名时,会先去本机的DNS缓存中查找,上面看到的DNS缓存中的信息就影响了ping的结果。

这时用命令” ipconfig /flushdns”可以清除本机DNS缓存中的所有记录,如下图所示:

clip_image003

清除了缓存后,再ping域名,就可以排除本机DNS缓存的影响,这时返回的ip地址就是正确的,如下图所示:

clip_image004

②有时候你会发现清除了本机的DNS缓存后,ping域名得到的ip仍然不是正确的ip地址。这时候很可能是你的宽带接入商的地区DNS服务器尚未刷新数据,也就是它尚未同步DNS数据,那么当你的花生壳所在电脑的ip地址变化了之后,虽然Oray的DNS服务器已经将ping-is-no-good.gicp.net指向了当前的新ip地址,但是你那个地区的接入商的DNS服务器返回给你电脑的ping-is-no-good.gicp.net的ip地址还是之前的旧ip地址。如下图所示:

clip_image005

这种时候你要做的就是把本机DNS服务器设置为当地最高效的DNS服务器,你可以直接拨打你的宽带接入商的服务电话询问并把问到的高效DNS地址设置到你的电脑上即可。例如将电脑的主DNS从202.96.128.86改为202.96.128.166,然后用命令” ipconfig /flushdns”清除本机DNS缓存后,再ping ping-is-no-good.gicp.net,结果正确,如下图所示:

clip_image004[1]

2. ping命令返回一个局域网ip地址

如下图所示:

clip_image006

192.168.0.2是一个局域网ip地址,在公网上是无效的。

造成这种情况的原因,一般是用户在本机的hosts文件中添加了一条关于ping-is-no-good.gicp.net的ip地址记录。

Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行控制。Hosts文件只对本机有效。

Hosts文件的存储位置在不同的操作系统中并不相同,甚至不同Windows版本的位置也不大一样。Windows NT/2000/XP/2003/Vista:默认位置为%SystemRoot%\system32\drivers\etc\。例如 c:\windows\system32\drivers\etc\。

修改本机的Hosts文件,一般出于以下几种应用目的:

(1)加快域名解析

如果在Hosts中配置了某个域名和IP的映射关系,当输入域名计算机就能很快从本机的Hosts文件中查找到该域名的IP,而不用请求网络上的DNS服务器查询,从而提高域名解析速度。

(2)方便局域网用户

在很多局域网中,会有内部服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。管理员可以分别给这些服务器取个容易记住的名字,然后在每个用户机器的Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。

(3)屏蔽网站

对于某些不良网站,我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样本机就访问不到了。在WINDOWSX系统中,约定127.0.0.1为本地计算机的IP地址, 0.0.0.0是错误的IP地址。

如果在Hosts中,写入以下内容:

127.0.0.1要屏蔽的网站A

0.0.0.0 要屏蔽的网站B

这样,计算机解析域名A和B时,就解析到本机IP或错误的IP,达到了屏蔽网站A和B的目的。某些杀毒软件就是通过修改Hosts文件达到屏蔽不良网站的目的。

(4)顺利连接某些特殊系统

对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问。那么配置好Hosts文件,这样输入服务器名就能顺利连接了。

例如:某服务器管理员在服务器的Hosts文件中加了一条记录:

192.168.0.2 ping-is-no-good.gicp.net

如下图所示:

clip_image007

那么你在服务器上去ping域名ping-is-no-good.gicp.net,得到的ip是192.168.0.2,同时你如果看一下花生壳客户端上ping-is-no-good.gicp.net的域名诊断,会发现域名诊断提示域名指向192.168.0.2,提示域名解析错误,如下图所示:

clip_image008

这都是本机Hosts文件造成的影响。只要在”192.168.0.2 ping-is-no-good.gicp.net”这一行前面加个”#”号把它变成注释,或者直接删掉这一行,然后保存文件,就可以消除这个影响。改变hosts文件后,查询结果如下:

clip_image004[2]

clip_image009

总结:

在计算机上ping一个域名时,首先会去查询该域名的ip地址,查到了再ping这个ip地址。

计算机查询域名ip地址的过程如下:

①在本机DNS缓存中查询(本机Hosts文件中任何域名到ip地址的映射都将加载到本机DNS缓存中)

如果本机DNS缓存中有关于该域名的记录,那么返回记录中对应的ip地址,清除了本机DNS缓存就可以消除此影响。如果该记录是从Hosts文件加载到本机DNS缓存的,那么必须通过修改Hosts文件消除此影响。

②若本机DNS缓存中没有对应的记录,将向本机的主DNS服务器询问

DNS服务器接收到查询时,会首先查找能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答,若没有该域名的信息,再检查它能否通过本地缓存的先前查询信息(从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间)来解析域名,若仍然没有查找到该域名的对应记录,将使用递归查询域名,即询问其他DNS服务器帮助解析域名。

下图所示为本机尝试访问www.microsoft.com 的解析过程:

clip_image010

从上面的过程看,受本机DNS缓存、Hosts文件、地区DNS服务器刷新时间等因素影响,你ping域名得到的ip地址可能根本不是Oray的DNS服务器将你的域名解析到的ip地址。

其实,ping命令不是用来检测域名当前解析到的公网ip的,Ping命令是通过ICMP协议进行检测网络连通性的一个工具,除了上面说到的因素,防火墙或路由器访问规则也可能造成ping域名得到的ip地址不是花生壳真正将域名指向到的ip地址,并且也有可能ping不通。

你可以直接用下面的命令来查询:

nslookup ping-is-no-good.gicp.net ns1.oray.net 或者 nslookup ping-is-no-good.gicp.net ns2.oray.net

ns1.oray.net和ns2.oray.net是Oray的两台DNS服务器域名。以上两个命令直接指定以Oray的DNS服务器作为命令询问的对象,是不受本机DNS缓存、Hosts文件、地区DNS服务器刷新时间的因素影响的。命令将返回ping-is-no-good.gicp.net当前被花生壳解析到的ip地址。例如下图中,查询到的ip地址是58.62.105.187:

clip_image011

这时候你只要查看花生壳所登录的那台电脑的公网ip,如果也是58.62.105.187,那么说明花生壳的解析是正确的。

Q:修改了域名解析的配置,并且已经解析成功了,但有的用户还是无法正确访问域名。

A:原因可能会出在用户本机DNS缓存不能有效更新,下面总结一下如何有效清除本机DNS缓存。

计算机对域名访问时并不是每次访问都需 要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于 DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接DNS服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。

这时我们应该通过清除DNS缓存的命令来解决故障。

清除DNS缓存命令

开始 - 运行- 输入 "cmd" 回车 - 输入 "ipconfig /flushdns" 回车(引号中的内容),如图一,OK。

clip_image012

但是有时候这样做还是无法清除DNS缓存,我们还可以这样来清除DNS缓存:

控制面板 - 网络连接- 在"本地连接"上右键单击,选择‘修复’:

clip_image013

不过,很多时候还是无法完成清除DNS缓存,那么,怎样才能有效清除DNS缓存呢?

在计算机中有一个Dnscache服务来为此计算机解析和缓冲域名系统(DNS)名称。我们可以通过控制面板- 管理工具 - 服务,找到 DNS Client,双击打开它的属性,直接停止它,如图三、图四,这时你Ping一下解析的域名是否正确了呢?再启动DNS Client服务即可。

clip_image014

clip_image015

相关文章
|
22天前
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
39 6
|
22天前
|
域名解析 网络协议 安全
反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性
在网络世界中,反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性。它在邮件服务器验证、网络安全等领域至关重要,帮助识别恶意行为,增强网络安全性。尽管存在配置错误等挑战,但正确管理下,反向DNS解析能显著提升网络环境的安全性和可靠性。
67 3
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
71 3
|
1月前
|
运维 监控 安全
在实际应用中,如何选择基于不同域名还是不同 IP 进行代理多服务的配置?
综上所述,在实际应用中选择基于不同域名还是不同 IP 进行代理多服务的配置,需要根据具体的业务需求、可扩展性、性能、安全性以及维护和管理成本等多方面因素进行综合考虑,权衡利弊,选择最适合自己系统架构和运营需求的配置方式。
|
1月前
|
域名解析 网络协议 测试技术
IP、掩码、网关、DNS1、DNS2到底是什么东西,ping telnet测试
理解IP地址、子网掩码、默认网关和DNS服务器的概念是有效管理和配置网络的基础。通过使用ping和telnet命令,可以测试网络连通性和服务状态,快速诊断和解决网络问题。这些工具和概念是网络管理员和IT专业人员日常工作中不可或缺的部分。希望本文提供的详细解释和示例能够帮助您更好地理解和应用这些网络配置和测试工具。
68 2
|
1月前
|
安全 数据建模 测试技术
只有ip没有域名怎么申请SSL
在没有域名只有IP地址的情况下,仍可申请SSL证书。需确保拥有固定公网IP地址和服务器管理权限,选择支持IP SSL证书的CA(如JoySSL),完成注册、购买、验证、安装和测试等步骤,实现HTTPS加密访问。注意证书有效期、兼容性和安全性。
|
3月前
|
网络协议 安全
网络中IP地址与域名系统
网络中IP地址与域名系统
68 3
|
2月前
|
域名解析 弹性计算
内网域?名解析记录是否会覆盖公网域名解析记录?
内网域?名解析记录是否会覆盖公网域名解析记录?
|
4月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
5月前
|
Linux 网络架构
通过route , tracert , traceroute 查看本地路由配置及访问ip或域名时经过的路由信息
通过route , tracert , traceroute 查看本地路由配置及访问ip或域名时经过的路由信息
770 2

热门文章

最新文章