01-VPN多实例配置
本章节下载: 01-VPN多实例配置 (262.39 KB)
目 录
MPLS L3VPN是一种三层VPN技术,它使用BGP在服务提供商骨干网上发布用户站点的私网路由,使用MPLS在服务提供商骨干网上转发用户站点之间的私网报文,从而实现通过服务提供商的骨干网连接属于同一个VPN、位于不同地理位置的用户站点。
MPLS L3VPN组网方式灵活,可扩展性好,并能够方便地支持MPLS QoS和MPLS TE,因此得到了广泛的应用。
图1-1 MPLS L3VPN基本网络架构
MPLS L3VPN的基本网络架构如图1-1所示。MPLS L3VPN网络中设备的角色分为以下几种:
· CE(Customer Edge,用户网络边缘)设备:直接与服务提供商网络相连的用户网络侧设备。CE“感知”不到VPN的存在,也不需要支持MPLS。
· PE(Provider Edge,服务提供商网络边缘)设备:与CE相连的服务提供商网络侧设备。在MPLS L3VPN网络中,对VPN的所有处理都发生在PE上。
· P(Provider,服务提供商网络)设备:服务提供商网络中的骨干设备,不与CE直接相连。P只需要在骨干网中将用户网络报文转发给正确的远端PE,不需要维护和处理VPN信息。
Site(站点)的含义可以从下述几个方面理解:
· Site是指相互之间具备IP连通性的一组IP系统,并且这组IP系统的IP连通性不需通过服务提供商网络实现;
· Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻;
· 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN;
· Site通过CE连接到服务提供商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
对于多个连接到同一服务提供商网络的Site,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Sites之间才能通过服务提供商网络互访,这种集合就是VPN。
在MPLS L3VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现,VPN实例又称为VRF(Virtual Routing and Forwarding,虚拟路由和转发)实例。PE上每个VPN实例都有相对独立的路由表和LFIB(Label Forwarding Information Base,标签转发信息库),确保VPN数据的独立性和安全性。
PE通过将与Site连接的接口与VPN实例关联,实现该Site与VPN实例的关联。一个Site只能与一个VPN实例关联;不同的Site可以关联同一个VPN实例。VPN实例中包含了与其关联的Site所属的所有VPN的成员关系和路由规则等信息。
VPN实例中的信息包括:LFIB、IP路由表、与VPN实例关联的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、VPN Target属性、路由过滤策略等。
VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间(Address Space)。不同VPN的地址空间可能会在一定范围内重合,比如,VPN 1和VPN 2都使用了10.110.10.0/24网段的地址,这就发生了地址空间重叠(Overlapping Address Spaces)。
传统BGP无法正确处理地址空间重叠的VPN的路由。假设VPN 1和VPN 2都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由,BGP只会选择其中一条路由,从而导致去往另一个VPN的路由丢失。
MPLS L3VPN使用VPN-IPv4地址(又称为VPNv4地址)来解决上述问题。
图1-2 VPN-IPv4地址结构
如图1-2所示,VPN-IPv4地址共有12个字节,包括8字节的RD和4字节的IPv4地址前缀。其中,RD的作用是将其添加到一个IPv4地址前缀前,使之成为全局唯一的VPN-IPv4地址前缀。PE从CE接收到普通IPv4路由后,为IPv4地址前缀添加RD,将其转变为VPN-IPv4路由,并使用MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)将VPN-IPv4路由发布给对端PE,从而实现通过RD区分不同VPN的相同IPv4地址前缀。
RD有三种格式,通过2字节的Type字段区分:
· Type为0时,Administrator子字段占2字节,Assigned number子字段占4字节,格式为:16位自治系统号:32位用户自定义数字,例如:100:1。
· Type为1时,Administrator子字段占4字节,Assigned number子字段占2字节,格式为:32位IPv4地址:16位用户自定义数字,例如:172.1.1.1:1。
· Type为2时,Administrator子字段占4字节,Assigned number子字段占2字节,格式为:32位自治系统号:16位用户自定义数字,其中的自治系统号最小值为65536,例如:65536:1。
为了保证VPN-IPv4地址全球唯一,建议不要将Administrator子字段的值设置为私有AS号或私有IP地址。
MPLS L3VPN使用BGP扩展团体属性——VPN Target(也称为Route Target)来控制VPN路由信息的发布。
VPN Target属性分为如下两类:
· Export Target属性:本地PE从与自己直接相连的Site学习到IPv4路由后,将其转换为VPN-IPv4路由,为VPN-IPv4路由设置Export Target属性并发布给其它PE。
· Import Target属性:PE在接收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。只有当此属性与PE上某个VPN实例的Import Target属性匹配时,才把路由加入到该VPN实例的路由表中。
VPN Target属性定义了一条VPN-IPv4路由可以为哪些Site所接收,PE可以接收哪些Site发送来的路由。
与RD类似,VPN Target也有三种格式:
· 16位自治系统号:32位用户自定义数字,例如:100:1。
· 32位IPv4地址:16位用户自定义数字,例如:172.1.1.1:1。
· 32位自治系统号:16位用户自定义数字,其中的自治系统号最小值为65536,例如:65536:1。
表1-1 VPN多实例配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置VPN实例
|
创建VPN实例 |
必选 |
|
配置VPN实例与接口关联 |
必选 |
||
配置VPN实例的路由相关属性 |
可选 |
VPN实例不仅可以将VPN私网路由与公网路由隔离,还可以隔离不同VPN实例的路由,这一特点使得VPN实例的使用不限于MPLS L3VPN。
VPN实例在实现中与Site关联。VPN实例不是直接对应于VPN,一个VPN实例综合了和它所对应Site的VPN成员关系和路由规则。
表1-2 创建VPN实例
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VPN实例,并进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
缺省情况下,不存在VPN实例 |
配置VPN实例的RD |
route-distinguisher route-distinguisher |
缺省情况下,未配置VPN实例的RD |
(可选)配置VPN实例的描述信息 |
description text |
缺省情况下,未配置VPN实例的描述信息 |
(可选)配置VPN实例的ID |
vpn-id vpn-id |
缺省情况下,未配置VPN实例的ID |
(可选)配置VPN实例的SNMP上下文 |
snmp context-name context-name |
缺省情况下,未配置VPN实例的SNMP上下文 |
执行ip binding vpn-instance命令将删除接口上已经配置的IP地址,因此需要重新配置接口的IP地址。
VPN实例配置完成后,还需要与连接CE的接口进行关联。
表1-3 配置VPN实例与接口关联
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口与指定VPN实例关联 |
ip binding vpn-instance vpn-instance-name |
缺省情况下,接口未关联VPN实例,接口属于公网 |
表1-4 配置VPN实例的路由相关属性
操作 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
进入VPN实例视图或IPv4 VPN视图 |
进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
VPN实例视图下配置的路由相关属性既可以用于IPv4 VPN,也可以用于IPv6 VPN 既可以在VPN实例视图下,也可以在IPv4 VPN视图下,配置IPv4 VPN的路由相关属性。如果同时在两个视图下配置了路由相关属性,则IPv4 VPN采用IPv4 VPN视图下配置的路由相关属性 |
|
进入IPv4 VPN视图 |
ip vpn-instance vpn-instance-name |
|||
address-family ipv4 |
||||
配置VPN实例的VPN Target |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
缺省情况下,未配置VPN实例的VPN Target |
|
|
配置VPN实例支持的最大激活路由前缀数 |
routing-table limit number { warn-threshold | simply-alert } |
VPN实例视图下取值范围为1~500000,IPv4 VPN视图下取值范围为1~6000000 |
|
|
对当前VPN实例应用入方向路由策略 |
import route-policy route-policy |
缺省情况下,允许所有VPN Target属性匹配的路由通过 执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略” |
|
|
对当前VPN实例应用出方向路由策略 |
export route-policy route-policy |
缺省情况下,不对发布的路由进行过滤 执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略” |
|
在完成上述配置后,在任意视图下执行display命令可以显示配置后VPN多实例的运行情况,通过查看显示信息验证配置的效果。
表1-5 VPN多实例显示和维护
操作 |
命令 |
显示指定VPN实例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] |
VPN实例中路由表的命令请参见“三层技术-IP路由命令参考”中的“IP路由基础命令”。
MPLS L3VPN应用于IPv4组网环境,利用BGP在服务提供商骨干网上发布VPN的IPv4路由,利用MPLS在服务提供商骨干网上转发VPN的IPv4报文。
IPv6 MPLS L3VPN的原理与MPLS L3VPN相同,所不同的是IPv6 MPLS L3VPN利用BGP在服务提供商骨干网上发布VPN的IPv6路由,利用MPLS在服务提供商骨干网上转发VPN的IPv6报文。
IPv6 MPLS L3VPN的典型组网环境如图2-1所示。目前,IPv6 MPLS L3VPN组网中服务提供商骨干网应为IPv4网络。VPN内部及CE和PE之间运行IPv6协议,骨干网中PE和P设备之间运行IPv4协议。PE需要同时支持IPv4和IPv6协议,连接CE的接口上使用IPv6协议,连接骨干网的接口上使用IPv4协议。
图2-1 IPv6 MPLS L3VPN应用组网图
表2-1 IPv6 VPN多实例配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置VPN实例 |
创建VPN实例 |
必选 |
|
配置VPN实例与接口关联 |
必选 |
||
配置VPN实例的路由相关属性 |
可选 |
VPN实例不仅可以隔离VPN私网路由与公网路由,还可以隔离不同VPN实例的路由,这一特点使得VPN实例的使用不限于MPLS L3VPN。
VPN实例在实现中与Site关联。VPN实例不是直接对应于VPN,一个VPN实例综合了和它所对应Site的VPN成员关系和路由规则。
表2-2 创建VPN实例
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建VPN实例,并进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
缺省情况下,不存在VPN实例 |
|
配置VPN实例的RD |
route-distinguisher route-distinguisher |
缺省情况下,未配置VPN实例的RD |
|
(可选)配置VPN实例的描述信息 |
description text |
缺省情况下,未配置VPN实例的描述信息 描述信息用于描述VPN实例,可以用来记录VPN实例与某个VPN的关系等信息 |
|
(可选)配置VPN实例的ID |
vpn-id vpn-id |
缺省情况下,未配置VPN实例的ID |
|
(可选)配置VPN实例的SNMP上下文 |
snmp context-name context-name |
缺省情况下,未配置VPN实例的SNMP上下文 |
执行ip binding vpn-instance命令将删除接口上已经配置的IPv6地址,因此需要重新配置接口的IPv6地址。
VPN实例配置完成后,还需要与连接CE的接口进行关联。
表2-3 配置VPN实例与接口关联
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口与指定VPN实例关联 |
ip binding vpn-instance vpn-instance-name |
缺省情况下,接口未关联VPN实例,接口属于公网 |
表2-4 配置VPN实例的路由相关属性
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VPN实例视图或IPv6 VPN视图 |
进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
VPN实例视图下配置的路由相关属性既可以用于IPv4 VPN,也可以用于IPv6 VPN 既可以在VPN实例视图下,也可以在IPv6 VPN视图下,配置IPv6 VPN的路由相关属性。如果同时在两个视图下配置了路由相关属性,则IPv6 VPN采用IPv6 VPN视图下配置的路由相关属性 |
进入IPv6 VPN视图 |
ip vpn-instance vpn-instance-name |
||
address-family ipv6 |
|||
配置VPN Target |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
缺省情况下,未配置VPN实例的VPN Target |
|
配置支持的最大激活路由前缀数 |
routing-table limit number { warn-threshold | simply-alert } |
VPN实例视图/IPv6 VPN视图下取值范围为1~500000 |
|
应用入方向路由策略 |
import route-policy route-policy |
缺省情况下,接收所有VPN Target属性匹配的路由 执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略” |
|
应用出方向路由策略 |
export route-policy route-policy |
缺省情况下,不对发布的路由进行过滤 执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略” |
在完成上述配置后,在任意视图下执行display命令可以显示配置后IPv6 VPN多实例的运行情况,通过查看显示信息验证配置的效果。
表2-5 IPv6 VPN多实例显示和维护
操作 |
命令 |
显示指定VPN实例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] |
VPN实例中路由表的命令请参见“三层技术-IP路由命令参考”中的“IP路由基础命令”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!