云服务器 ECS 服务器访问异常问题排查指引

因各种因素,用户通过私网或本地公网访问云服务 ECS 上相关业务时,可能出现访问异常的情况。本文先对整个链路上,可能引发访问异常的相关因素及症状进行说明,然后阐述了出现异常时的排查思路及处理办法。最后对工单提交时的注意事项进行了说明。
注:本文相关说明不考虑阿里 CDN 或第三方 CDN 网络相关因素的影响。

ECS 访问异常关联因素及症状示意图


从客户端到服务端的整个链路上,可能引发访问异常的相关因素主要如下ECS 访问异常关联因素示意图所示:

相关因素可能导致的症状,主要如下ECS访问异常症状对应图所示:
[font=微软雅黑, &amp]

ECS 访问异常关联因素说明


通过私网访问异常时关联因素说明

如果客户端是通过私网访问,则其链路相对简单。可能引发访问异常的因素及导致的客户端症状包括:

  1. 源服务器内部配置
    • 因素说明:源服务器内部防火墙、安全软件等安全策略,或系统中毒等操作系统内部问题导致访问异常。
    • 可能症状及原因:ping 丢包:源服务器中毒等操作系统内部问题导致网络异常。
    • ping 不通:源服务器系统内安全软件等安全策略禁止外 ping。
    • 所有端口 telnet 都不通:源服务器中毒等操作系统内部问题导致网络异常。
    • 只有部分端口 telnet 不通:源服务器系统内安全软件等安全策略禁止了对部分端口的访问。
  • 源服务器安全组配置
    • 因素说明:源服务器归属安全组规则阻断了对目标服务器的访问。
    • 可能症状及原因: ping 不通:源服务器出方向配置了禁 ping 规则。
    • 所有端口 telnet 都不通:源服务器出方向为指定端口配置了 drop 规则。
    • 只有部分端口 telnet 不通:源服务器出方向为所有端口配置了 drop 规则。
  • 负载均衡白名单
    • 因素说明:如果目标服务器是负载均衡,则相应监听端口开启白名单后,只有指定的 IP 或 IP 段地址才能对其访问。
    • 可能症状及原因: 只有部分端口 telnet 不通:源服务器 IP 不在白名单之内,导致无法访问相应监听端口。
  • 目标服务器安全组配置
    • 因素说明:?目标服务器归属安全组规则阻断了源服务器的访问。
    • 可能症状及原因: ping 不通:目标服务器入方向配置了禁 ping 规则。
    • 所有端口 telnet 都不通:目标服务器入方向为指定端口配置了 drop 规则。
    • 只有部分端口 telnet 不通:目标服务器入方向为所有端口配置了 drop 规则。
  • 目标服务器内部配置
    • 因素说明:目标服务器内部防火墙、安全软件等安全策略,或系统中毒等操作系统内部问题导致访问异常。
    • 可能症状及原因: ping 丢包:目标服务器中毒等操作系统内部问题导致访问异常。
    • ping 不通:目标服务器系统内安全软件等安全策略禁 ping。
    • 所有端口 telnet 都不通:目标服务器中毒等操作系统内部问题导致访问异常。
    • 只有部分端口 telnet 不通:目标服务器系统内安全软件等安全策略禁止了对部分端口的访问。

通过公网访问异常时关联因素说明

如果客户端通过公网访问,则涉及的关联因素较多,包括:

客户端网络环境

对于客户端网络环境,可能引发访问异常的因素及导致的客户端症状包括:

  1. 用户本地网络
    • 因素说明:如果用户本地网络存在异常,可能会导致部分 IP 或所有 IP 均无法正常访问。
    • 可能症状及原因:非阿里云服务 IP 也无法访问:不仅是目标服务器无法访问,其它非阿里云 IP 也无法访问。
  • 本地 DNS 劫持
    • 因素说明:用户本地网络或当地运营商有 DNS 劫持行为,导致访问目标服务器关联业务时,出现非正常跳转或者被插入广告。
    • 可能症状及原因:非正常跳转:DNS 劫持导致访问目标服务器关联业务时,跳转到了其它无关联网站
    • 被插入广告:DNS 劫持导致访问目标服务器关联业务时,页面被插入广告。

运营商网络环境

对于运营商网络环境,可能引发访问异常的因素及导致的客户端症状包括:

  1. 运营商网络策略
    • 因素说明:运营商根据其策略,可能会进行 DNS 劫持,或阻断某些 IP、域名或端口的访问。
    • 可能症状及原因:被插入广告:DNS 劫持导致访问目标服务器关联业务时,页面被插入广告。
    • 域名无法访问但 IP 访问正常:运营商对某些违规域名的访问做了阻断。
    • 所有端口 telnet 都不通:运营商对某些违规 IP 的访问做了阻断。
    • 只有部分端口 telnet 不通:运营商对某些高危端口的访问做了阻断。
  • 备案
    • 因素说明:对于境内服务器,根据行政管控要求,需要进行备案。
    • 可能症状及原因:非正常跳转:目标服务器关联域名未备案,导致访问关联业务时,跳转到了备案提示页面。
    • 域名无法访问但 IP 访问正常:目标服务器关联域名未备案,导致访问时,跳转到了备案提示页面,但通过 IP 访问无影响。

阿里云网络环境

对于阿里云网络环境,可能引发访问异常的因素及导致的客户端症状包括:

  1. 云盾-肉鸡关停
    • 因素说明:目标服务器因肉鸡、中毒等问题,持续对外攻击,被云盾关停。
    • 可能症状及原因:ping 不通:服务器被关停导致无法 ping 通。
    • 所有端口 telnet 都不通:服务器被关停导致所有端口都不通。
  • 云盾-访问拦截
    • 因素说明:源服务器因持续扫描探测、攻击等行为,被云盾阻断。注意:如果源服务器本地网络是通过 NAT 共享方式访问公网的,则攻击源不一定是客户自身服务器,而可能是同网络内其它服务器。由于共享相同的公网 IP,导致云盾阻断相应 IP 后,源服务器的访问也受到了波及和影响。
    • 可能症状及原因:ping 不通:源服务器 IP 被云盾拦截,导致禁 ping。
    • 所有端口 telnet 都不通:源服务器 IP 被云盾拦截,导致所有端口都无法访问。
  • 绿网-违规屏蔽
    • 因素说明:目标服务器相关 URL 存在违规内容,访问被阻断。
    • 可能症状及原因:非正常跳转:源服务器业务异常,导致相关访问跳转到了 DDos 高防或 Web 应用防火墙源站异常提示页面。
    • 部分 URL 无法访问:被 Web 应用防火墙规则命中的相应 URL,客户端无法正常访问,会跳转到了相应的阻断提示页面。
  • DDos 高防和 Web 应用防火墙
    • 因素说明:目标服务器业务异常,或者源服务器相关访问行为被 DDos 高防或 Web 应用防火墙拦截规则命中,导致访问异常。
    • 可能症状及原因:ping 不通:服务器被关停导致无法 ping 通。
    • 所有端口 telnet 都不通:服务器被关停导致所有端口都不通。
  • 负载均衡白名单
    • 因素说明:如果目标服务器是负载均衡,则相应监听端口开启白名单后,只有指定的 IP 或 IP 段地址才能对其访问。
    • 可能症状及原因:只有部分端口 telnet 不通:源服务器 IP 不在白名单之内,导致无法访问相应监听端口。
  • 目标服务器安全组配置
    • 因素说明:目标服务器归属安全组规则阻断了源服务器的访问。
    • 可能症状及原因:ping 不通:目标服务器入方向配置了禁 ping 规则。
    • 所有端口 telnet 都不通:目标服务器入方向为指定端口配置了 drop 规则。
    • 只有部分端口 telnet 不通:目标服务器入方向为所有端口配置了 drop 规则。

目标ECS服务器内部环境

对于目标 ECS 服务器自身相关环境,可能引发访问异常的因素及导致的客户端症状包括:

  1. 目标服务器欠费停机
    • 因素说明:目标服务器欠费停机导致无法访问。
    • 可能症状及原因:ping 不通:目标服务器欠费停机导致无法 ping 通。
    • 所有端口 telnet 都不通:目标服务器欠费停机导致所有端口无法访问。
  • 目标服务器内部配置
    • 因素说明:目标服务器内部防火墙、安全软件等安全策略,或系统中毒等操作系统内部问题导致访问异常。
    • 可能症状及原因:ping 丢包:目标服务器中毒等操作系统内部问题导致访问异常。
    • ping 不通:目标服务器系统内安全软件等安全策略禁ping。
    • 所有端口 telnet 都不通:目标服务器中毒等操作系统内部问题导致访问异常。
    • 只有部分端口 telnet 不通:目标服务器系统内安全软件等安全策略禁止了对部分端口的访问。
  • 软件源地址访问控制
    • 因素说明:目标服务器内部业务软件对源 IP 做了访问控制,导致源服务器无法访问。
    • 可能症状及原因:只有部分端口 telnet 不通:相应端口对应业务软件对源 IP 做了访问控制,阻断了源服务器的访问。

ECS 服务器访问异常问题排查流程图


对于 ECS 访问异常问题,基本排查思路如下ECS 服务器访问异常问题排查流程图所示:

ECS 访问异常问题排查思路及处理办法


对于 ECS 访问异常问题,参照前图,其排查思路说明如下:

通过私网访问异常时排查思路

如果客户端通过私网访问,则访问异常时,可通过如下步骤进行判断、排查分析和处理:

  1. 所有服务器访问目标服务器均存在异常?即从其它不同服务器同时访问目标服务器做对比测试。
    • 【1-A】 是(所有服务器访问目标服务器均存在异常):
      如果所有服务器访问均存在异常,则推断是目标服务器归属安全组、或服务器内部自身存在异常所致。需要做进一步排查分析。
      1-A.1 服务器内部访问是否正常?即通过 管理终端 进入服务器,在服务器内部使用 127.0.0.1 做对比访问测试,看是否正常。
      【1-A.1-A】 是(目标服务器内部访问也存在异常):如果目标服务器内部访问也存在异常,则需要联系业务提供商或者业务运维人员,检查代码配置、软件运行状态。
    • 【1-A.1-B】 否(目标服务器内部访问正常):如果服务器内部访问是正常的,则需要检查目标服务器归属安全组和操作系统内相关安全软件的安全配置,排查是否对源服务器做了阻断。安全组的常见使用问题,可以参阅安全组使用FAQ。如果排查分析安全组和操作系统内安全软件配置后,均未见明显异常,则需要参阅文档网络异常时抓包操作说明,在出现异常时,从客户端和服务端同时并发抓包,然后提交抓包结果,联系售后技术支持
  • 【1-B】 否(只有源服务器访问目标服务器存在异常):如果只有源服务器访问存在异常,则推断是源服务器归属安全组、服务器内部自身存在异常或源服务器到目标服务器之间的网络存在异常所致。需要做进一步排查分析。

    • 1-B.1 telnet 端口测试是否正常?即从源服务器访问目标服务器是否只是 ping 不通而端口访问正常。
      【1-B.1-A】 是(源服务器 ping 不通目标服务器,但 telnet 端口测试正常):如果只是 ping 不通,但端口访问正常,则需要检查目标服务器归属安全组和操作系统内相关安全软件的安全配置,是否对源服务器做了禁ping。安全组的常见使用问题,可以参阅安全组使用FAQ
    • 【1-B.1-B】 否(源服务器到目标服务器, telnet 端口测试及 ping 测试均异常):如果 ping 及 telnet 端口测试均有异常,则需要进一步排查:
      1-B.1-B.1 到源服务器网关 ping 是否正常? 即从源服务器内部 ping 自身网关,看是否正常。
      【1-B.1-B.1-A】 否(源服务器 ping 自身网关也异常):如果源服务器 ping 自身网关也存在异常(不通或丢包),则需要通过系统日志等检查源服务器自身运行状态,比如服务器负载、网络配置等。
    • 【1-B.1-B.1-B】 是(源服务器 ping 自身网关正常):如果源服务器 ping 自身网关正常。则需要进一步排查:
      1-B.1-B.1-B.1 到目标服务器网关 ping 是否正常?即从源服务器内部 ping 目标服务器网关,看是否正常。
      【1-B.1-B.1-B.1-A】 否(源服务器 ping 目标网关正常):如果源服务器 ping 自身网关和目标服务器网关都正常,则需要通过系统日志等检查目标服务器自身运行状态,比如服务器负载、网络配置等。
    • 【1-B.1-B.1-B.1-B】 是(源服务器 ping 目标网关也不正常):如果源服务器 ping 自身网关正常,但 ping 目标服务器网关存在异常(不通或丢包),则判断可能是中间网络异常所致。则需要参阅文档网络异常时抓包操作说明,在出现异常时,从客户端和服务端同时并发抓包,然后提交抓包结果,联系售后技术支持

通过公网访问异常时排查思路

如果客户端通过公网访问,则访问异常时,可通过如下步骤进行判断、排查分析和处理:

  1. URL 访问问题判断:1.1 被插入广告?即客户端访问目标服务器业务时,是否出现了页面被插入广告的情况。
    • 【1.1-A】 是(页面被插入广告):如果是页面被插入广告情况,则参阅如下步骤进一步排查:1.1-A.1 系统内部访问是否正常?即通过 管理终端 进入目标服务器,在服务器内部使用 127.0.0.1做对比访问测试看是否正常。【1.1-A.1-A】 是(目标服务器系统内部访问也存在异常):如果目标服务器内部访问也存在异常,则需要联系业务提供商或者业务运维人员,检查代码配置、软件运行状态。
    • 【1.1-A.1-B】 否(目标服务器系统内部访问正常):如果目标服务器内部访问正常,则判断是由于本地网络异常或者本地运营商劫持所致。用户可以尝试修改本地 DNS 服务器地址看问题能否解决。如果还有问题,建议联系本地网络部门排查分析,或向当地运营商进行问题反馈。
  • 【1.1-B】 否(页面没有被插入广告):如果不是页面被植入广告问题,则参阅后续步骤进一步排查分析。
    • 1.1-B.1 页面异常跳转?即客户端访问目标服务器业务时,相关 URL 是否出现了非正常跳转。【1.1-B.1-A】 是(页面出现了非正常跳转):如果是页面出现了非正常跳转,则参阅如下步骤进一步排查分析:1.1-B.1-A.1 系统内部访问是否正常? 即通过 管理终端 进入目标服务器,在服务器内部使用 127.0.0.1做对比访问测试看是否正常。【1.1-B.1-A.1-A】 否(目标服务器系统内部访问也存在异常):如果目标服务器内部访问也存在异常,则需要联系业务提供商或者业务运维人员,检查代码配置、软件运行状态。
    • 【1.1-B.1-A.1-B】 是(目标服务器系统内部访问正常):如果目标服务器内部访问正常,则可以根据跳转到的页面做进一步处理。比如:未备案提醒页面处理:为什么我的网站已经备案了还是提示未备案?
    • DDos 高防异常页面:云盾DDOS高防502,504报错
    • 绿网阻断页面:页面如何解除屏蔽?
    • Web 应用防火墙阻断页面:云盾Web应用防火墙返回的405、502、504页面分别代表含义
  • 【1.1-B.1-B】 否(页面没有出现非正常跳转):如果不是页面非正常跳转问题,则参阅后续步骤进一步排查分析。
  • 问题范围判断:如果不是 URL 访问异常问题,则需要通过对比分析确定问题范围:2.1 所有网络访问都有异常?即通过第三方拨测平台,从全国各地做对比访问测试,判断是否所有网络访问目标服务器都存在同样异常。

    • 【2.1-A】 是(所有网络访问均存在异常):如果经过测试,所有外部网络访问均存在异常,则参阅如下步骤进一步排查分析:
      2.1-A.1 系统内部访问是否正常?即通过 管理终端 进入目标服务器,在服务器内部使用 127.0.0.1做对比访问测试看是否正常。
      【2.1-A.1-A】 否(目标服务器系统内部访问也存在异常):如果目标服务器内部访问也存在异常,则需要联系业务提供商或者业务运维人员,检查代码配置、软件运行状态。
    • 【2.1-A.1-B】 是(目标服务器系统内部访问正常):如果目标服务器内部访问正常,则需要检查目标服务器安全组及系统内安全配置,是否对源服务器的访问做了限制。安全组的常见使用问题,可以参阅安全组使用FAQ
  • 【2.1-B】 否(只有源服务器访问目标服务器存在异常)如果只有源服务器访问存在异常,则参阅后续步骤进一步排查分析。
  • 问题现象判断:如果只有源服务器访问存在异常,则需要通过 ping 或 telnet 等测试做进一步排查分析。3.1 ping 是否正常?即客户端 ping 目标服务器 IP 地址是否正常。

    • 【3.1-A】 否(ping 目标服务器正常):如果客户端 ping 目标服务器丢包或不通,则可能是中间链路或对端服务器存在异常所致,则需要通过 MTR 链路测试做进一步排查分析。链路测试操作说明可以参阅 ping 丢包或不通时链路测试说明
    • 【3.1-B】 是(ping 目标服务器正常,但是端口访问不通):如果 ping 目标服务器正常,但是端口访问不通,则需要参阅后续步骤进一步排查分析。
      3.1-B.1 端口是否被目标服务器拦截?即目标服务器归属安全组或系统内部安全设置,是否有策略阻断了客户端对相应端口的访问。
      【3.1-B.1-A】 是 (目标服务器阻断了客户端对某些端口的访问):如果确认有对源服务器的阻断策略,则需要进行相应调整。安全组的常见使用问题,可以参阅安全组使用FAQ
    • 【3.1-B.1-B】 否(目标服务器没有阻断策略):如果目标服务器没有针对源服务器的阻断策略,则可能是相应被运营商拦截所致,则需要通过 tracetcp 等工具对端口阻断情况做进一步跟踪分析。端口可用性探测说明可以参阅 能 ping 通但端口不通时端口可用性探测说明

ECS 访问异常问题工单提交须知


如果经过前述步骤还是未能成功解决问题,请参阅如下步骤依次进行测试并记录测试结果,然后提交工单。

客户端通过私网进行访问

如果客户端是通过私网进行访问的,则请参阅如下步骤依次进行测试并记录测试结果:

  1. 通过不同服务器向目标服务器做相同的访问测试,看是否有同样的异常症状。
  2. ping 目标服务器 IP ,看是否正常。
  3. telnet 目标服务器相应端口,看是否正常。
  4. 源服务器 ping 自身网关,看是否正常。
  5. 目标服务器 ping 自身网关,看是否正常。
  6. 源服务器 ping 目标服务器网关,看是否正常。
  7. 目标服务器 ping 源服务器网关,看是否正常。
  8. (按情况可选)参阅网络异常时抓包操作说明,出现异常时同时从源服务器和目标服务器抓包。

客户端通过公网进行访问

如果客户端是通过公网进行访问的,则请参阅如下步骤依次进行测试并记录测试结果:

  1. 从不同地域不同网络环境,向目标服务器做同样的访问测试,看是否存在同样的异常症状。
  2. 异常情况是否是页面被插入广告?
  3. 异常情况是否是页面出现了异常跳转?
  4. 客户端 ping 目标服务器,看是否正常。
  5. 客户端 telnet 目标服务器相应业务端口,看是否正常。
  6. 如果是 ping 存在异常(丢包或中断),则参阅 ping 丢包或不通时链路测试说明进行测试,并记录测试数据。
  7. 如果 ping 正常,但端口无法访问,则参阅 能 ping 通但端口不通时端口可用性探测说明 进行测试,记录测试数据。
  8. (按情况可选)参阅网络异常时抓包操作说明,出现异常时同时从源服务器和目标服务器抓包。

记录前述步骤的相关测试结果或数据,然后联系售后技术支持