云服务器ping域名超时,绝大多数情况不是服务器宕机,而是域名解析还没生效,或者本地DNS缓存还指着旧地址。换IP后一两天内最常见,解析到旧IP自然超时,解析到新IP就恢复正常。
云服务器换IP后ping域名超时的排查思路
网站搬家或服务器续费后换IP,域名解析记录需要时间在全球DNS服务器间同步,这个窗口期内,不同地区的用户解析到的IP地址可能不一样,有的已经指向新服务器,有的还留在旧地址。
先确认是不是解析没生效
先别急着重启服务器,在本地电脑打开命令行工具,依次做两个测试。
第一步:ping服务器IP地址。 直接ping云服务商分配的公网IP,如果能通,说明服务器本身在线,网络链路没毛病,问题出在域名解析上。
第二步:ping域名地址。 如果IP通而域名不通,用nslookup命令查一下域名当前解析到哪个IP:
nslookup 你的域名
返回结果里如果出现旧的IP地址,就证实了解析缓存还没更新,等解析完全生效后,再ping域名就能通了。
域名解析超时和服务器超时的区别
很多人把这两个混为一谈,实际上是完全不同的故障点。
域名解析超时,是整个域名系统层面的问题,表现为nslookup查询返回超时,或者查不到记录,全世界的用户都访问不了。
服务器超时,是域名解析正常,但数据包发到服务器后没有回应,可能是防火墙拦截、安全组规则没放行,或者服务器本身负载过高。
判断方法很简单:换一台设备,用手机流量而不是WiFi访问网站试试,如果手机能打开,说明域名解析已经正常,问题在本地网络环境或缓存,如果手机也打不开,再去检查服务器安全组和防火墙设置。
云服务器ping不通域名怎么解决:本地缓存清理
行业共识认为,超过一半的”ping不通”故障,根源都在本地DNS缓存,操作系统会把查询过的域名解析结果缓存一段时间,如果服务器换了IP,本地缓存还存着旧IP,就会一直往错误地址发包。
Windows系统刷新dns缓存
以管理员身份打开命令提示符,输入:
ipconfig /flushdns
看到”已成功刷新DNS解析缓存”的提示后,再ping一次域名,大概率就通了,如果还是不通,检查一下本机是不是设置了固定的DNS服务器地址,有些网络环境强制指定了DNS,这种情况下需要联系网络管理员修改。
Linux系统刷新dns缓存
不同发行版的命令不一样,CentOS和Ubuntu 18.04之后的版本用的是systemd-resolved服务:
sudo systemd-resolve --flush-caches
老版本的系统,可以尝试重启网络服务:
sudo systemctl restart networking
或者直接重启DNS客户端服务:
sudo /etc/init.d/nscd restart
macOS系统在系统设置里删掉DNS缓存也行,或者用命令:
sudo killall -HUP mDNSResponder
域名解析超时怎么彻底解决
清理本地缓存只是治标,要从根上解决,得看域名解析的TTL设置和DNS服务商的状态。
检查TTL设置是否合理
TTL(生存时间)决定了DNS记录在全球缓存的时间,如果TTL设置成24小时,修改解析后最长需要等一天才能完全生效,如果需要频繁更换服务器IP,建议提前把TTL调低到600秒(10分钟),这样换IP后短时间内就能完成全球同步。
修改完解析记录后,耐心等待,多做几次nslookup验证,部分地区DNS服务器更新时间较慢,等待过程中反复试是没有意义的。
验证云服务器防火墙和安全组规则
解析正常之后还是ping不通,就要检查云服务商的安全组规则了,登录控制台,找到安全组配置页面,确认入站规则放行了ICMP协议,不少云服务商默认只开放80和443端口,没放行ICMP,这种情况下ping不通属于正常现象,网站访问却完全正常。
如果确实需要支持ping,在安全组里增加一条入站规则,协议选ICMP,源地址填0.0.0.0/0,保存后立即生效。
云服务器访问异常的其他常见原因
域名解析排查完毕,再提供几个高概率场景供你自查,避免来回折腾。
系统防火墙拦截。 云服务商的安全组相当于第一道门,操作系统自带的防火墙是第二道门,检查iptables或firewalld规则,看有没有默认丢弃ICMP的策略:
sudo iptables -L -n
看到REJECT或DROP规则针对icmp协议,删除或放行即可。
服务器负载过高。 CPU跑满或者带宽被占尽时,服务器优先处理业务请求,对ping的响应会变慢甚至忽略,登录控制台看监控面板,确认CPU和带宽使用率是否长期在90%以上。
本地网络到机房的链路问题。
部分地区的运营商网络到某些机房的路由绕路或拥塞,ping超时但网站访问正常,用第三方在线监测工具(比如多地Ping在线工具)看不同地域的连通性,如果大多数地区正常而个别地区超时,多半是链路问题,等运营商优化即可。
Q&A:云服务器ping域名超时常见疑问
为什么ping公网IP通,ping域名不通?
这是比较典型的DNS解析问题,比如服务器换了IP后,域名的A记录还指向旧地址,或者本地DNS缓存存了旧解析结果,这时候用nslookup查一下返回的IP是不是当前服务器的公网IP,如果不是就等解析生效,如果本地缓存有问题就刷新一下DNS缓存,如果查到的IP已经是新地址但还是不通,那问题就回到网络连通性排查上了。
域名已经解析到新IP了,为什么还ping不通?
解析正确但ping不通,优先检查安全组规则是否放行ICMP协议,其次看服务器系统防火墙是否拦截ping,除了这两点,还要确认服务器网卡是否绑定了正确的IP地址,有些云服务器的内网IP和公网IP是映射关系,系统内看不到公网IP,只需要确认内网IP配置正确、业务服务正常运行。
ping域名超时但网站能打开是怎么回事?
网站访问走的是TCP协议80或443端口,ping走的是ICMP协议,很多云服务商出于安全考虑,默认在安全组里禁掉了ICMP,不影响网站访问,这种场景下,只要网站正常就不必担心,ping不通不代表服务器异常,需要的话,在安全组放行ICMP规则即可恢复ping响应,衡量服务器健康状态,更可靠的指标是端口连通性和业务响应时间,而不是ping的结果。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/747662.html





