1. 结论速览

核心结论:

  • VLAN 内主机通信:只走二层交换,不需要路由。前提是两台主机 IP 属于同一网段同一 VLAN(跨交换机时经 Trunk 链路互通,仍是二层行为)。
  • 跨 VLAN 主机通信:必须经过三层设备。由三层交换机 SVI(VLANIF)、单臂路由或防火墙完成路由转发,需要正确配置路由(直连/静态/动态路由或策略路由 PBR)
  • 中间有防火墙时:除了路由可达,还必须配置防火墙安全策略。防火墙默认拒绝所有跨区域/跨 VLAN 转发流量,需按五元组显式放行;回程流量由状态检测自动放行。
  • 容易忽略的一点:即使 IP 在同一网段,但两台主机被划入不同 VLAN,也无法直接二层互通——必须按跨 VLAN 三层方式通信,或修正 VLAN 划分。
    场景转发层级需要路由?需要防火墙策略?关键依赖
    同 VLAN · 同交换机二层视拓扑Access 端口划分正确、MAC 地址表
    同 VLAN · 跨交换机二层视拓扑Trunk 链路放行该 VLAN(802.1Q)
    跨 VLAN · 同三层交换机三层是(直连路由)视拓扑SVI 网关地址、主机网关配置正确
    跨 VLAN · 跨设备(含防火墙)三层是(静态/动态/PBR)路由可达 + 防火墙安全策略放行

    2. 核心概念

    概念层级说明
    VLAN二层虚拟局域网,将一个物理交换网络在逻辑上隔离为多个广播域。不同 VLAN 的帧在二层互相隔离,广播帧无法穿越 VLAN 边界。
    Access 端口二层连接主机的端口,只属于一个 VLAN。收到不带标签的帧后打上该 VLAN 的 PVID 标签(内部标识),发出前剥离标签。
    Trunk 端口二层交换机间互联端口,允许多个 VLAN 的帧通过,使用 802.1Q 在以太网帧中插入 4 字节 VLAN Tag(VLAN ID)。
    MAC 地址表二层交换机学习"MAC 地址 → 端口 → VLAN"的映射,用于单播帧精确转发;未知单播、广播、组播帧在 VLAN 内泛洪。
    ARP二/三层之间地址解析协议,通过广播请求获取同一广播域内目标 IP 对应的 MAC 地址。
    SVI / VLANIF三层三层交换机上 VLAN 的虚拟三层接口,作为该 VLAN 内主机的网关(如 VLANIF 10 = 192.168.10.1/24)。
    路由表 / FIB三层指导 IP 报文转发的目的网段 → 下一跳/出接口映射;FIB 为硬件快速转发表。
    策略路由 PBR三层基于"策略"(源地址、协议、应用等)而非目的地址决定转发路径的机制,优先于常规路由表。
    防火墙安全策略三层及以上基于安全区域 + 五元组(源/目的 IP、源/目的端口、协议)+ 用户/应用控制流量放行或拒绝,默认拒绝。

    3. 主机如何判断走二层还是三层

    主机的协议栈在发送数据包前只做一件简单的事:用自己的 IP/掩码与目的 IP 做按位与运算,判断目的 IP 是否在同一网段

    4. VLAN 内主机通信(纯二层)

    4.1 场景一:两台主机接在同一台交换机

    4.2 场景二:同 VLAN 但接在不同交换机(经 Trunk)

    两台主机属于同一 VLAN,但分别接在两台不同的交换机上。此时帧需要经过交换机之间的 Trunk 链路(802.1Q 打标签)传输——这仍然是纯二层转发,不涉及任何三层路由

    4.3 VLAN 内通信的配置要点

    # ===== 华为 VRP:接入端口与 Trunk =====
    vlan batch 10 20                        # 创建 VLAN
    
    interface GigabitEthernet0/0/1          # 接 PC1
     port link-type access
     port default vlan 10
    
    interface GigabitEthernet0/0/24         # 交换机互联(Trunk)
     port link-type trunk
     port trunk allow-pass vlan 10 20       # 必须放行 VLAN10,否则同 VLAN 跨交换机不通
    
    # ===== Cisco IOS 等价配置 =====
    vlan 10
    vlan 20
    
    interface GigabitEthernet0/1
     switchport mode access
     switchport access vlan 10
    
    interface GigabitEthernet0/24
     switchport mode trunk
     switchport trunk allowed vlan 10,20

    同 VLAN 不通的常见原因:两端端口 VLAN 划分不一致(Access 口 PVID 不同)、Trunk 未放行该 VLAN、端口被 shutdown、MAC 地址表攻击防护误触发、主机掩码配置错误导致误判网段。

    5. 跨 VLAN 主机通信(三层)

    VLAN 在二层是隔离的,广播帧(包括 ARP)无法穿越 VLAN 边界。因此跨 VLAN 通信必须引入三层设备终结二层、执行路由转发。主流实现有三种方案:

    方案原理优点缺点 / 适用场景
    三层交换机 SVI
    (推荐)
    在三层交换机上为每个 VLAN 创建 VLANIF/SVI 接口作为网关,硬件 ASIC 完成"一次路由、多次交换"(MLS)性能高(线速)、时延低、无单点瓶颈仅提供路由,无安全管控;适合纯内网互访
    单臂路由
    (Router-on-a-Stick)
    路由器一个物理接口划分子接口,各子接口对应一个 VLAN 网关,Trunk 相连利用现有路由器,成本低单链路带宽瓶颈、时延较高;适合小型网络或过渡方案
    防火墙做网关防火墙接口/子接口作为各 VLAN 网关,VLAN 间互访必须经过防火墙安全策略集中安全管控、审计、IPS/AV 等高级特性性能损耗、策略维护量大;适合需要安全隔离的区域间互访

    5.1 完整转发路径(三层交换机方案)

    5.2 跨 VLAN 的基础配置(网关部分)

    # ===== 华为 VRP:三层交换机 SVI 网关 =====
    vlan batch 10 20
    
    interface Vlanif10                          # VLAN10 的网关
     ip address 192.168.10.1 255.255.255.0
    
    interface Vlanif20                          # VLAN20 的网关
     ip address 192.168.20.1 255.255.255.0
    
    # 此时 CORE 自动产生两条直连路由:
    #   Direct 192.168.10.0/24  →  Vlanif10
    #   Direct 192.168.20.0/24  →  Vlanif20
    # VLAN10 与 VLAN20 之间互访在 CORE 内部即可完成,无需额外路由配置
    
    # ===== Cisco IOS 等价配置 =====
    interface Vlan10
     ip address 192.168.10.1 255.255.255.0
    interface Vlan20
     ip address 192.168.20.1 255.255.255.0
    ip routing                                 # 思科交换机需手动开启三层路由功能

    主机侧必须正确配置默认网关(PC1 → 192.168.10.1,PC3 → 192.168.20.1),否则主机连 ARP 网关这一步都无法完成——这是跨 VLAN 不通的第一排查点。

    6. 报文变化对比:VLAN 内 vs 跨 VLAN

    对比项VLAN 内通信(二层)跨 VLAN 通信(三层)
    源/目的 IP 地址端到端不变端到端不变(除 NAT 场景)
    源/目的 MAC 地址端到端不变(始终是两台主机自己的 MAC)逐跳重写:每过一个三层设备,源/目的 MAC 全部更换
    TTL不变每过一个三层设备减 1
    ARP 对象目的主机本身默认网关(三层设备接口)
    是否查路由表是,每个三层设备均查 FIB
    广播帧能否到达对方能(同一广播域)不能(路由器默认不转发广播,除非定向转发)
    802.1Q TagAccess 收发剥离,Trunk 链路上携带同左;三层设备收到后按 VLAN 映射到对应三层接口
    典型故障现象不通多为端口 VLAN/Trunk 问题不通多为网关、路由缺失或防火墙拒绝

    6.1 逐跳报文示例

    链路位置目的 MAC源 MACVLAN TagIP 源 → 目的TTL
    PC1 → SW1(VLAN 内场景)MAC-BBMAC-AA无(Access 剥离).10.11 → .10.1264
    SW1 → SW2(Trunk 链路)MAC-BBMAC-AAVLAN 10.10.11 → .10.1264
    PC1 → CORE(跨 VLAN 场景)MAC-G1(网关)MAC-AA.10.11 → .20.1364
    CORE → PC3(跨 VLAN 场景)MAC-CCMAC-G2(网关).10.11 → .20.1363

    7. 路由策略配置

    当 VLAN 网段跨越多台三层设备(如接入到核心、核心到出口、跨机房)时,仅有直连路由不够,需要配置静态路由、动态路由或策略路由保证路由的双向可达。

    7.1 路由方式对比

    方式原理适用场景注意事项
    直连路由接口配置 IP 后自动生成同一三层设备上的 VLAN 互访无需配置,检查接口 up 即可
    静态路由手工指定目的网段 → 下一跳拓扑简单、稳定的中小网络不随拓扑变化自动收敛;必须双向配置
    默认路由匹配所有未知目的网段指向出口/上级设备避免环路;内网明细路由应更精确
    动态路由(OSPF/BGP)邻居自动学习、收敛多设备、多区域大型网络需规划区域、成本、认证
    策略路由 PBR基于源地址/应用等指定转发路径,优先于路由表多出口选路、引流至安全设备只影响去程,回程需对称考虑

    7.2 静态路由 + 默认路由配置

    # ===== 华为 VRP =====
    # CORE 指向出口防火墙的默认路由
    ip route-static 0.0.0.0 0.0.0.0 10.1.1.2
    
    # 出口设备回指内网各 VLAN 网段(汇总为一条)
    ip route-static 192.168.0.0 255.255.0.0 10.1.1.1
    
    # ===== Cisco IOS =====
    ip route 0.0.0.0 0.0.0.0 10.1.1.2
    ip route 192.168.0.0 255.255.0.0 10.1.1.1

    路由必须双向可达:本端有去程路由、对端必须有回程路由。单向路由缺失的表现是"ping 不通但能收到对方的回包痕迹"或完全无响应,排查时用 tracert 观察断点位置。

    7.3 动态路由(OSPF)配置

    # ===== 华为 VRP =====
    ospf 1 router-id 1.1.1.1
     area 0.0.0.0
      network 192.168.10.0 0.0.0.255      # 宣告 VLAN10 网段
      network 192.168.20.0 0.0.0.255      # 宣告 VLAN20 网段
      network 10.1.1.0 0.0.0.3            # 宣告互联网段
    
    # 三层互联口建议改为三层路由口(非 Trunk),提高收敛效率
    interface GigabitEthernet0/0/24
     undo portswitch                        # 华为:二层口转三层口
     ip address 10.1.1.1 255.255.255.252
    
    # ===== Cisco IOS =====
    router ospf 1
     router-id 1.1.1.1
     network 192.168.10.0 0.0.0.255 area 0
     network 192.168.20.0 0.0.0.255 area 0
     network 10.1.1.0 0.0.0.3 area 0

    7.4 策略路由(PBR)配置:按源地址引流

    典型需求:VLAN10(办公)与 VLAN20(服务器)访问外部时走不同出口,或部分流量强制经清洗设备。

    # ===== 华为 VRP:MQC 方式 PBR =====
    acl number 3001
     rule 5 permit ip source 192.168.10.0 0.0.0.255    # 匹配 VLAN10 源网段
    
    traffic classifier c1
     if-match acl 3001
    
    traffic behavior b1
     redirect ip-nexthop 10.2.1.254                     # 强制下一跳(如清洗设备/备用出口)
    
    traffic policy p1
     classifier c1 behavior b1
    
    interface Vlanif10
     traffic-policy p1 inbound                          # 在入方向应用策略路由
    
    # ===== Cisco IOS =====
    ip access-list extended VLAN10-SRC
     permit ip 192.168.10.0 0.0.0.255 any
    
    route-map PBR-VLAN10 permit 10
     match ip address VLAN10-SRC
     set ip next-hop 10.2.1.254
    
    interface Vlan10
     ip policy route-map PBR-VLAN10

    PBR 只改变去程路径,回程流量仍按对端路由表返回。若需要对称路径(如 IPS/清洗设备),必须在回程方向做对应的引流设计,否则会出现单边可达或非对称路由引发的会话问题(尤其是有状态设备)。

    8. 防火墙策略配置

    当 VLAN 互访路径中间部署防火墙时(防火墙做各 VLAN 网关,或串接在三层路径之间),仅有路由是不够的——防火墙默认拒绝所有转发流量,必须显式配置安全策略。

    8.1 防火墙的三个核心模型

    模型说明
    安全区域(Zone)接口按信任程度划入区域:Trust(内网)、DMZ(服务器)、Untrust(外网)等。VLAN 间互访即区域间(Inter-Zone)或同域(Intra-Zone)互访。
    安全策略按序匹配:源区域 → 目的区域 → 源/目的地址 → 五元组(协议、端口)→ 用户/应用/时间段,命中即执行动作(permit/deny),未命中走默认拒绝。
    状态检测首包建立会话表,记录五元组与序列号;该会话的后续及回程报文直接按会话表放行,无需再匹配策略——因此只需配置单向(发起方向)策略

    8.2 典型拓扑

    8.3 华为 USG 防火墙策略配置

    # ===== 1. 接口划入安全区域 =====
    firewall zone trust
     add interface GigabitEthernet1/0/1
    
    firewall zone dmz
     add interface GigabitEthernet1/0/2
    
    # ===== 2. 接口地址(作为各 VLAN 网关)=====
    interface GigabitEthernet1/0/1
     ip address 192.168.10.1 255.255.255.0
    
    interface GigabitEthernet1/0/2
     ip address 192.168.20.1 255.255.255.0
    
    # ===== 3. 安全策略:VLAN10 → VLAN20 访问服务器 =====
    security-policy
     rule name allow-office-to-dmz
      source-zone trust
      destination-zone dmz
      source-address 192.168.10.0 24
      destination-address 192.168.20.0 24
      service http https                     # 最小化放行,仅开必要端口
      action permit
    
     rule name deny-office-to-dmz-telnet     # 显式拒绝管理协议
      source-zone trust
      destination-zone dmz
      source-address 192.168.10.0 24
      destination-address 192.168.20.0 24
      service telnet
      action deny
    
    # 未命中任何策略的流量 → 默认拒绝(无需配置)
    
    # ===== 4. 地址对象与服务定义(推荐用对象而非裸 IP)=====
    ip address-set office-vlan10 type object
     address 0 192.168.10.0 mask 24
    ip address-set dmz-servers type object
     address 0 192.168.20.0 mask 24

    8.4 Cisco ASA 防火墙策略配置

    # ===== 接口划区域(安全级别:内网高、DMZ 中)=====
    interface GigabitEthernet0/1
     nameif inside
     security-level 100
     ip address 192.168.10.1 255.255.255.0
    
    interface GigabitEthernet0/2
     nameif dmz
     security-level 50
     ip address 192.168.20.1 255.255.255.0
    
    # ===== ACL 放行 VLAN10 → 服务器区(应用在入方向)=====
    access-list inside-to-dmz extended permit tcp 192.168.10.0 255.255.255.0 192.168.20.0 255.255.255.0 eq 443
    access-list inside-to-dmz extended permit tcp 192.168.10.0 255.255.255.0 192.168.20.0 255.255.255.0 eq 80
    access-group inside-to-dmz in interface inside
    
    # ===== 高到低默认允许,但显式 ACL 收紧;回程靠状态表自动放行 =====
    same-security-traffic permit inter-interface    # 若存在相同安全级别区域互访需要此命令

    8.5 策略设计要点

    原则说明
    最小权限按"源区域+源地址+目的地址+具体服务端口"精细放行,禁止大网段 any-to-any permit
    默认拒绝依赖默认 deny,把"拒绝"作为兜底而非逐条排除;显式 deny 规则仅用于审计需要
    策略顺序自上而下首次命中即生效:明细规则在前、宽泛规则在后;周期性整理冗余与影子策略
    单向配置状态检测下只需配置发起方向;对无状态的透明 ACL 设备需双向配置
    同域互访华为 USG 同一安全区域内流量默认也是拒绝的,需要配置 source-zone 与 destination-zone 相同的域内策略
    日志与审计放行策略开启会话日志,deny 兜底策略记录命中计数,定期导出审计
    健康检查跨 VLAN ping 排障时注意防火墙可能默认不回应 ping 或策略未放行 ICMP,避免误判路由问题

    9. 端到端完整路径逐步分解(含防火墙)

    以最完整场景为例:PC1(VLAN10,192.168.10.11)访问服务器 SVR(VLAN20,192.168.20.13),中间经过接入交换机 → 防火墙(兼做网关)→ 接入交换机。

    步骤节点动作关键检查项
    1PC1 协议栈判定 .20.13 跨网段,查询本机路由/网关 → 192.168.10.1主机网关、掩码配置正确
    2PC1 ↔ 接入交换机ARP 广播请求网关 MAC(帧泛洪于 VLAN10 内)端口 Access VLAN10 正确
    3防火墙 Trust 口网关接口回应 ARP(网关 MAC-G1);PC1 缓存 ARP 表项接口 up、IP 正确、区域归属正确
    4PC1 → 防火墙发送以太网帧 [MAC-G1 | MAC-AA | IP .10.11→.20.13] TTL=64物理链路、双工正常
    5防火墙三层引擎终结二层 → 匹配安全策略(区域/地址/服务)→ 允许则建立会话表,拒绝则丢弃并记日志策略命中日志(最常见故障点)
    6防火墙路由查 FIB:192.168.20.0/24 → 直连 DMZ 口;ARP 获取 SVR 的 MAC路由表项存在(直连/静态/OSPF)
    7防火墙 DMZ 口 → SVR重写帧头 [MAC-SVR | MAC-G2 | IP 不变] TTL=63 发出DMZ 口 Access/子接口 VLAN 匹配
    8SVR目的 MAC 匹配本机 → 解封装 → 应用层响应;回程报文源目对调服务器网关指向 .20.1、本机防火墙放行服务端口
    9防火墙(回程)匹配既有会话表自动放行,不再重复策略匹配会话老化时间 > 业务空闲间隔
    10PC1收到响应帧,完成一次往返通信端到端时延/丢包统计

    10. 故障排查

    10.1 分层排查法(从近到远)

    # 第一步:本机与网关
    PC1> ipconfig /all                               # 核对 IP、掩码、网关、VLAN 归属
    PC1> ping 192.168.10.1                           # 通 = 二层与网关正常;不通查端口 VLAN/链路
    
    # 第二步:网关侧连通性(在三层设备/防火墙上)
    [CORE] display ip interface brief                # 接口与协议状态必须均为 up
    [CORE] display ip routing-table 192.168.20.0     # 回程去程路由是否存在
    [CORE] ping -a 192.168.10.1 192.168.20.13        # 指定源地址测试跨 VLAN 转发
    
    # 第三步:路径追踪,定位断点
    PC1> tracert -d 192.168.20.13                    # 观察在哪一跳中断
    
    # 第四步:防火墙策略与会话(若路径含防火墙)
    [USG] display firewall session table verbose destination 192.168.20.13
    [USG] display security-policy rule all           # 策略命中计数
    [USG] display firewall statistic system discard  # 丢包统计(按原因分类)
    
    # 第五步:二层细节(VLAN 内不通时)
    [SW] display vlan                                # VLAN 与端口归属
    [SW] display mac-address vlan 10                 # MAC 学习是否正常
    [SW] display port vlan                           # Access/Trunk 与放行列表

    10.2 症状 → 根因速查表

    症状最可能根因验证手段
    同 VLAN 不通,跨 VLAN 反而正常端口 VLAN 划分错误 / Trunk 未放行display vlan / display port vlan
    ping 网关通,ping 跨 VLAN 不通对端回程路由缺失 / 主机网关配错双方 display ip routing-table
    tracert 在防火墙一跳后中断防火墙策略未放行或安全区域配置错误会话表 + 策略命中日志
    偶发不通、大流量时丢包非对称路由绕开有状态设备 / ARP 表项抖动会话表路径核对、MAC/ARP 漂移检查
    能 ping 通但应用访问失败防火墙只放行了 ICMP 未放行业务端口策略中 service 明细核对
    主机获得 IP 却完全不通同网段但划入不同 VLAN(二三层判断冲突)核对两端端口 VLAN 一致性

    11. 最佳实践

    1. VLAN 规划与 IP 规划一一对应:一个 VLAN 一个网段,从源头杜绝"同网段不同 VLAN"的二义性。
    2. 网关集中部署:网关统一放在核心三层交换机或防火墙,避免多网关、VRRP 不一致问题。
    3. 内网高吞吐互访走三层交换机,需安全管控的互访走防火墙:安全与性能分层设计,不要把所有流量压到防火墙。
    4. 防火墙策略对象化 + 命名规范:地址集、服务集、规则名带业务标识,便于审计与变更。
    5. 路由对称性:PBR/多出口场景务必设计回程路径,保证有状态设备看到双向流量。
    6. 变更留痕:策略与路由变更前导出配置快照,配置 NTP 保证日志时间准确。
    7. 监控三件套:接口流量、路由邻居状态(OSPF neighbor)、防火墙策略命中与丢包计数接入监控告警。

    12. 术语表

    缩写全称 / 中文
    SVI / VLANIFSwitch Virtual Interface / 交换机虚拟接口(华为称 VLANIF)
    PVIDPort VLAN ID,Access 端口默认 VLAN
    FIBForwarding Information Base,转发信息表
    PBRPolicy-Based Routing,策略路由
    MLSMulti-Layer Switching,多层交换(一次路由、多次交换)
    USG华为统一安全网关(防火墙产品线)
    VRRP虚拟路由冗余协议(网关双活/主备)
    五元组源 IP、目的 IP、源端口、目的端口、协议号

    13. 云上 VPC:与传统网络的映射

    公有云 VPC(Virtual Private Cloud)本质上是云厂商用 SDN + Overlay 隧道(VXLAN 等技术)在共享物理网络上虚拟出来的私有网络。它对用户呈现的语义与自建数据中心高度一致,但角色分工完全不同——底层二层交换、MAC 学习、Trunk、生成树这些全部由云平台托管,用户只需关心三层以上的逻辑配置

    传统网络云上 VPC关键差异
    物理数据中心 / 局域网VPC(虚拟私有云)VPC 是三层逻辑边界,默认相互隔离
    VLAN(二层广播域)子网 Subnet(三层网段)云上隔离单位是三层网段而非 VLAN 标签;子网绑定可用区(AZ)
    接入/汇聚交换机虚拟交换机(阿里云 VSwitch / 腾讯云子网 / AWS Subnet)用户不可见不可管理,由宿主机虚拟交换(OVS 等)实现
    三层交换机 SVI / 网关VPC 路由器 VRouter(系统托管)隐式存在,通过"路由表"体现,无设备实体可登录
    802.1Q Trunk / VXLAN云厂商 Overlay 隧道(VXLAN / 私有协议)对用户完全透明,不存在配置 Trunk 的概念
    防火墙安全策略安全组 SG(实例/网卡级,有状态)+ 网络 ACL(子网级,无状态安全组是分布式作用于虚拟网卡的"随身防火墙",回程自动放行
    静态 / 动态路由VPC 路由表(系统路由 local + 自定义路由)local 路由不可删;自定义路由支持下一跳为网关/对等连接/ENI 等
    MAC 地址表 / ARP 泛洪SDN 控制器下发流表 / 分布式 ARP 代理没有广播风暴问题;ARP 行为由平台代答或压制

    云上通信与传统网络的对应关系速记:

    • 同子网通信 ≈ VLAN 内通信(二层直达,但受安全组约束)
    • 同 VPC 跨子网 ≈ 同一台三层交换机上的跨 VLAN(VRouter 直连路由自动放行,无需手工配路由)
    • 跨 VPC ≈ 跨机房/跨设备的三层互通(必须显式建立互联:对等连接 / 云联网 / VPN / 专线,并配置路由)
    • 安全组 ≈ 防火墙策略(默认拒绝入站,需显式放行;有状态,只需配单向)

    14. VPC 内主机通信

    14.1 原理与路径

    场景转发路径需要路由配置?需要安全组放行?
    同子网 ECS 互访二层直达(底层 Overlay 隧道,用户无感)是(最高频故障点)
    同 VPC 跨子网VRouter 三层转发(local 系统路由)否(除非自定义路由表覆盖)
    跨可用区(跨 AZ)底层经云厂商骨干网,逻辑上仍是子网内/VPC 内路由

    14.2 关键配置项

    • VPC CIDR 规划:使用 RFC1918 私网段(10.x / 172.16-31.x / 192.168.x),规划时必须预留未来跨 VPC / 混合云互联的地址空间,避免 CIDR 重叠(重叠将导致互联后路由失效,且事后改动代价极大)。
    • 子网 CIDR:子网是 VPC CIDR 的细分,云厂商会保留少量系统 IP(如每子网前几个地址);子网绑定可用区。
    • 路由表:每个子网必须关联一张路由表;系统自动注入 local 路由(目的 = VPC CIDR,下一跳 local,不可删除、优先级最高)。
    • 安全组规则:入/出方向、协议端口、源/目的地址;规则评估为"有规则即放行、无规则即拒绝",无显式 deny。
    厂商默认安全组行为同安全组内互通
    阿里云默认安全组:入方向放行 22/3389 + ICMP;其余拒绝默认安全组内实例互相放通;自定义组需显式配置(源选本安全组)
    腾讯云模板可选(放通全部/常用端口/自定义);入站默认逻辑为未配置即拒绝安全组内"组内互访"开关,开启后同组实例互访放通
    AWS默认安全组:允许同安全组实例互访 + 出站全放;自定义安全组默认入站全拒源/目的填安全组 ID 即可实现组内互访
    # ===== 安全组规则示例(通用语义,各家控制台表述类似)=====
    # 目标:允许子网 A 的 ECS1 访问子网 B 的 ECS3 的 443 端口
    
    ECS3 绑定的安全组 SG-B · 入方向规则:
      协议: TCP   端口: 443   源地址: 10.0.1.0/24(或源安全组 SG-A)   策略: 允许
    
    # 出方向:通常默认全放行(或按需收紧);回程流量由状态机制自动放行,无需配反向规则
    
    # ===== 排错用:验证 ECS 上实际生效路径 =====
    ECS1$ ping 10.0.2.13                        # 先测三层连通
    ECS1$ traceroute 10.0.2.13                  # 首跳即到对端(VRouter 隐藏,多数云不回应 TTL 超时,属正常)
    ECS1$ curl -v telnet://10.0.2.13:443        # 测端口(ping 通不代表端口通)
    ECS3$ sudo tcpdump -i eth0 host 10.0.1.11   # 抓包判断包是否到达(区分安全组丢包 vs 路由丢包)

    15. 跨 VPC 主机通信

    15.1 五种互联方式对比

    不同 VPC 默认完全隔离(即使 CIDR 不同、同账号同地域)。跨 VPC 通信必须显式建立三层互联通道,并在双方路由表配置指向该通道的路由。

    方式原理路由配置带宽 / 时延典型场景
    对等连接
    Peering
    两条 VPC 间点对点通道,流量走云内网骨干双方路由表各自手工加路由同地域高;跨地域取决于地域间骨干少量 VPC 两两互通
    云联网 CEN /
    Transit Gateway
    中心化 Hub,挂载多个 VPC,全网状互通挂载后路由自动学习传播,可配路由策略过滤跨地域需带宽包/跨地域带宽多 VPC 多账号大规模组网(首选)
    VPN 网关
    (IPsec)
    公网加密隧道,SD-WAN 逻辑路由表指向 VPN 网关 + 双端感兴趣流一致受公网质量影响,时延抖动较大低成本混合云、灾备链路
    专线 +
    专用通道
    物理专线接入云接入点(独占/共享端口)边界路由器 BGP/静态发布路由最优、最稳定生产级混合云、大带宽低时延
    PrivateLink /
    终端节点
    服务提供方 VPC 中创建终端服务,消费方 VPC 建端点单向访问端点自动注入 /32 路由同地域内网质量跨账号暴露服务而不打通全网

    对等连接的三个硬性限制:① 两端 CIDR 不能重叠(重叠网段路由无效);② 不具备传递性——A-B、B-C 两条 Peering 不能让 A 经 B 到达 C,中转需求必须用 CEN/TGW;③ 路由必须双向配置,只配一边则单向可达。

    15.2 配置步骤(以对等连接为例,三厂商对照)

    # ===== 通用四步(腾讯云 / 阿里云 / AWS 控制台语义一致)=====
    1. 创建对等连接
       发起方选择本端 VPC-A、对端 VPC-B(跨账号时填对方账号 ID)
       跨账号场景:对端账号登录后"接受"连接(未接受则通道无效)
    
    2. 配置本端路由(VPC-A 各子网关联的路由表)
       目的网段: 10.2.0.0/16   下一跳类型: 对等连接   下一跳: pcx-xxxx
    
    3. 配置对端路由(VPC-B 各子网关联的路由表)—— 必须双向!
       目的网段: 10.1.0.0/16   下一跳类型: 对等连接   下一跳: pcx-xxxx
    
    4. 安全组放行
       VPC-B 中目标 ECS 的安全组入方向: 源 10.1.0.0/16 + 协议端口
    
    # ===== AWS CLI 等价操作 =====
    aws ec2 create-vpc-peering-connection --vpc-id vpc-a --peer-vpc-id vpc-b --peer-owner-id <对方账号>
    aws ec2 accept-vpc-peering-connection --vpc-peering-connection-id pcx-xxxx      # 对端账号执行
    aws ec2 create-route --route-table-id rtb-a --destination-cidr-block 10.2.0.0/16 \
        --vpc-peering-connection-id pcx-xxxx
    aws ec2 create-route --route-table-id rtb-b --destination-cidr-block 10.1.0.0/16 \
        --vpc-peering-connection-id pcx-xxxx
    
    # ===== 云联网 CEN(以腾讯云为例)=====
    1. 创建云联网实例(选择计费模式:按带宽 / 按流量)
    2. 关联网络实例:将 VPC-A、VPC-B(可跨账号,需对方账号确认)加入云联网
    3. 路由自动发布:检查各 VPC 路由表已自动学习对端网段(也可在云联网路由表配置策略控制发布/接收)
    4. 跨地域互通:购买跨地域带宽并分配给地域间链路

    15.3 跨 VPC 报文路径特征

    对比项说明
    IP 地址内网 IP 端到端不变(Peering/CEN/专线);VPN 场景同样不变,仅外层隧道封装变化
    MAC 地址对用户不可见——Overlay 隧道重新封装,两端的"虚拟网关"代答 ARP
    TTL跨 VPC 一般表现为减 1 或对用户透明(不同厂商实现不同),不影响排障
    二层互通性不同 VPC 二层永远隔离(无特别配置时),跨 VPC 只有三层语义
    回程流量按对端 VPC 路由表返回;安全组有状态,回程自动放行

    16. 云上常见问题排查

    16.1 分层排查路径(由近及远)

    # 第一步:实例与安全组层(占云上"不通"问题的绝大多数)
    ECS$ ip addr / ifconfig                      # 核对私网 IP、确认网卡正常
    控制台 → ECS → 安全组 → 入方向规则             # 源网段/端口是否覆盖当前访问
    ECS$ sudo tcpdump -i eth0 host <对端IP>      # 包到了吗?到了不回 = 本机/安全组问题
    
    # 第二步:路由层
    控制台 → VPC → 路由表 → 检查子网关联的路由表:
      ① local 路由存在且未被自定义路由遮蔽
      ② 跨子网:无需额外路由(local 覆盖全 VPC)
      ③ 跨 VPC:去程 + 回程两侧路由表均需指向 Peering/CEN/VPN 网关
    
    # 第三步:互联通道层
    控制台 → 对等连接状态(未接受/已失效/CIDR 重叠告警)
    控制台 → 云联网路由表(对端网段是否已学习、是否被路由策略过滤)
    控制台 → VPN 通道状态(SA 是否协商成功、感兴趣流两端是否对称)
    
    # 第四步:路径验证
    ECS1$ ping <对端IP>                          # 三层连通性
    ECS1$ telnet/curl <对端IP> <端口>            # 四层连通性(ping 通≠端口通)
    VPC 流日志 Flow Logs                         # 按五元组过滤 ACCEPT/REJECT 记录,定位丢弃位置

    16.2 症状 → 根因速查表

    症状最可能根因验证手段
    同子网两台 ECS 互相 ping 不通安全组未放行(最高频);IP/掩码错配tcpdump 看包是否到达 + 安全组规则核对
    同 VPC 跨子网不通子网关联了自定义路由表且缺少 local/覆盖错误;网络 ACL 显式拒绝路由表 local 条目 + ACL 规则顺序
    Peering 通了一半(单通)只配了一侧路由;对端安全组未放行两侧路由表逐一核对;流日志查 REJECT
    Peering 创建成功但不通CIDR 重叠、跨账号未接受、路由表关联的子网不覆盖发起端对等连接状态告警 + 路由表核对
    CEN 挂载了但不通路由未传播(路由策略过滤)、跨地域带宽未购买/耗尽、账号未授权云联网路由表学习状态 + 带宽监控
    VPN 隧道时通时断IKE 参数/预共享密钥不一致、感兴趣流不对称、NAT-T 环境协商异常VPN 通道协商日志(IKE 阶段一/二)
    ping 通但业务端口不通安全组只放行了 ICMP;目标服务未监听;ACL 无状态需双向放行telnet 端口 + 服务端 ss/netstat
    公网访问不通(顺带)EIP 未绑定、安全组未放行公网源、实例欠费停机EIP 绑定状态 + 账户状态

    16.3 云上 vs 线下排障思维差异

    • 先查安全组,再查路由:与线下"先路由后策略"相反,云上分布式安全组是默认控制点,命中概率最高。
    • 没有设备 CLI 可登录:VRouter 是托管的,排障靠控制台路由表、流日志、连通性诊断工具,而不是 display 命令。
    • traceroute 参考价值下降:虚拟路由器多不回应 ICMP TTL 超时,路径"看起来断了"但实际通,需结合流日志判断。
    • 抓包仍是最硬的证据:tcpdump 能区分"包没到(路由/通道问题)"与"包到了没回(安全组/主机问题)"。
    • 变更留痕同样重要:路由表、安全组、Peering 变更走工单/审计日志,配置快照与回滚预案先行。
    Logo

    DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

    更多推荐