第213篇:分支与总部 IPsec VPN 组网

关键词

分支 VPN、Hub-Spoke、站点到站点、IPsec 隧道、动态 IP、策略模板、路由注入


一、Hub-Spoke 组网模型

1.1 组网拓扑

企业分支通过 IPsec VPN 接入总部的标准组网:

总部 (Hub) ┌──────────────┐ └──────┬───────┘ 内网:10.0.0.0/8 中心网关 202.1.1.1
│ Internet
--- --- ---
┌──────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐
分支 A (Spoke) 上海 192.168.1.0/24 网关: 10.1.1.1 分支 B (Spoke) 北京 192.168.2.0/24 网关: 10.1.2.1

1.2 Hub-Spoke 的优点

Hub-Spoke 的优势:

1. 配置简化
   每个分支只需配置到总部的 VPN
   分支之间不需要互配

2. 流量汇聚
   所有分支通过总部统一访问互联网
   便于安全策略统一管理

3. 节省公网 IP
   分支可以使用动态 IP(通过 4G/ADSL 拨号)
   只有总部需要固定公网 IP

4. 扩展性强
   增加分支只需在总部添加配置
   不影响已有分支

二、总部(Hub)配置

2.1 策略模板

当分支数量多时,逐个配置对等体效率低。华为防火墙支持IPsec 策略模板,一个模板匹配所有分支:

# IPsec 策略模板(中心站点)
ipsec policy-template SPOKE 1
 ike-peer SPOKE_PEER                       # 关联 IKE 对等体
 proposal PROPOSAL_TUNNEL
!
# 动态 IKE 对等体(匹配所有分支)
ike peer SPOKE_PEER
 ike-proposal 1
 exchange-mode aggressive                   # 野蛮模式(分支动态 IP)
 pre-shared-key Huawei@123
 local-id-type name
 local-id "headquarter"
 remote-id-type name
 remote-id "branch_*"                       # 通配符匹配所有分支 ID
!
# IPsec 提议
ipsec proposal PROPOSAL_TUNNEL
 esp authentication-algorithm sha256
 esp encryption-algorithm aes-256
 encapsulation-mode tunnel
!
# 应用策略模板到接口
interface GigabitEthernet0/0/0
 ipsec policy-template SPOKE                # 应用模板(非固定策略)

2.2 路由注入

分支子网路由需要注入到总部的路由表:

# 分支子网通过 IPsec 自动注入路由(使用动态路由协议)
# 方式一:通过 IPsec 虚拟隧道接口运行 OSPF

interface Tunnel0/0/0
 ip address 10.255.255.1 255.255.255.252    # Hub 侧隧道 IP
 tunnel-protocol ipsec
 ipsec policy POLICY_HUB
!
ospf 1
 area 0.0.0.0
  network 10.255.255.0 0.0.0.255           # 隧道接口宣告
  network 10.0.0.0 0.255.255.255           # 总部内网宣告

# 方式二:静态路由 + NQA 联动
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0
ip route-static 192.168.2.0 255.255.255.0 Tunnel0/0/0
ip route-static 192.168.3.0 255.255.255.0 Tunnel0/0/0

三、分支(Spoke)配置

3.1 分支侧配置

# 分支侧(动态 IP 的公网口)
ike proposal 1
 encryption-algorithm aes-256
 dh group14
 authentication-algorithm sha256
 authentication-method pre-share
!
ike peer HEADQUARTER
 ike-proposal 1
 exchange-mode aggressive
 pre-shared-key Huawei@123
 local-id-type name
 local-id "branch_shanghai"                 # 分支唯一 ID
 remote-id-type name
 remote-id "headquarter"                    # 总部 ID
 remote-address 202.1.1.1                   # 总部固定 IP
!
ipsec proposal PROPOSAL_TUNNEL
 esp authentication-algorithm sha256
 esp encryption-algorithm aes-256
 encapsulation-mode tunnel
!
acl number 3001
 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 10.0.0.0 0.255.255.255
!
ipsec policy POLICY_SPOKE 10 isakmp
 security acl 3001
 ike-peer HEADQUARTER
 proposal PROPOSAL_TUNNEL
!
interface GigabitEthernet0/0/0
 ipsec policy POLICY_SPOKE
!
# 默认路由指向总部
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0

3.2 分支多链路备份

# 主链路:光纤宽带
# 备份链路:4G LTE

# 主 IPsec 策略
ipsec policy POLICY_SPOKE 10 isakmp
 security acl 3001
 ike-peer HEADQUARTER_MAIN
 proposal PROPOSAL_TUNNEL
!
# 备份 IPsec 策略(优先级 20,高于 10 的优先级数字 = 低优先级)
ipsec policy POLICY_SPOKE 20 isakmp
 security acl 3001
 ike-peer HEADQUARTER_BACKUP
 proposal PROPOSAL_TUNNEL
!
ike peer HEADQUARTER_MAIN
 remote-address 202.1.1.1
 pre-shared-key Huawei@123
!
ike peer HEADQUARTER_BACKUP
 remote-address 202.1.1.1
 local-address 10.10.10.2                     # 4G 接口地址
 pre-shared-key Huawei@123
!
# 策略路由:主链路故障时切换到 4G
policy-based-route PBR permit node 5
 if-match acl 3001
 apply ipsec-policy POLICY_SPOKE_MAIN
!
policy-based-route PBR permit node 10
 if-match acl 3001
 apply ipsec-policy POLICY_SPOKE_BACKUP

四、分支间互访

4.1 分支互访的流量路径

分支 A → 分支 B 的流量路径(通过总部转发):

  分支 A (192.168.1.0/24)
       │
       │ IPsec 隧道
       ↓
   总部 Hub (10.0.0.0/8)
       │ 路由:192.168.2.0/24 → Tunnel→分支B
       │
       │ IPsec 隧道
       ↓
  分支 B (192.168.2.0/24)

优点:无需分支间独立建隧道
缺点:流量经总部转发,增加总部带宽压力
      分支间时延增加(一跳变两跳)

4.2 全互联(Full Mesh)方案

当分支间互访流量大时,可建立 Full Mesh:

                      ┌──────────┐
                      │  总部 Hub  │
                      └────┬─────┘
                           │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
分支 A ════════ 直连隧道 分支 B ══════════ 直连隧道 分支 C

Full Mesh 的优点: - 分支间低时延(直连) - 总部带宽压力小

缺点: - 配置复杂度 O(N²) - 每个分支需要 N-1 条隧道 - 建议:分支数 > 10 时不使用 Full Mesh


五、VPN 监控与维护

5.1 查看 VPN 状态

# 查看 IPsec 隧道状态
display ipsec sa
  Interface: GigabitEthernet0/0/0
    Path MTU: 1500
    Path MTU aging time: 10 min

  # IPsec SA (tunnel mode)
  SA index: 1
    SPI: 12345678 (0x00bc614e)
    Conn ID: 1
    Encryption: aes-256
    Authentication: sha256
    Life time: 3600 seconds
    Remaining: 2345 seconds
    Anti-replay window: 64

# 查看 IKE SA
display ike sa
  Conn-ID   Peer          VPN         Flag   Status   Encr   Hash
  1         202.1.1.1     public      RD     ST       AES256 SHA256
  2         10.1.2.1      public      RD     ST       AES256 SHA256

5.2 故障排查

# DPD(Dead Peer Detection)检测对端是否在线
display ike dpd
  Peer: 202.1.1.1
    DPD mode: on-demand
    DPD retransmit interval: 10 seconds
    DPD retry limit: 3 times

# 手动触发 DPD
reset ike sa peer 202.1.1.1

# 查看 VPN 隧道流量统计
display ipsec statistics
  ESP Encrypted packets: 1567890
  ESP Decrypted packets: 1543210
  ESP Authentication errors: 0
  ESP Replay errors: 0

六、配置案例汇总

6.1 中心站点简化配置

# 中心站点 Hub(100 个分支的简化配置)
#
ike proposal 1
 authentication-method pre-share
 encryption-algorithm aes-256
 dh group14
 authentication-algorithm sha256
!
# 一个模板匹配所有分支
ike peer BRANCH
 exchange-mode aggressive
 pre-shared-key CommonKey@Huawei
 local-id-type name
 local-id "HQ"
 remote-id-type name
 remote-id "branch_*"
!
ipsec proposal TUNNEL
 esp authentication-algorithm sha256
 esp encryption-algorithm aes-256
!
ipsec policy-template BRANCH_TEMPLATE 1
 ike-peer BRANCH
 proposal TUNNEL
!
interface GigabitEthernet0/0/0
 ip address 202.1.1.1 255.255.255.0
 ipsec policy-template BRANCH_TEMPLATE

6.2 分支站点配置

# 分支配置(以 192.168.1.0/24 为例)
#
ike proposal 1
 authentication-method pre-share
 encryption-algorithm aes-256
 dh group14
 authentication-algorithm sha256
!
ike peer HQ
 exchange-mode aggressive
 pre-shared-key CommonKey@Huawei
 local-id-type name
 local-id "branch_shanghai"
 remote-id-type name
 remote-id "HQ"
 remote-address 202.1.1.1
!
ipsec proposal TUNNEL
 esp authentication-algorithm sha256
 esp encryption-algorithm aes-256
!
acl number 3001
 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 10.0.0.0 0.255.255.255
!
ipsec policy 1 isakmp
 security acl 3001
 ike-peer HQ
 proposal TUNNEL
!
interface GigabitEthernet0/0/0
 ipsec policy 1
!
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0

七、总结

知识点 核心要点
Hub-Spoke 所有分支通过总部 Hub 互联
策略模板 中心站点用模板匹配所有分支
动态 IP 野蛮模式 + ID 匹配,分支可用动态 IP
分支间互访 经总部转发或 Full Mesh
多链路备份 主链路光纤 + 4G LTE 备份
DPD 对端状态检测,自动重建故障隧道

八、思考

  1. Hub-Spoke 组网中,为什么总部推荐使用策略模板而不是逐个配置对等体?
  2. 为什么分支到总部的 IPsec VPN 通常使用野蛮模式而非主模式?
  3. 如果分支侧的公网 IP 是动态变化的,对 VPN 隧道有什么影响?IKE 如何应对?
  4. 分支 A 和分支 B 互相访问时,流量路径是怎样的?这种方式有什么优缺点?
  5. 当总部新增一个分支机构时,总部和分支需要分别修改哪些配置?

下篇预告:第214篇《L2TP over IPsec 远程拨号》——结合 L2TP 和 IPsec 的远程接入方案,适用于移动办公和拨号场景。