206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
能ping通ECS实例但端口不通怎么处理?-阿里云服务器ECS使用教程

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

本文介绍如何进行排查能ping通ECS实例但端口不通的问题。

操作场景

通过客户端访问目标ECS实例时,如果能ping通ECS实例但业务端口无法访问,则可能是链路中相关节点对相应端口做了拦截所致。您可以参考以下步骤进行排查处理。

  1. 步骤一:检查ECS实例安全组规则

  2. 步骤二:检查端口监听状态及相关服务

  3. 步骤三:检查ECS防火墙设置

  4. 步骤四:通过探测工具进行检查

步骤一:检查ECS实例安全组规则

目标ECS实例端口不通时,可能是安全组规则中未放行该端口(如80端口),您可以参考以下步骤,检查ECS实例安全组规则。

  1. 登录ECS管理控制台。

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在页面左侧顶部,选择目标资源所在的地域。地域

  4. 在ECS实例列表页面,单击目标ECS实例ID。

  5. 在ECS实例详情页面,单击安全组页签。

  6. 安全组列表页签下,单击安全组ID。

  7. 在安全组规则页面,查看入方向规则是否开放目标端口(如80)。

    2023-06-04_16-56-00..png
    • 未开放目标端口,请添加入方向为目标端口的安全组规则。具体操作,请参见添加安全组规则。

    • 已开放目标端口,请执行步骤三:检查ECS防火墙设置。

步骤二:检查端口监听状态及相关服务

目标ECS实例端口不通时,可能该服务端口未被正常监听(服务未启动),您可以参考以下步骤,检查ECS实例安全组规则。

Linux实例
Windows实例

本操作以CentOS 7.9为例,其他版本的Linux系统操作可能有所差异。

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 执行如下命令,查看端口是否正常被监听。

     
    netstat -an | grep [$Port]    # [$Port]请替换为实际的端口号
    • 如果返回如下信息,则说明80端口被正常监听,请继续执行步骤三:检查ECS防火墙设置。

      2023-06-04_17-11-27..png
    • 如果返回的不是以上信息,表示80端口未处于监听状态(服务未启动)。您需要重启该服务,若服务重启还是未解决问题,请继续执行步骤三:检查ECS防火墙设置。

步骤三:检查ECS防火墙设置

目标ECS实例端口不通时,可能是ECS防火墙拦截了该端口,您可以参考以下步骤,检查ECS实例防火墙设置。

Linux实例
Windows实例

本操作以CentOS 7.9为例,其他版本的Linux系统操作可能有所差异。

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 执行如下命令,查看防火墙状态。

     
    systemctl status firewalld
    • 如果回显中出现Active: inactive (dead)信息,说明防火墙为关闭状态,无需再进行任何操作。

    • 如果回显中出现Active: active (running)信息,说明防火墙已开启,请继续执行步骤3。

  3. 执行如下命令,查看防火墙中已开放的端口。

     
    firewall-cmd --list-all
    • 如果回显中出现ports: 80/tcp信息,说明防火墙规则中已放行80端口,无需再进行任何操作。

      2023-06-04_19-33-53..png
    • 如果回显中没有ports: 80/tcp信息,请执行如下命令,放行80端口。

       
      firewall-cmd --zone=public --add-port=80/tcp --permanent

      若返回结果为success,表示已经放行TCP 80端口。

步骤四:通过探测工具进行检查

本地客户端无法访问端口可能是链路中的相关节点拦截了端口所致,请利用端口可用性探测工具进行测试,验证是否有节点拦截了端口。

使用端口可用性探测工具

本地客户端为Linux系统
本地客户端为Windows系统

Linux系统中,通常可以通过traceroute来进行端口可用性探测。traceroute用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路,通过发送TCP数据包向目标端口进行探测,以检测从数据包源到目标服务器的整个链路上相应端口的连通性情况。

安装traceroute

 
sudo yum install -y traceroute

traceroute命令

常用traceroute命令格式如下所示。

 
traceroute [-n] -T -p <目标端口号> <Host>
    说明
    • -n:直接使用IP地址而非主机名称(禁用DNS反查)。

    • -T:通过TCP探测。

    • -p:设置探测的端口号。

    • <目标端口号>:需要探测的端口号,比如80。

    • <Host>:需要探测的目标服务器地址,比如192.168.XXX.XXX

测试示例

traceroute的示例命令和返回结果如下:

 
[test@centos~]# traceroute -n -T -p 22 223.5.XXX.XXXtraceroute to 223.5.XXX.XXX (223.5.XXX.XXX), 30 hops max, 60 byte packets
 1 5X.X.X.X 0.431 ms 0.538 ms 0.702 ms
 2 10.88.XXX.XXX 0.997 ms 1.030 ms 10.88.XXX.XXX 1.309 ms
 3 58.96.XXX.XXX 0.393 ms 0.390 ms 58.96.XXX.XXX 0.423 ms
 4 202.123.XXX.XXX 1.110 ms 202.123.XXX.XXX 0.440 ms 0.440 ms
 5 63.218.XXX.XXX 1.744 ms 63.218.XXX.XXX 1.076 ms 1.232 ms
 6 63.223.XXX.XXX 1.832 ms 63.223.XXX.XXX 1.663 ms 63.223.XXX.XXX 1.616 ms
 7 63.223.XXX.XXX 2.776 ms 63.223.XXX.XXX 1.585 ms 1.606 ms
 8 * * 202.97.XXX.XXX 2.537 ms
 9 202.97.XXX.XXX 6.856 ms * *
10 * * *
11 * * *
12 * * 119.147.XXX.XXX 8.738 ms
13 119.147.XXX.XXX 8.248 ms 8.231 ms *
14 * 42.120.XXX.XXX 32.305 ms 42.120.XXX.XXX 29.877 ms
15 42.120.XXX.XXX 11.950 ms 42.120.XXX.XXX 23.853 ms 42.120.XXX.XXX 29.831 ms
16 42.120.XXX.XXX 11.007 ms 42.120.XXX.XXX 13.615 ms 42.120.XXX.XXX 11.956 ms
17 42.120.XXX.XXX 21.578 ms 42.120.XXX.XXX 13.236 ms *
18 * * 223.5.XXX.XXX 12.070 ms !X

探测结果的案例分析

当相关端口在某一跳被阻断,则之后各跳均不会有返回数据,据此就可以判断出异常节点。您可以根据相应节点信息,在淘宝IP地址库查询归属运营商进行问题反馈。

案例一:

探测结果:目标端口在第3跳之后就没有数据返回,说明相应端口在该节点被阻断。

探测结果分析:经查询该节点为内网IP,所以推断是本地网络相关安全策略所致,需要联系本地网络管理部门做进一步排查分析。

 
C:\&gt;tracetcp www.aliyun.com:135
Tracing route to 115.102.XXX.XXX on port 135
Over a maximum of 30 hops.
1       3 ms    3 ms    3 ms    10.102.XXX.XXX
2       4 ms    3 ms    3 ms    10.102.XXX.XXX
3       3 ms    3 ms    3 ms    140.205.XXX.XXX
4       *       *       *       Request timed out.
5       *       *       *       Request timed out.
6       *       *       *       Request timed out.
7       *       *       *       Request timed out.
8       *       *       *       Request timed out.
9       *       *       *       Request timed out.
10      *       *       *       Request timed out.
11      *       *       *       Request timed out.
12      *       *       *       Request timed out.
Trace Complete.

案例二

探测结果:探测结果如下,目标端口在第11跳之后就没有数据返回,说明相应端口在该节点被阻断。

探测结果分析:经查询该节点归属北京移动,需要您自行向运营商反馈。

 
[root@mycentos ~]# traceroute -T -p 135 www.baidu.com
traceroute to www.baidu.com (111.13.XXX.XXX), 30 hops max, 60 byte packets
 1  * * *
 2  111.13.XXX.XXX (111.13.XXX.XXX)  4.115 ms  4.397 ms  4.679 ms
 3  112.15.XXX.XXX (112.15.XXX.XXX)  901.921 ms  902.762 ms  902.338 ms
 4  200.35.XXX.XXX (200.35.XXX.XXX)  2.187 ms  1.392 ms  2.266 ms
 5  * * *
 6  58.200.XXX.XXX (58.200X.XXX.XXX)  1.688 ms  1.465 ms  1.475 ms
 7  63.128.XXX.XXX (63.128.XXX.XXX)  27.729 ms  27.708 ms  27.636 ms
 8  * * *
 9  * * *
10  200.38.XXX.XXX (200.38.XXX.XXX)  28.922 ms 200.38.XXX.XXX (200.38.XXX.XXX)   29.030 ms  28.916 ms
11  204.35.XXX.XXX (204.35.XXX.XXX)  29.169 ms  28.893 ms 204.35.XXX.XXX (204.35.XXX.XXX)  30.986 ms
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!