安全与运维

私网实例不通怎么排查?

从通信方向、端口、路由和安全组规则逐层检查,区分请求未到达、回包走错路与访问策略拦截,并提供可执行的排查顺序。

两台计算实例都显示运行正常,私网地址也在同一网段,连接却超时,问题未必出在实例本身。计算实例私网互通故障的安全组与路由排查,应先确认流量是否有路可走,再检查请求方向和返回路径,避免只反复放宽规则。

先把通信条件说清楚

记录发起端和接收端的私网 IP、目标端口、协议,以及访问方向。例如,一台 Linux 实例通过 TCP 访问另一台实例的 443 端口,与 ICMP ping 测试不是同一件事:前者验证具体服务端口,后者验证网络层可达性,且可能被单独禁用。

还要核对两端所在的虚拟网络、子网和网段。实例分别位于不同子网时,不能仅凭“同一私网”推断一定互通;跨虚拟网络通信还可能依赖对等连接、网关或专用路由配置。检查实际生效的路由表,而不只看配置页面中的规则名称。

按路径定位故障

  1. 验证服务端口。在接收端确认服务进程正在监听目标端口,并检查操作系统防火墙。Linux 可用 ss -lnt 查看 TCP 监听情况;从发起端用 nc -vz 目标私网 IP 端口测试连接。连接拒绝通常说明主机可达但端口未监听或被拒绝;超时则还需继续检查网络策略和路径。
  2. 逐条检查安全组规则。确认发起端出站规则允许相应协议和目的端口,接收端入站规则允许来自发起端地址或其所属安全组的流量。规则应尽量限定来源网段、协议和端口,不要为了测试长期开放所有来源。部分云平台安全组具有有状态特征,但具体行为和规则优先级应以平台说明为准。
  3. 核对路由表。查看目的网段是否匹配一条有效路由,以及下一跳是否指向正确的本地网络、对等连接或网关。最长前缀匹配会优先选用更具体的网段;一条宽泛路由存在,并不代表实际流量一定走它。可在 Linux 上用 ip route get 目标私网 IP 查看本机选路结果。
  4. 检查返回路径和网络 ACL。请求能到达接收端,不代表响应一定能回到发起端。跨网段或经过网关时,要确认两侧都有正确路由。若网络 ACL 是无状态的,返回流量也需要相应规则;临时端口范围和规则顺序应按平台及系统配置核实。

根据现象缩小范围

同子网实例互通失败

优先核对两端安全组、实例内防火墙、目标服务监听地址,以及子网关联的路由和网络 ACL。服务若只绑定 127.0.0.1,只能接受本机连接;即使安全组放行,其他实例仍无法访问。

跨子网或跨网络失败

分别检查两端路由表和连接状态,并确认网段没有重叠。以常见的云网络对等连接为例,连接建立后仍需配置两侧指向对端网段的路由;它通常不等同于自动提供 NAT 或完整的跨网络转发能力。

如果权限允许,可在接收端用 tcpdump 观察目标端口流量:能看到 SYN 却没有响应,重点查服务、防火墙及回程;完全看不到请求,则回头查发起端选路、安全组、网络 ACL 和中间网关。抓包内容可能包含敏感信息,应控制权限和保存时间。

修复后做最小范围复测

每次只调整一项规则或路由,记录变更前后的来源、目的、协议和端口,再用同一条连接测试。修复后删除临时放宽的规则,并从两个方向验证必要业务端口。计算实例私网互通故障的安全组与路由排查,关键是沿实际路径逐跳验证:主机是否监听、规则是否允许、路由能否到达、响应能否返回。

常见问题

能 ping 通,为什么应用仍连接失败?

ping 使用 ICMP,应用通常使用 TCP 或 UDP。还要检查应用端口、监听地址和对应协议的安全规则。

同一子网还需要检查路由吗?

需要确认子网实际关联的路由和网络策略;同时检查主机防火墙及服务状态,不能只凭网段相同判断。

安全组是否需要同时配置入站和出站?

视平台的状态跟踪机制及现有规则而定。先确认发起方向和目标端口,再按平台规则语义核查双向流量。

怎样区分安全组问题和路由问题?

结合路由查询、规则核对与接收端抓包判断:无有效下一跳偏向路由问题,流量到达实例但被拒绝则重点检查安全组、主机防火墙或服务。

需要选择适合业务的方案?

告诉我们业务地区、配置和预算,客服可协助推荐产品。

相关文章