云网络诊断是什么
云上排障要顺着平台的分层结构走:安全组、网络 ACL、路由表、NAT 或网关、实例内防火墙,每一层都可能丢弃流量,而且丢弃行为未必留下日志。同时要善用平台提供的能力:VPC 流日志、连接日志、网关与 NAT 指标、云端抓包、健康检查拨测。把这些能力与实例侧的常规套件配合起来,才能把『云上不通』拆成具体某一层的具体规则。
基本信息
| 排查顺序 | 安全组(有状态)→ 网络 ACL(无状态)→ 路由表 → NAT/网关 → 实例内防火墙 |
|---|---|
| 平台工具 | 流日志、连接日志、网关指标、云端抓包、健康检查 |
| 实例套件 | ip -br addr、ip route、ss、tcpdump 全套常规命令 |
| 关键差异 | 安全组有状态、网络 ACL 无状态,回程规则要求不同 |
典型使用场景
- 新实例对外服务不通:按分层顺序逐层核对,避免在实例内反复抓包
- 回程流量被拦:出站放行不代表回包能进来,检查无状态 ACL 的返回方向
- 跨 VPC 或混合云访问:核对路由表与对等连接、专线网关的生效路由
- 出网访问不稳定:查看 NAT 网关指标与会话数上限,区分带宽瓶颈与规则拦截
实例侧取证
实例侧取证
# 接口与路由状态
ip -br addr; ip route
# 确认服务监听在哪个地址与端口
ss -tlnp | grep -E ':80|:443'
# 云主机元数据服务(用于确认实例身份与网络信息,各厂商地址不同)
curl -sS -m 2 http://100.100.100.200/latest/meta-data/ 2>/dev/null | head -5
# 实例内防火墙是否也在拦
iptables -L INPUT -nv --line-numbers | head -20分层责任与取证
| 层 | 特性 | 取证方式 |
|---|---|---|
| 安全组 | 有状态,回程自动放行 | 平台控制台查规则与命中情况 |
| 网络 ACL | 无状态,需显式放行双向 | 核对入站与出站两侧规则 |
| 路由表 | 决定下一跳 | 确认子网关联路由与对等连接路由 |
| NAT/网关 | 存在会话与带宽上限 | 查看网关指标与会话数 |
| 实例内防火墙 | 与平台规则互不感知 | 用 iptables 计数器追踪 |
把排查顺序固定成『从外到内』:先用流日志与安全组命中情况确认平台上是否已有流量,再进实例抓包。顺序颠倒会在实例里白抓很久。
无状态网络 ACL 是云上最常踩的坑:出站放行不代表回包能进来,必须显式放行返回方向。漏配时的表现是『能发包但收不到响应』,实例侧抓包只能看到单向流量。