随着路由行业的发展,不管是路由器技术还是路由协议,都在不断的完善,使得路由技术更加的规范,关于VPN路由和转发系列讲座的上一讲重点介绍了配置和验证VRF(VPN路由转发)的情况。在上述情况下,要在一个共享的设备上把用户隔离开。在那篇文章中,我没有定义共享接口外部的每个用户之间的通信方式,比如是静态路由协议还是动态路由协议。
情况回顾
回顾一下我最近几篇文章中介绍的小服务提供商的情况。一个共享的设备,作为一个提供商网络(PE)的边缘连接两个用户(用户A和B)以提供互联网接入。每一个用户必须保持隔离状态,并且每一个用户必须能够在他们自己的路由器技术后面向子网广播。上个星期,我介绍了如何设置两个VPN路由协议和转发(VRF)的实例,把用户A和用户B分配给了每个VRF的单个接口。
静态路由
静态路由协议是通过一台下一跳路由器“指向”一个路由前缀(子网)的手工方法。传统的静态路由在使用低功率路由器技术的小型网络上使用。这种方法节省了处理器的功率,省去了收敛这样的动态机制。下面是如何增加一个静态路由的例子:Router_A(config)#ip route 10.1.1.0 255.255.255.0 192.168.1.1
这个命令定义10.1.1.0/24网络为通过192.168.1.1下一跳路由器可以访问的网络。这里没有描述路由器A和下一跳路由器之间的关系。要记住,下一跳必须是在没有路由的情况下也能够访问的,如果这种说法是正确的话。但是,VRF如何呢?这个命令仅在全球路由表中增加了一个静态路由协议,要在VRF中设置一个静态路由要使用如下命令:Router_A(config)#ip route vrf VRF_A 10.1.1.0 255.255.255.0 192.168.1.1,这个命令将向VRF增加同样的静态路由协议。要验证这个入口的合法性,请使用如下命令:Router_A#show ip route vrf VRF_A,输入的这个路由应该在VRF路由表中,并且写上代表静态的“S”标签。
动态路由
与静态路由协议不同,动态路由使用各种协议在“相同的”路由器技术之间自动发布路由信息。这种协议包括OSPF和RIP。要设置OSPF,可以使用如下命令:Router_A(config)#router ospf 1;Router_A(config-router)#network 192.168.1.0 0.0.0.3 area 0.0.0.0
这些命令最低限度能够在路由器A的接口上启动OSPF。路由器A的接口是为192.168.1.1网络设置的。第二个命令在0区域(OSPF骨干网区域)放置一个特殊的接口。拥有相同网络命令的任何OSPF路由器将组成一个相邻空间并且路由信息将被发布。要验证任何学习到的路由协议,请使用如下命令:Router_A#show ip route or Router_A#show ip route ospf,同静态路由协议一样,这种设置为全球路由表中的路由启动OSPF。我们要扩展为下图显示的拓扑该怎样做呢?在这种情况下,客户的路由器和服务提供商的路由器技术必须在VRF之内启动OSPF。使用下列命令可以完成这个任务:
Router_A(config)#router ospf 1 vrf VRF_A
Router_A(config-router)#network 192.168.1.0 0.0.0.3 area 0.0.0.0
Router_A(config-router)#capability vrf-lite
Router_B(config)#router ospf 1 vrf VRF_B
Router_B(config-router)#network 172.16.1.0 0.0.3 area 0.0.0.0
Router_B(config-router)#capability vrf-lite
SP_Router(config)#router ospf 1 vrf VRF_A
SP_Router(config-router)#network 192.168.1.0 0.0.0.3 area 0.0.0.0
SP_Router(config-router)#capability vrf-lite
SP_Router(config)#router ospf 2 vrf VRF_B
SP_Router(config-router)#network 172.16.1.0 0.0.0.3 area 0.0.0.0
SP_Router(config-router)#capability vrf-lite
这个命令表将为全部路由器启动每一个VRF中的OSPF,允许开始路由通信。正如互联网草案“draft-ietf-ospf-2547-dnbit-04.txt”中讨论的,需要用capability vrf-lite 命令获得VRF路由表的准确数量。这个草案的讨论超出了本文的范围。要验证你的相邻空间已组成和路由协议将被收到,你可以使用如下命令:
SP_Router#show ip ospf neighbor
SP_Router#show ip route vrf VRF_A
SP_Router#show ip route vrf VRF_B
SP_Router#show ip vrf