为什么即使在允许ICMP流量的情况下,我也无法ping ec2实例却可以SSH,这是为什么?

问题描述

我有一个带有标准Amazon Linux 2 AMI的EC2实例。它在具有以下入站规则的安全组中:

SSH TCP 22  0.0.0.0/0   -
Custom ICMP - IPv4  Echo Request    N/A 0.0.0.0/0   -

出站规则:

All traffic All All 0.0.0.0/0   -

我可以从MacOS命令行SSH进入实例,但是ping操作失败:

PING 152.87.216.125 (152.87.216.125): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5

当然,它已分配了公共IP,并且位于具有Internet网关的VPC的子网中,并且与之关联的NACL如下:

100
ALL Traffic
ALL
ALL
0.0.0.0/0
ALLOW
*
ALL Traffic
ALL
ALL
0.0.0.0/0
DENY

出站规则:

100
ALL Traffic
ALL
ALL
0.0.0.0/0
ALLOW
*
ALL Traffic
ALL
ALL
0.0.0.0/0
DENY

我能够成功ping google.com。

我对ping和网络层了解不足,无法知道下一步该怎么做。有什么想法吗?

解决方法

禁用我的MacOS防火墙不能解决该问题,但是可以连接到我的移动热点。我的ISP必须阻止某些传入的ICMP请求。有趣的是,对google.com进行ping操作以及对其他鲜为人知的主机(例如spysmiles.com)进行ping操作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...