图 路由技巧分享——路由配置简化之道


随着网络基础设施建设的快速增长 , 各个行业广域专网的链路技术也相应发生了较大的变化 。传统的广域专网一般租用点到点的长途DDN专线来实现 , 存在建设周期长 , 维护困难等问题 。随着MPLS技术的推广 , 业界开始流行采用BGP MPLS VPN技术解决方案来解决上述难题 , 成为了当前流行的VPN解决方案之一 。
一般情况下 , 在PE(Provider Edge)设备上配置OSPF或者RIP多实例来实现PE和CE(Customer Edge)间的路由学习和分发 , 通过配置路由目标(route-target)配合route-map可以实现VRF之间路由的引入和引出 , 但采用这种方法缺点是占用内存多 , 协议配置复杂 。
另外 , 虽然在某些情况下可以直接采用在VRF下配置静态路由的方法实现PE与CE的路由和VRF之间的互访 , 但是在实现配置VRF静态路由的时候 , 非凡是非点到点链路的时候 , 必须指定路由的具体下一跳 , 即主机静态路由 。这就需要为不同的主机静态路由配置不同的下一跳地址 , 从而需要大量的重复性的操作 , 大大占用了PE的内存 , 影响了处理能力 , 消耗了带宽 。
针对以上两种VRF之间通信方法所存在的问题和不足 , 本文着重描述在路由器中提供一种可大大减少PE设备中路由配置的VRF通信方法 。
这种方法通过在现有VRF静态路由的基础上加以扩展 , 通过配置到其他VRF的下一跳为出接口名的子网静态路由 , 即在PE的各个VRF中配置到其他VRF的子网路由前缀和出接口名称的静态路由 , 也就是配置的时候可以不指定具体的下一跳 , 在转发报文前使用ARP获得二层头中的目的MAC地址 , 这样就可以在PE上通过有限的几条扩展静态路由代替大量的主机静态路由 , 减少了资源的占用 。同时 , 简洁的静态路由更利于维护 , 即使在同一子网中增加新的PC , 也无需另行增加转发静态路由 , 大大简化了配置 。结合左图说明具体实施方式 。
本方法通过在PE的不同VRF转发表中保存到其他VRF的下一跳为出接口名的子网静态路由 , 并在与VRF连接的各设备中设置指向PE的路由 , 即在这些设备中启动OSPF、RIP或者配置静态路由 。若PE中报文目的地址不是直接相连的子网 , 在与PE相连二级路由器(CE)上启动代理ARP 。
如图所示 , 以PE内的两个VRF:VRFa、VRFb为例对本方法的具体实现步骤进行说明 。各设备的地址及PE接口分别如图所示 , 若采用原来的静态路由配置 , 要在PE设备上进行如下配置 , 即要为PE配置不同的下一跳地址(见下表) 。
上述配置虽然实现了VRFa和VRFb的互访 , 但假如需要对其扩展 , 如在VRFb的site中增加20台PC , 并分配IP地址为10.1.2.x等 , 就导致必须再在PE中配置20条诸如ip route vrf VRFa 10.1.2.x 255.255.255.255 eth 0/1 10.1.2.x的静态路由 , 这就大大增加了配置的重复性 。
采用静态路由的简化配置即可实现不同VRF之间的通信 。首先 , 在CE上和PC上要分别配置默认路由指向PE , 这里 , CE和PE间及PC和PE间的路由分发可以采用静态路由外的其他方式 , 如OSPF或者RIP等 , 目的是生成CE到PE的路由 。然后在PE上进行如下配置:
ip route vrf VRFa 10.1.2.0 255.255.255.0 eth 0/1
上述命令指明了从VRFa中来的报文 , 假如要发送到prefix(前缀) 10.1.2.0/24 , 就必须从eth 0/1出去 。
ip route vrf VRFb 10.1.1.0 255.255.255.0 eth 0/0
上述命令指明了从VRFb中来的报文 , 假如要发送到prefix 10.1.1.0/24 , 就必须从eth 0/0出去 。
这样 , 由于路由所在的VRF和出接口的VRF不同 , 于是就实现了VRF的互访 , 两个不同的VRFa和VRFb就可以通信了 , 配置的到子网静态路由没有指定具体的下一跳 , 大大简化了配置 。

推荐阅读