隧道上的路由怎么设计
IPsec 只负责加密,远端网段如何被路由要单独设计:小规模用静态路由指向隧道,网段多时用 BGP over 隧道。多跳邻居要配 ebgp-multihop,并且用 update-source 指向隧道接口,否则报文源地址不是隧道地址,会被对端丢弃。
基本信息
| 静态方案 | ip route 指向隧道接口或隧道下一跳 |
|---|---|
| BGP 直连 | 两端隧道地址同网段,直接建立邻居 |
| BGP 多跳 | 邻居用对端地址并配 ebgp-multihop |
| 关键参数 | update-source 指向隧道接口 |
| 核对命令 | show ip bgp neighbors 查看状态与源地址 |
典型使用场景
- 分支网段较少:静态路由更简单直观
- 分支网段多或经常变化:用 BGP 承载更易维护
- 隧道地址不连续:使用多跳邻居并指定更新源
- 排障「邻居起不来」:先确认源地址与路由是否指向隧道
- 割接:先建立邻居再切换流量,缩短业务中断时间
两种 BGP 方案
两种 BGP 方案
# 直连式:两端隧道地址同网段
router bgp 65001
neighbor 169.254.10.2 remote-as 65002
!
# 多跳式:邻居用对端物理地址,流量必须走隧道
router bgp 65001
neighbor 203.0.113.2 remote-as 65002
neighbor 203.0.113.2 ebgp-multihop 2
neighbor 203.0.113.2 update-source Tunnel100
!
show ip bgp neighbors 203.0.113.2 | include BGP state方案选择
| 方案 | 适用规模 | 注意 |
|---|---|---|
| 静态路由 | 少量固定网段 | 网段变化时需要逐条维护 |
| BGP 直连 | 隧道地址可规划为同网段 | 受隧道地址规划约束 |
| BGP 多跳 | 网段多或地址不连续 | 必须配置更新源指向隧道 |
多跳邻居忘记配 update-source 时,BGP 报文的源地址会是物理接口地址,对端按邻居地址校验后直接丢弃,现象是邻居始终建立不起来。
指向隧道的静态路由如果递归解析走错方向,流量就会绕开加密路径:验证时要确认实际转发接口,而不是只看路由是否存在。
隧道上跑 BGP 时,隧道接口的稳定性直接影响邻居:配合保活机制或依赖协议自身保活,才能让切换及时发生。
隧道上跑 BGP 时还要确认下一跳的处理方式:对端若学不到可用的下一跳,邻居能建立但路由无法用于转发。
静态路由与 BGP 可以混用:主备场景下用静态路由兜底、BGP 承载明细,切换行为更容易解释与验证。