VRF(VPN Routing and Forwarding Table,VPN路由转发表)用来解决不同VPN之间,采用相同IP地址空间导致的本地路由冲突问题。每个VPN对应一个VRF,可以把每个VRF想象成一台“虚拟路由器”,负责接收或者通告VPN路由信息。每个VRF包括:
一张独立的路由表;
一组归属于该VRF的接口集合;
一组只用于本VRF的路由协议;
在提供VPN服务的设备上同时存在多份路由表,包括一份公网路由表和一份或多份VRF。公网路由表用于公网报文转发,VRF用于VPN报文转发。公网路由表和VRF之间路由隔离,各VRF之间路由隔离。
说明
VPN(Virtual Private Network,虚拟专用网)用于在公共网络上构建私人专用网络。“虚拟”是指这种“专用”是逻辑上的独占,而非物理上的独占。
私人专用网络简称为“私网”,公共网络简称为“公网”。
VPN实例用来提供VPN服务。在提供VPN服务的设备上,将属于同一个VPN的VRF、接口、路由协议进程、配置信息等的集合统称为一个VPN实例。通常,使用VRF来代表VPN实例。
VPN路由仅用于指导VPN报文转发。VPN路由来自于:
接口加入VRF后生成的直连路由和主机路由。
配置导入接口上的直连路由和主机路由(接口未加入VRF)。
配置VPN实例下的静态路由、动态路由协议(RIP、RIPng、OSPFv2、OSPFv3、ISIS、BGP)。
说明
关于“VPN实例下的静态路由”,配置请参见“IP路由”中的“IP路由基础”。
关于“VPN实例下的RIP”,配置请参见“IP路由”中的“RIP”。
关于“VPN实例下的RIPng”,配置请参见“IP路由”中的“RIPng”。
关于“VPN实例下的OSPFv2”,配置请参见“IP路由”中的“OSPFv2”。
关于“VPN实例下的OSPFv3”,配置请参见“IP路由”中的“OSPFv3”。
关于“VPN实例下的ISIS”,配置请参见“IP路由”中的“ISIS”。
关于“VPN实例下的BGP”,配置请参见“IP路由”中的“BGP”。
VPN路由的两个重要属性:RD和RT。
RD(Route Distinguisher,路由区分符),用来解决BGP路由发布过程中的路由冲突问题。如果不同的VPN具有相同的网络地址,BGP决策只会从这些相同的地址中选择最好的路由进行通告,这样会导致某些VPN得不到对应的路由信息。加入RD值可以为相同的地址加上不同的区分符。BGP根据VPN信息中携带的不同区分符,区分相同的网络地址,每个VPN可以得到各自的路由信息。
通常为每个VPN指定唯一的RD值。一条VPN路由信息只能携带一个RD值。RD的内容有类型字段、管理子区域和分配字段组成。如图1-1所示,根据类型字段的数值,编码格式有如下三种形式:
当Type为0时,管理子区域有2个字节,使用AS号标识,必须是公共的自治系统号;分配字段有4个字节,由服务提供商管理。
当Type为1时,管理子区域有4个字节,使用IPv4地址,该地址必须是全局的IP地址;分配字段有2个字节,由服务提供商管理。
当Type为2时,管理子区域有4个字节,此时使用4字节的AS号标识,分配字段有2个字节,由服务提供商管理。
增加了RD的IPv4地址称为VPN-IPv4地址,如图1-2所示。BGP收到IPv4路由后,将转换为全局唯一的VPN-IPv4路由,并在公网上发布。
RT(Route-Target,路由目标属性),用来控制VPN路由的发布和安装策略。分为Import和Export两种属性。
Import:设备收到发布的VPN-IPv4路由时,检查其Export属性。当设备上指定VPN实例的Import属性与Export属性匹配时,设备把路由加入到该VPN实例中。
Export:本地学到IPv4路由后,转换为VPN-IPv4地址结构的路由。为这些路由设置Export属性,作为BGP的扩展团体属性随路由发布给其他设备。
BGP的扩展团体属性定义了RT的编码结构,如图1-3所示:
RT值和RD值的定义相似。对于类型0x02和0x202,AS号也必须是公共的。对于类型0x102,其IPv4地址也必须是全局的,不能是私有的。
单协议VRF和多协议VRF只能选择其一。
单协议VRF仅支持IPv4,多协议VRF同时支持IPv4和IPv6。
以下配置步骤互斥,请选择其中一项进行配置。
配置单协议VRF
创建单协议VRF
(可选)配置单协议VRF的RD
(可选)配置单协议VRF的RT
(可选)配置单协议VRF的标签分配方式
(可选)配置单协议VRF关联的导出策略
(可选)配置单协议VRF关联的导入策略
配置接口加入单协议VRF
(可选)配置接口路由导入单协议VRF
(可选)配置单协议VRF的最大路由条数
配置多协议VRF
创建多协议VRF
(可选)配置多协议VRF的地址族
(可选)配置多协议VRF的RD
(可选)配置多协议VRF的RT
(可选)配置多协议VRF的标签分配方式
(可选)配置多协议VRF关联的导出策略
(可选)配置多协议VRF关联的导入策略
配置接口加入多协议VRF
(可选)配置接口路由导入多协议VRF
(可选)配置多协议VRF的最大路由条数
配置全局VRF
配置全局VRF的地址族
(可选)配置全局VRF的RD
(可选)配置全局VRF的RT
(可选)配置全局VRF的标签分配方式
(可选)配置全局VRF关联的导出策略
(可选)配置全局VRF关联的导入策略
(可选)配置全局VRF的最大路由条数
配置单协议VRF,用于管理VPN路由。
如果设备仅转发指定私网的报文,或仅转发公网报文,则不需要配置VRF。
如果设备需要同时转发公网报文和私网报文,或同时转发多个私网报文,则必须使用VRF进行路由隔离。
需要向VRF中添加静态路由或动态路由(RIP、OSPF、ISIS、BGP)。
仅支持IPv4。
当三层接口加入或退出单协议VRF时,接口的IPv4地址、相关路由协议和三层特性都将被删除。
若已有三层接口加入单协议VRF,则在删除该VRF时,接口的IPv4地址、相关路由协议以及三层特性都将被删除。
单协议VRF配置任务如下:
创建单协议VRF
(可选)配置单协议VRF的RD
(可选)配置单协议VRF的RT
(可选)配置单协议VRF的标签分配方式
(可选)配置单协议VRF关联的导出策略
(可选)配置单协议VRF关联的导入策略
配置接口加入单协议VRF
(可选)配置接口路由导入单协议VRF
(可选)配置单协议VRF的最大路由条数
为每个私网创建一个单协议VRF。
进入特权模式。
enable
进入全局配置模式。
configure terminal
创建单协议VRF,并进入VRF配置模式。
ip vrf vrf-name
缺省情况下,不存在单协议VRF。
(可选)配置单协议VRF的描述符
description description
缺省情况下,未配置单协议VRF描述符
配置路由区分符,解决BGP路由发布过程中的路由冲突问题。
在单协议VRF模式下配置RD命令。
如果配置了VRF和RD值,要想修改RD值,只能先删除该VRF,重新配置VRF后再配置RD值。
每个VRF只能配置一个RD值,不能配置多个RD值。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入单协议VRF配置模式。
ip vrf vrf-name
配置RD。
rd rd-value
缺省情况下,没有配置RD值。
配置路由目标属性值,控制VPN路由的发布。
在单协议VRF模式下配置目标属性值。
每个VRF可以配置多个导入属性值,也可以配置多个导出属性值。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入单协议VRF配置模式。
ip vrf vrf-name
配置路由目标属性值。
route-target { both | export | import } route-value
缺省情况下,未配置路由目标属性值。
配置单协议VRF的标签分配方式。
基于每条路由标签分配方式。每条路由都对应一个标签。优点是可以根据标签值查找ILM表转发到下一跳,报文转发相对较快。缺点是要求ILM表的容量较大。
基于每个VRF的标签分配方式。每个VRF对应一个标签。优点是VRF内部的所有路由公用该标签,减少了ILM表的容量。缺点是相比第一种方法,报文转发较慢。因为转发过程需要2次查表:先根据ILM表找到该报文所在的VRF,再在该VRF的路由表中根据目的IP转发出去。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入单协议VRF配置模式。
ip vrf vrf-name
配置标签分配方式。
alloc-label { per-route | per-vrf }
缺省情况下,未配置标签分配方式。
配置从本地VRF导出分发给远端的VPN路由的扩展团体属性策略。
当需要采用更精确的方式对导出路由的扩展团体属性进行控制时,可以在关联的路由图中根据需要定义精确的规则。
本命令支持添加或者修改通过route-target export命令定义的扩展团体属性。
本命令关联的路由图只支持配置match ip address和set extcommunity两条规则命令。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入单协议VRF配置模式。
ip vrf vrf-name
配置关联的导出策略。
export map route-map-name
缺省情况下,未配置VRF关联的导出策略。
配置接收远端分发过来的VPN路由导入到本地VRF的策略。
当需要采用更精确的方式对导入到本地VRF的路由进行过滤时,可以在关联的路由图中根据需要定义精确的规则。
import map定义的规则在VRF中定义的导入扩展团体属性后面生效,即从远端接收的VPN路由只有满足了VRF下使用route-target import命令定义的扩展团体属性后,才能再进入import map定义的规则再次进行过滤。
目前本命令关联的路由图只支持配置match ip address和match extcommunity两条规则命令。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入单协议VRF配置模式。
ip vrf vrf-name
配置关联的导入策略。
import map route-map-name
缺省情况下,未配置VRF关联的导入策略。
将接口加入到指定的VRF中。从该接口进入的报文,将使用相应的VRF信息进行转发。
接口必须先加入单协议VRF,再配置IPv4地址。如果接口先配置IPv4地址,再加入单协议VRF,则IPv4地址配置失效(保留IPv6配置)。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入接口配置模式。
进入三层以太网接口配置模式。
interface ethernet-type interface-number
进入三层以太网子接口配置模式。
interface ethernet-type interface-number.subnumber
进入SVI接口配置模式。
interface vlan interface-number
进入管理口配置模式。
interface mgmt interface-number
进入环回口配置模式。
interface loopback interface-number
接口加入单协议VRF。
ip vrf forwarding vrf-name
缺省情况下,接口不属于任何VRF。
将指定接口的主机路由和直连路由导入到指定VRF。
如果要求使用策略路由选择VRF,则必须在应用策略路由的接口上配置ip vrf receive命令,将接口上的直连路由和主机路由导入每个供选择的VRF。
如果要导入该接口的主机和直连路由到多个VRF,则需要多次执行本命令。
在指定接口上,ip vrf forwarding命令和ip vrf receive命令是互斥的。与ip vrf forwarding命令不同,ip vrf receive命令不会将接口加入VRF,接口不属于任何VRF。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入接口配置模式。
进入三层以太网接口配置模式。
interface ethernet-type interface-number
进入三层以太网子接口配置模式。
interface ethernet-type interface-number.subnumber
进入SVI接口配置模式。
interface vlan interface-number
进入管理口配置模式。
interface mgmt interface-number
进入环回口配置模式。
interface loopback interface-number
将接口的主机和直连路由导入VRF。
ip vrf receive vrf-name
缺省情况下,未将接口的直连和主机路由导入指定的VRF路由表中。
限制单协议VRF内最大路由条目数。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入单协议VRF配置模式。
ip vrf vrf-name
配置单协议VRF内的最大路由条数。
maximum routes limit { warning-only | warning-threshold }
缺省情况下,单协议VRF内的最大路由条数为。
配置多协议VRF,用于管理VPN路由。通过配置地址族,可以支持IPv4和IPv6。在BGP的帮助下,可以灵活控制VPN之间的隔离和互访。
如果设备仅转发某个私网的报文,或仅转发公网报文,则不需要配置VRF。
如果设备需要同时转发公网报文和私网报文,或同时转发多个私网报文,则必须使用VRF进行路由隔离。
需要向VRF中添加静态路由或动态路由(RIP、OSPF、ISIS、BGP)。
当三层接口加入或退出多协议VRF时,接口的IP地址、相关路由协议和三层特性都将被删除。
若已有三层接口加入多协议VRF,则在删除该VRF时,接口的IP地址、相关路由协议以及三层特性都将被删除。
多协议VRF配置任务如下:
创建多协议VRF
(可选)配置多协议VRF的地址族
(可选)配置多协议VRF的RD
(可选)配置多协议VRF的RT
(可选)配置多协议VRF的标签分配方式
(可选)配置多协议VRF关联的导出策略
(可选)配置多协议VRF关联的导入策略
配置接口加入多协议VRF
(可选)配置接口路由导入多协议VRF
(可选)配置多协议VRF的最大路由条数
为每个私网创建一个多协议VRF。
进入特权模式。
enable
进入全局配置模式。
configure terminal
创建多协议VRF,并进入多协议VRF配置模式。
vrf definition vrf-name
缺省情况下,不存在多协议VRF。
(可选)配置多协议VRF的描述符
description description
缺省情况下,未配置多协议VRF描述符
配置VRF的IPv4/IPv6地址族,并进入相应的配置模式。
为每个创建的VRF配置相应的地址族。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
配置地址族。请至少选择其中一项进行配置。
配置IPv4地址族,并进入VRF IPv4地址族子模式。
address-family ipv4
配置IPv6地址族,并进入VRF IPv6地址族子模式。
address-family ipv6
缺省情况下,多协议VRF未配置任何地址族。
配置路由区分符,解决BGP路由发布过程中的路由冲突问题。
在多协议VRF模式下配置RD命令。
如果配置了VRF和RD值,要想修改RD值,只能先删除该VRF,重新配置VRF后再配置RD值。
每个VRF只能配置一个RD值,不能配置多个RD值。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
配置RD。
rd rd-value
缺省情况下,没有配置RD值。
配置路由目标属性组,控制VPN路由的发布。
在多协议VRF模式下或者是多协议VRF地址族模式下配置路由目标属性值。
每个VRF可以配置多个导入属性值,也可以配置多个导出属性值。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
(可选)进入多协议VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置路由目标属性值。
route-target { both | export | import } route-value
缺省情况下,未配置路由目标属性值。
配置多协议VRF的标签分配方式。
基于每条路由标签分配方式。每条路由都对应一个标签。优点是可以根据标签值查找ILM表转发到下一跳,报文转发相对较快。缺点是要求ILM表的容量较大。
基于每个VRF的标签分配方式。每个VRF对应一个标签。优点是VRF内部的所有路由公用该标签,减少了ILM表的容量。缺点是相比第一种方法,报文转发较慢。因为转发过程需要2次查表:先根据ILM表找到该报文所在的VRF,再在该VRF的路由表中根据目的IP转发出去。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
进入多协议VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置标签分配方式。
alloc-label { per-route | per-vrf }
缺省情况下,未配置标签分配方式。
配置从本地VRF导出分发给远端的VPN路由的扩展团体属性策略
当需要采用更精确的方式对导出路由的扩展团体属性进行控制时,可以在关联的路由图中根据需要定义精确的规则。
本命令支持添加或者修改通过route-target export命令定义的扩展团体属性。
本命令关联的路由图只支持配置match ip address和set extcommunity两条规则命令。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
进入多协议VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置关联的导出策略。
export map route-map-name
缺省情况下,未配置VRF关联的导出策略。
配置接收远端分发过来的VPN路由导入到本地VRF的策略。
当需要采用更精确的方式对导入到本地VRF的路由进行过滤时,可以在关联的路由图中根据需要定义精确的规则。
import map定义的规则在VRF中定义的导入扩展团体属性后面生效,即从远端接收的VPN路由只有满足了VRF下使用route-target import命令定义的扩展团体属性后,才能再进入import map定义的规则再次进行过滤。
目前本命令关联的路由图只支持配置match ip address和match extcommunity两条规则命令。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
进入多协议VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置关联的导入策略。
import map route-map-name
缺省情况下,未配置VRF关联的导入策略。
将接口加入到指定的VRF中。从该接口进入的报文,将使用相应的VRF信息进行转发。
配置本命令后,接口上的直连路由和主机路由自动导入VRF。
必须先开启多协议VRF的地址族,再将接口加入该VRF。如果接口加入多协议VRF时,未开启IPv4地址族,则不允许在接口上配置IPv4地址和VRRP IPv4地址。如果未开启IPv6地址族,则不允许在接口上配置IPv6地址和VRRP IPv6地址。
必须先将接口加入多协议VRF,再为接口配置IPv4地址、IPv6地址和VRRP IPv4/IPv6地址。当接口加入多协议VRF时,接口上已有的IPv4地址、IPv6地址和VRRP IPv4/IPv6地址都将被删除,并且接口的IPv6协议将被关闭。
如果删除多协议VRF的IPv4地址族,将删除加入该VRF的所有接口的IPv4地址和VRRP IPv4地址,同时删除路由VRF或者下一跳VRF是该VRF的IPv4静态路由。
如果删除多协议VRF的IPv6地址族,将删除加入该VRF的所有接口的IPv6地址和VRRP IPv6地址,关闭接口的IPv6协议,同时删除路由VRF或者下一跳VRF是该VRF的IPv6静态路由。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入接口配置模式。
进入三层以太网接口配置模式。
interface ethernet-type interface-number
进入三层以太网子接口配置模式。
interface ethernet-type interface-number.subnumber
进入SVI接口配置模式。
interface vlan interface-number
进入管理口配置模式。
interface mgmt interface-number
进入环回口配置模式。
interface loopback interface-number
接口加入多协议VRF。
vrf forwarding vrf-name
缺省情况下,接口不属于任何VRF。
将指定接口的主机路由和直连路由导入到指定VRF。
如果要求使用策略路由选择VRF,则必须在应用策略路由的接口上配置vrf receive命令,将接口上的直连路由和主机路由导入每个供选择的VRF。
如果要导入该接口的主机和直连路由到多个VRF,则需要多次执行本命令。
在指定接口上,vrf forwarding命令和vrf receive命令是互斥的。与vrf forwarding命令不同,vrf receive命令不会将接口加入指定VRF,接口不属于任何VRF。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入接口配置模式。
进入三层以太网接口配置模式。
interface ethernet-type interface-number
进入三层以太网子接口配置模式。
interface ethernet-type interface-number.subnumber
进入SVI接口配置模式。
interface vlan interface-number
进入管理口配置模式。
interface mgmt interface-number
进入环回口配置模式。
interface loopback interface-number
将接口的主机和直连路由导入VRF。
vrf receive vrf-name
缺省情况下,未将接口的直连和主机路由导入多协议VRF中。
限制多协议VRF内的最大路由条目数。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入多协议VRF配置模式。
vrf definition vrf-name
进入多协议VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置多协议VRF内的最大路由条数。
maximum routes limit { warning-only | warning-threshold }
缺省情况下,多协议VRF内的最大路由条数为。
配置全局VRF,管理VPN路由,全局VRF默认存在。
如果设备仅转发某个私网的报文,或仅转发公网报文,则不需要配置VRF。
如果设备需要同时转发公网报文和私网报文,或同时转发多个私网报文,则必须使用VRF进行路由隔离。
需要向VRF中添加静态路由或动态路由(RIP、OSPF、ISIS、BGP)。
全局VRF配置任务如下:
配置全局VRF的地址族
(可选)配置全局VRF的RD
(可选)配置全局VRF的RT
(可选)配置全局VRF的标签分配方式
(可选)配置全局VRF关联的导出策略
(可选)配置全局VRF关联的导入策略
(可选)配置全局VRF的最大路由条数
配置VRF的IPv4/IPv6地址族,并进入相应的配置模式。
为每个创建的VRF配置相应的地址族。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
(可选)配置全局VRF的描述符
description description
缺省情况下,未配置全局VRF描述符
配置地址族。请至少选择其中一项进行配置。
配置IPv4地址族,并进入VRF IPv4地址族子模式。
address-family ipv4
配置IPv6地址族,并进入VRF IPv6地址族子模式。
address-family ipv6
缺省情况下,IPv4和IPv6地址族处于开启状态。
配置路由区分符,解决BGP路由发布过程中的路由冲突问题。
在全局VRF模式下配置RD命令。
如果配置了VRF和RD值,要想修改RD值,只能先删除该VRF,重新配置VRF后再配置RD值。
每个VRF只能配置一个RD值,不能配置多个RD值。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
配置RD。
rd rd-value
缺省情况下,没有配置RD值。
配置路由目标属性组,控制VPN路由的发布。
在全局VRF模式下或者是全局VRF地址族模式下配置路由目标属性值。
每个VRF可以配置多个导入属性值,也可以配置多个导出属性值。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
(可选)进入全局VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置路由目标属性值。
route-target { both | export | import } route-value
缺省情况下,未配置路由目标属性值。
配置全局VRF的标签分配方式。
基于每条路由标签分配方式。每条路由都对应一个标签。优点是可以根据标签值查找ILM表转发到下一跳,报文转发相对较快。缺点是要求ILM表的容量较大。
基于每个VRF的标签分配方式。每个VRF对应一个标签。优点是VRF内部的所有路由公用该标签,减少了ILM表的容量。缺点是相比第一种方法,报文转发较慢。因为转发过程需要2次查表:先根据ILM表找到该报文所在的VRF,再在该VRF的路由表中根据目的IP转发出去。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
进入全局VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置标签分配方式。
alloc-label { per-route | per-vrf }
缺省情况下,未配置标签分配方式。
配置从本地VRF导出分发给远端的VPN路由的扩展团体属性策略。
当需要采用更精确的方式对导出路由的扩展团体属性进行控制时,可以在关联的路由图中根据需要定义精确的规则。
本命令支持添加或者修改通过route-target export命令定义的扩展团体属性。
本命令关联的路由图只支持配置match ip address和set extcommunity两条规则命令。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
进入全局VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置关联的导出策略。
export map route-map-name
缺省情况下,未配置VRF关联的导出策略。
配置接收远端分发过来的VPN路由导入到本地VRF的策略。
当需要采用更精确的方式对导入到本地VRF的路由进行过滤时,可以在关联的路由图中根据需要定义精确的规则。
import map定义的规则在VRF中定义的导入扩展团体属性后面生效,即从远端接收的VPN路由只有满足了VRF下使用route-target import命令定义的扩展团体属性后,才能再进入import map定义的规则再次进行过滤。
目前本命令关联的路由图只支持配置match ip address和match extcommunity两条规则命令。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
进入全局VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置关联的导入策略。
import map route-map-name
缺省情况下,未配置VRF关联的导入策略。
限制全局VRF内的最大路由条目数。
进入特权模式。
enable
进入全局配置模式。
configure terminal
进入全局VRF配置模式。
vrf global-vrf
进入全局VRF地址族配置模式。
address-family { ipv4 | ipv6 }
配置全局VRF内的最大路由条数。
maximum routes limit { warning-only | warning-threshold }
缺省情况下,全局VRF内的最大路由条数为。
可以通过show命令行查看功能配置后的运行情况以验证配置效果。
可以通过执行clear命令来清除各类信息。
注意
在设备运行过程中执行clear命令,可能因为重要信息丢失而导致业务中断。
可以通过debug命令行列举输出的各种调试信息。
注意
输出调试信息,会占用系统资源。使用完毕后,请立即关闭调试开关。
VRF监视与维护
作用 |
命令 |
---|---|
查看启用IPv4协议的VRF信息 |
show ip vrf [ brief | count | detail | interfaces ] [ vrf-name ] |
查看全局VRF的信息 |
show global-vrf [ brief | count |detail | ipv4 | ipv6 ] |
查看所有VRF的信息 |
show vrf [ brief | count | detail | ipv4 | ipv6 ] [ vrf-name ] |
清除组播路由的统计信息 |
clear ip mroute [ vrf vid ] statistics { * | group-address [ source-address ] } |
清除PIM-DM协议报文的统计信息 |
clear ip pim dense-mode [ vrf vid ] track |
清除指定VRF中的路由 |
clear ip route vrf vrf-name |
查看VRF的创建,地址族开启,接口加入VRF等过程调试信息 |
debug vrf |
打印与接口相关的VRF操作调试信息 |
debug vrf interface |
Subnet A、Subnet B、Server均为私网,享有独立的地址空间。Subnet A内运行RIP,Subnet B内运行OSPF,Server是C的直连网段。Subnet A和Subnet B之间路由隔离,但都可以访问Server。
本地VPN互访功能
在Device C上创建VRF(Suba),与Device A直连的接口加入VRF(Suba)。Device C的VRF(Suba)与Device A之间,使用RIP互联。
在Device C上创建VRF(Subb),与Device B直连的接口加入VRF(Subb)。Device C的VRF(Subb)与Device B之间,使用OSPF互联。
在Device C上创建VRF(Server),与Server直连的接口加入VRF(Server)。
在Device C上设置VRF(Suba、Subb、Server)的RT,将Suba、Subb的路由导入Server,将Server的路由导入Suba、Subb。
在Device C上配置BGP,在IPv4 VRF(Suba)地址族下引入RIP路由,在IPv4 VRF(Subb)地址族下引入OSPF路由,在IPv4 VRF(Server)地址族下引入直连路由。
配置设备IP地址(略)。
在设备C上创建VRF。
# 创建VRF(Suba),将与Device A直连的接口G0/1加入VRF(Suba)。
DeviceC> enable
DeviceC# configure terminal
DeviceC(config)# ip vrf Suba
DeviceC(config-vrf)# rd 100:1
DeviceC(config-vrf)# route-target import 100:3
DeviceC(config-vrf)# route-target export 100:1
DeviceC(config-vrf)# exit
DeviceC(config)# interface gigabitethernet 0/1
DeviceC(config-GigabitEthernet 0/1)# ip vrf forwarding Suba
DeviceC(config-GigabitEthernet 0/1)# ip address 10.10.1.1 255.255.255.0
DeviceC(config-GigabitEthernet 0/1)# exit
# 创建VRF(Subb),将与Device B直连的接口G0/2加入VRF(Subb)。
DeviceC(config)# ip vrf Subb
DeviceC(config-vrf)# rd 100:2
DeviceC(config-vrf)# route-target import 100:3
DeviceC(config-vrf)# route-target export 100:2
DeviceC(config-vrf)# exit
DeviceC(config)# interface gigabitethernet 0/2
DeviceC(config-GigabitEthernet 0/2)# ip vrf forwarding Subb
DeviceC(config-GigabitEthernet 0/2)# ip address 10.10.2.1 255.255.255.0
DeviceC(config-GigabitEthernet 0/2)# exit
# 创建VRF(Server),将与Server直连的接口G0/3加入VRF(Server)。
DeviceC(config)# ip vrf Server
DeviceC(config-vrf)# rd 100:3
DeviceC(config-vrf)# route-target import 100:1
DeviceC(config-vrf)# route-target import 100:2
DeviceC(config-vrf)# route-target export 100:3
DeviceC(config-vrf)# exit
DeviceC(config)# interface gigabitethernet 0/3
DeviceC(config-GigabitEthernet 0/3)# ip vrf forwarding Server
DeviceC(config-GigabitEthernet 0/3)# ip address 10.10.3.1 255.255.255.0
DeviceC(config-GigabitEthernet 0/3)# exit
启动路由协议。
# Device A启动路由协议。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# router rip
DeviceA(config-router)# version 2
DeviceA(config-router)# no auto-summary
DeviceA(config-router)# network 10.10.1.0 0.0.0.255
# Device B启动路由协议。
DeviceB> enable
DeviceB# configure terminal
DeviceB(config)# router ospf 1
DeviceB(config-router)# network 10.10.2.0 0.0.0.255 area 0
# Device C启动路由协议。
DeviceC(config)# router rip
DeviceC(config-router)# address-family ipv4 vrf Suba
DeviceC(config-router-af)# version 2
DeviceC(config-router-af)# no auto-summary
DeviceC(config-router-af)# network 10.10.1.0 0.0.0.255
DeviceC(config-router-af)# exit-address-family
DeviceC(config-router)# exit
DeviceC(config)# router ospf 2 vrf Subb
DeviceC(config-router)# network 10.10.2.0 0.0.0.255 area 0
在VRF下引入路由。
# 设备Device C在VRF下引入路由。
DeviceC# configure terminal
DeviceC(config)# router bgp 200
DeviceC(config-router)# address-family ipv4 vrf Suba
DeviceC(config-router-af)# redistribute rip
DeviceC(config-router-af)# exit-address-family
DeviceC(config-router)# address-family ipv4 vrf Subb
DeviceC(config-router-af)# redistribute ospf 2
DeviceC(config-router-af)# exit-address-family
DeviceC(config-router)# address-family ipv4 vrf Server
DeviceC(config-router-af)# redistribute connected
DeviceC(config-router-af)# exit-address-family
# 在设备Device C上确认接口加入VRF信息。
DeviceC# show ip vrf interfaces
Interface IP-Address VRF Protocol
GigabitEthernet 0/1 10.10.1.1 Suba up
GigabitEthernet 0/2 10.10.2.1 Subb up
GigabitEthernet 0/3 10.10.3.1 Server up
# 在设备Device C上确认Suba和Subb路由隔离,共享Server路由。
DeviceC# show ip route vrf Suba
Routing Table: Suba
Codes: C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default
Gateway of last resort is no set
C 10.10.1.0/24 is directly connected, GigabitEthernet 0/1
C 10.10.1.1/32 is local host.
B 10.10.3.0/24 [20/0] via 0.0.0.0, 00:01:21, GigabitEthernet 0/3
DeviceC# show ip route vrf Subb
Routing Table: Subb
Codes: C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default
Gateway of last resort is no set
C 10.10.2.0/24 is directly connected, GigabitEthernet 0/2
C 10.10.2.1/32 is local host.
B 10.10.3.0/24 [20/0] via 0.0.0.0, 00:04:03, GigabitEthernet 0/3
DeviceC# show ip route vrf Server
Routing Table: Server
Codes: C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default
Gateway of last resort is no set
B 10.10.1.0/24 [20/1] via 0.0.0.0, 03:00:15, GigabitEthernet 0/1
B 10.10.2.0/24 [20/1] via 0.0.0.0, 00:00:14, GigabitEthernet 0/2
C 10.10.3.0/24 is directly connected, GigabitEthernet 0/3
C 10.10.3.1/32 is local host.
Device A的配置文件
hostname DeviceA
!
interface GigabitEthernet 0/1
no switchport
ip address 10.10.1.2 255.255.255.0
!
router rip
version 2
network 10.10.1.0 0.0.0.255
no auto-summary
!
Device B的配置文件
hostname DeviceB
!
interface GigabitEthernet 0/2
no switchport
ip address 10.10.2.2 255.255.255.0
!
router ospf 2
network 10.10.2.0 0.0.0.255 area 0
!
Device C的配置文件
hostname DeviceC
!
ip vrf Server
rd 100:3
route-target export 100:3
route-target import 100:2
route-target import 100:1
!
ip vrf Suba
rd 100:1
route-target export 100:1
route-target import 100:3
!
ip vrf Subb
rd 100:2
route-target export 100:2
route-target import 100:3
!
interface GigabitEthernet 0/1
no switchport
ip vrf forwarding Suba
ip address 10.10.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
no switchport
ip vrf forwarding Subb
ip address 10.10.2.1 255.255.255.0
!
interface GigabitEthernet 0/3
no switchport
ip vrf forwarding Server
ip address 10.10.3.1 255.255.255.0
!
router bgp 200
address-family ipv4 vrf Suba
redistribute rip
exit-address-family
!
address-family ipv4 vrf Subb
redistribute ospf 2 match internal
exit-address-family
!
address-family ipv4 vrf Server
redistribute connected
exit-address-family
!
router ospf 2 vrf Subb
network 10.10.2.0 0.0.0.255 area 0
!
router rip
address-family ipv4 vrf Suba
version 2
network 10.10.1.0 0.0.0.255
no auto-summary
exit-address-family
!
Server的配置文件
hostname Server
!
interface GigabitEthernet 0/3
no switchport
ip address 10.10.3.2 255.255.255.0
!
先配置接口IP地址,再将接口加入VRF,此时接口IP地址将被删除。
当物理链路被多个VPN的报文共享时,将物理接口加入VRF。
未将VPN路由引入BGP。