同一VPC不同AZ不同子网下公网EC2无法ping通私网EC2求助
问题排查解决步骤
首先明确前提:EC2安全组默认仅放行主动配置的端口与协议,ping命令基于ICMP协议实现,你当前仅配置了22端口的放行规则,因此ping不通属于预期现象,可优先验证SSH连通性再排查其他问题。
1. 验证SSH连通性
在已登录的公网EC2中执行如下命令,尝试连接私网EC2:
ssh <私网EC2登录用户名>@<私网EC2内网IP>
若连接成功,说明VPC内网链路完全正常,无需调整网络配置。若需要支持ping能力,只需在私网EC2关联的安全组中添加入站ICMP规则、来源指定为public-SG即可。
若SSH也连接失败,按如下步骤逐一排查:
2. 安全组配置校验
- 确认
Private-SG入站规则中,22端口的来源确实是公网EC2关联的public-SG安全组ID,未配置其他更高优先级的拒绝规则覆盖该放行规则 - 确认
public-SG的出站规则未做限制:AWS默认安全组出站允许所有流量,若你手动修改过出站规则,需要确认放行了到私网子网网段22端口的出站流量
3. 路由表配置校验
- 公网子网路由表需包含VPC内网网段的本地路由(目标为VPC CIDR,下一跳为
local),该路由为默认创建规则,用于VPC内不同子网的内网互通,从你提供的截图来看该配置正常 - 私网子网路由表同样需包含上述VPC内网本地路由,你的截图中该配置也符合要求,无需调整
4. 网络ACL配置校验
检查VPC关联的网络ACL(NACL)规则:
- 默认NACL允许所有入站、出站流量,不会拦截通信
- 若你使用自定义NACL,需确认入站规则放行来自公网子网网段的22端口流量,出站规则放行到公网子网网段的1024-65535临时端口流量
5. 实例内部配置校验
- 确认私网EC2实例运行状态正常,内网IP分配正确
- 确认私网EC2的操作系统防火墙未封禁22端口:Linux实例可检查
iptables、firewalld配置,Windows实例可检查Windows Defender防火墙规则
内容的提问来源于stack exchange,提问作者Nikhil
相关产品推荐
相关产品推荐

