You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VPC对等连接问题:无法从共享服务VPC堡垒机SSH至应用服务器EC2

排查VPC对等连接下SSH无法连通的问题

我来帮你一步步梳理这个问题,VPC对等连接的连通性故障通常集中在几个核心配置环节,咱们逐个核对:

1. 路由表配置明显错误(最可能的核心原因)

你提到应用服务器VPC的主路由表添加的路由是 172.17.0.0/16 → vpc-peer-id,但共享服务VPC的CIDR明明是 172.31.0.0/16!这完全匹配不上,应用服务器这边需要把去往172.31.0.0/16的流量指向对等连接,而不是172.17.0.0/16。赶紧修正这个路由条目,这大概率是导致连通失败的关键问题。

2. 确认子网关联的路由表是否正确

你说在应用服务器子网添加了相同路由,但要注意:子网实际生效的路由表是它关联的路由表,而不是主路由表(除非子网没关联自定义路由表)。请检查应用服务器所在的子网:

  • 登录VPC控制台,找到该子网,查看它关联的路由表
  • 确认这个关联的路由表中,已经正确添加了 172.31.0.0/16 → vpc-peer-id 的路由条目

3. 检查VPC对等连接的状态

VPC对等连接需要双方账户都接受请求才能生效,状态必须是 Active。如果状态是 Pending Acceptance,那连接根本没建立起来,自然无法通信。你可以在VPC控制台的“对等连接”页面查看状态,确保两边都完成了接受操作。

4. 双向安全组规则检查

你只提到了应用服务器的安全组允许22端口来自172.31.0.0/16,但不要忽略堡垒机的安全组:

  • 堡垒机所在的安全组,需要允许出站TCP 22端口到 10.2.0.0/16 的流量(默认安全组允许所有出站,但自定义规则的话要确认)
  • 再次核对应用服务器的安全组:源CIDR是不是准确的 172.31.0.0/16,有没有输错数字?

5. 容易被忽略的Network ACL(NACL)

NACL是子网级别的无状态防火墙,默认允许所有进出,但如果被修改过,会直接阻断流量:

  • 应用服务器所在子网的NACL:
    • 入站规则:添加允许TCP 22端口,源为 172.31.0.0/16
    • 出站规则:添加允许TCP 22端口的响应流量(可以宽松点设为允许所有出站,或者匹配源端口22、目标为堡垒机IP段)
      因为NACL是无状态的,入站和出站规则都要配置,缺一不可。

6. 检查EC2实例的本地防火墙

如果应用服务器是Linux系统,可能开启了iptables或firewalld,阻断了SSH连接:

  • 如果你能通过其他方式登录应用服务器(比如控制台的EC2 Instance Connect),执行以下命令检查:
    sudo iptables -L
    sudo firewall-cmd --list-all
    
  • 确认本地防火墙没有拒绝来自172.31.0.0/16的22端口流量。

7. 用工具定位故障点

在堡垒机上执行以下命令,能帮你快速判断是路由问题还是端口阻断:

  • 测试端口连通性:telnet 10.2.60.4 22,如果显示Connected说明端口通了,否则是端口阻断;如果显示Connection timed out大概率是路由或NACL问题
  • 跟踪路由路径:traceroute 10.2.60.4 或 mtr 10.2.60.4,看数据包在哪个节点停止转发

先优先修正路由表的错误,这是最明显的问题,然后再按上面的步骤逐一排查,应该能解决问题。

内容的提问来源于stack exchange,提问作者donkeyx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:53:27