VRF 与 public(全局路由表)默认隔离,互通需通过路由引入或物理/逻辑链路对接。常见正确配置如下:
方法一:静态路由互通(最常用)
假设 VRF 名称为 test,接口 GigabitEthernet1/0/1 属于 VRF,GigabitEthernet1/0/2 属于 public。
bash
创建 VRF
ip vrf test
接口划入 VRF
interface GigabitEthernet1/0/1
ip binding vpn-instance test
ip address 192.168.1.1 24
public 侧接口
interface GigabitEthernet1/0/2
ip address 192.168.2.1 24
VRF 内去往 public 网段的路由,下一跳指向 public 侧接口地址
ip route-static vpn-instance test 192.168.2.0 24 192.168.2.1 public
public 去往 VRF 网段的路由,下一跳指向 VRF 侧接口地址
ip route-static 192.168.1.0 24 192.168.1.1
注意:ip route-static vpn-instance test ... public 中的 public 关键字用于指定出接口在全局路由表。
方法二:通过物理线缆或子接口对接
如果两台设备分别属于 VRF 和 public,可直接用三层互联地址互通,再写静态路由。
方法三:路由引入(动态路由)
在 BGP 或 OSPF 多实例中,通过 import 将 VRF 路由引入 public,反之亦然。
排查步骤:
1. 确认接口绑定正确:display ip vpn-instance
2. 查看 VRF 路由表:display ip routing-table vpn-instance test
3. 查看 public 路由表:display ip routing-table
4. 测试连通性:ping -vpn-instance test 192.168.2.1
5. 若不通,检查下一跳是否可达、接口状态是否 up。
关键点: 跨 VRF 与 public 通信必须显式配置路由,不能依赖直连自动互通。
工程师:我可以将我的配置发给您看下,看错在哪里吗?