Cisco VRF 的四个组成部分
在 Cisco IOS/IOS-XE 上,一个 VRF 由四件事组成:VRF 定义(vrf definition,旧写法为 ip vrf)、保证地址空间唯一的 RD、控制路由收发关系的 route-target,以及把接口划入 VRF 的绑定语句。缺任何一项,客户路由都进不到独立的表中,或者收到了也放不进正确的 VRF。
基本信息
| 定义 | vrf definition <名> + address-family ipv4 |
|---|---|
| 唯一化 | rd <AS>:<编号>,同一 PE 上不可重复 |
| 收发关系 | route-target export/import <值>,可配多条 |
| 接口绑定 | 接口下 vrf forwarding <名> |
| BGP 承载 | address-family ipv4 vrf <名> 下配置邻居与重分发 |
典型使用场景
- MPLS L3VPN:同一 PE 承载多个客户,各客户路由表互不可见
- 园区/数据中心多租户隔离:不同部门复用相同的私网地址段
- 管理平面分离:带外管理与业务转发各跑一套路由表
- 同设备做互联边界:互联地址放在默认表,客户业务放在 VRF 内
- 与 GRE/IPsec 配合做轻量隔离,暂不引入 MPLS
完整配置顺序
完整配置顺序
# 1) 定义 VRF,注意先声明地址族,否则 BGP vrf 地址族引用异常
vrf definition CUST-A
rd 65001:1
address-family ipv4
route-target export 65001:1
route-target import 65001:1
exit-address-family
!
# 2) 绑定接口,先 vrf forwarding 再配 IP,顺序反了地址会被清掉
interface GigabitEthernet0/2
vrf forwarding CUST-A
ip address 10.10.2.1 255.255.255.0
!
# 3) 在 VRF 地址族内引入与发布
router bgp 65001
address-family ipv4 vrf CUST-A
redistribute connected
redistribute static
exit-address-family
!
show ip vrf detail CUST-A
show ip route vrf CUST-A核查命令与关注点
| 命令 | 看什么 | 异常表现 |
|---|---|---|
| show ip vrf | VRF 列表与关联接口 | 接口列为空说明没绑定成功 |
| show ip vrf detail | RD、RT 与地址族 | RT 缺失时对端学不到也不会导入 |
| show ip route vrf CUST-A | 该 VRF 的路由表 | 表中只有直连,说明重分发或对端未生效 |
| show ip bgp vpnv4 all | VPNv4 路由与 RT 扩展团体 | 前缀存在但 Extended Community 为空说明发社区被关 |
验证与排错入口
验证与排错入口
show ip vrf interfaces CUST-A
show ip bgp vpnv4 vrf CUST-A summary
show ip bgp vpnv4 all 10.10.1.0/24
# 关注行:Route Distinguisher / Extended Community / Origin
ping vrf CUST-A 10.10.2.2 source 10.10.2.1已配好 IP 的接口再执行 vrf forwarding,接口地址会被清除并弹出提示。正确顺序是先绑定 VRF 再配地址;生产割接前把这一步写进操作票,避免接口临时失去地址导致管理中断。
割接操作顺序
- 先在PE上定义 VRF,核对 RD 全网唯一、RT 与对端约定一致,再动接口
- 接口先执行 vrf forwarding 再配地址,同时确认该接口不在管理路径上,避免断掉远程登录
- 在 vrf 地址族下引入直连与静态路由,先用 show ip route vrf 确认本端表内有路由
- 两端都完成后核对 show ip bgp vpnv4 all,确认前缀带 RT 扩展团体且被对端导入
- 业务验证打通后再清理旧的默认表路由,避免两套表同时存在造成回程路径混乱