11-IPv6 BGP配置
本章节下载: 11-IPv6 BGP配置 (395.32 KB)
目 录
1.3.9 记录指定IPv6对等体/IPv6对等体组的会话状态和事件信息
1.4.4 配置向IPv6对等体/IPv6对等体组发送缺省路由
1.5.2 配置IPv6 BGP路由管理的优先级、缺省LOCAL_PREF及NEXT_HOP属性
l 在以下路由协议的介绍中所指的路由器及路由器图标,代表了一般意义下的路由器以及运行了路由协议的以太网交换机。
l 本章只列出了IPv6 BGP专有的配置与操作,其他相关内容请参见“IP路由分册”中的“BGP配置”。
传统的BGP-4只能管理IPv4的路由信息,对于使用其它网络层协议(如IPv6等)的应用,在跨自治系统传播时就受到一定限制。
为了提供对多种网络层协议的支持,IETF对BGP-4进行了扩展,形成IPv6 BGP,目前的IPv6 BGP标准是RFC 2858(Multiprotocol Extensions for BGP-4,BGP-4多协议扩展)。
为了实现对IPv6协议的支持,IPv6 BGP需要将IPv6网络层协议的信息反映到NLRI(Network Layer Reachable Information,网络层可达信息)及NEXT_HOP属性中。
IPv6 BGP中引入的两个NLRI属性分别是:
l MP_REACH_NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息。
l MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多协议不可达NLRI。用于撤销不可达路由。
IPv6 BGP中的NEXT_HOP属性用IPv6地址来表示,可以是IPv6全球单播地址或者链路本地地址。
IPv6 BGP是利用BGP的多协议扩展属性,来达到在IPv6网络中应用的目的,BGP协议原有的消息机制和路由机制并没有改变。
表1-1 配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置IPv6 BGP基本功能 |
配置IPv6对等体 |
必选 |
|
配置IPv6 BGP发布本地IPv6路由 |
可选 |
||
配置路由首选值 |
可选 |
||
配置IPv6 BGP连接所使用的本地接口 |
可选 |
||
配置EBGP连接的最大跳数 |
可选 |
||
配置IPv6对等体/IPv6对等体组的描述信息 |
可选 |
||
禁止与IPv6对等体/IPv6对等体组建立会话 |
可选 |
||
记录指定IPv6对等体/IPv6对等体组的会话状态和事件信息 |
可选 |
||
控制路由信息的发布与接收 |
配置IPv6 BGP引入其他路由 |
可选 |
|
配置IPv6 BGP路由聚合 |
可选 |
||
配置向IPv6对等体/IPv6对等体组发送缺省路由 |
可选 |
||
配置路由信息的发布策略 |
可选 |
||
配置路由信息的接收策略 |
可选 |
||
配置IPv6 BGP与IGP路由同步 |
可选 |
||
配置路由衰减 |
可选 |
||
配置IPv6 BGP的路由属性 |
配置IPv6 BGP路由管理的优先级、缺省LOCAL_PREF及NEXT_HOP属性 |
可选 |
|
配置MED属性 |
可选 |
||
配置AS_PATH属性 |
可选 |
||
调整和优化IPv6 BGP网络 |
配置IPv6 BGP的时钟 |
可选 |
|
配置IPv6 BGP软复位 |
可选 |
||
配置BGP ORF能力 |
可选 |
||
配置最大等价路由的条数 |
可选 |
||
组建大型IPv6 BGP网络 |
配置IPv6 BGP对等体组 |
可选 |
|
配置IPv6 BGP团体 |
可选 |
||
配置IPv6 BGP路由反射器 |
可选 |
在配置IPv6 BGP基本功能之前,需完成以下任务:
l 配置接口的网络层地址
l 使能IPv6功能
必须首先创建对等体组,才能配置对等体组的基本功能。关于对等体组的创建请参见“1.7.2 配置IPv6 BGP对等体组”。
表1-2 配置IPv6对等体
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
为路由器指定ID |
router-id router-id |
可选 如果Loopback和其它接口没有配置IP地址,则该任务为必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置对等体 |
peer ipv6-address as-number as-number |
必选 |
表1-3 配置IPv6 BGP发布本地IPv6路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
将路由通告到IPv6 BGP路由表中 |
network ipv6-address prefix-length [ short-cut | route-policy route-policy-name ] |
必选 缺省情况下,IPv6 BGP不通告任何路由 |
表1-4 配置路由首选值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
为从IPv6对等体/IPv6对等体组接收的路由分配首选值 |
peer { ipv6-group-name | ipv6-address } preferred-value value |
可选 缺省情况下,从IPv6对等体/IPv6对等体组接收的路由的首选值为0 |
如果同时通过路由策略和peer { ipv6-group-name | ipv6-address } preferred-value value命令为从对等体/对等体组接收的IPv6路由设置首选值,通过路由策略过滤的IPv6路由的首选值将取路由策略中设置的首选值而不是peer { ipv6-group-name | ipv6-address } preferred-value value命令里设置的首选值,只有当路由策略里设置的首选值为0时,IPv6路由的首选值才会取peer { ipv6-group-name | ipv6-address } preferred-value value命令里设置的值;没有通过路由策略过滤的IPv6路由的首选值仍取peer { ipv6-group-name | ipv6-address } preferred-value value命令里设置的首选值。通过路由策略配置BGP IPv6路由信息首选值的相关配置可参考命令peer { group-name | ipv4-address | ipv6-address } route-policy route-policy-name { import | export }和“IP路由分册/路由策略命令”中的apply preferred-value preferred-value。
表1-5 配置IPv6 BGP连接所使用的本地接口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
指定与IPv6对等体/IPv6对等体组创建BGP会话时建立TCP连接使用的源接口 |
peer { ipv6-group-name | ipv6-address } connect-interface interface-type interface-number |
必选 缺省情况下,IPv6 BGP使用到达IPv6对等体的最佳路由的出接口作为与IPv6对等体/IPv6对等体组创建BGP会话时建立TCP连接的源接口 |
l 为了提高IPv6 BGP连接的可靠性和稳定性,可将IPv6 BGP连接所使用的本地接口配置成Loopback接口,这样当网络中存在冗余链路时,不会因为其中某个接口或链路的故障而使IPv6 BGP连接中断。
l 当建立BGP连接时,如果没有明确指定建立TCP连接的源接口,可能会由于无法根据到达BGP对等体的最优路由确定TCP连接源接口从而导致无法建立TCP连接,因此建议用户在此情况下配置BGP对等体时明确配置BGP会话建立TCP连接的源接口为指定接口。
表1-6 配置非直接相连的邻居建立EBGP连接
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置允许同非直接相连网络上的邻居建立EBGP连接 |
peer { ipv6-group-name | ipv6-address } ebgp-max-hop [ hop-count ] |
必选 缺省情况下,不允许同非直接相连网络上的邻居建立EBGP连接 |
通常情况下,EBGP对等体之间必须具有直连的物理链路,如果不满足这一要求,则必须使用peer ebgp-max-hop命令允许它们之间经过多跳建立TCP连接。但是,对于直连EBGP使用Loopback接口建立邻居关系,不需要peer ebgp-max-hop命令的配置。
表1-7 配置IPv6对等体/IPv6对等体组的描述信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置IPv6对等体/IPv6对等体组的描述信息 |
peer { ipv6-group-name | ipv6-address } description description-text |
可选 缺省情况下,IPv6对等体/IPv6对等体组无描述信息 |
如果配置对等体组的描述信息,需要先创建对等体组。
表1-8 禁止与IPv6对等体/IPv6对等体组建立会话
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
禁止与IPv6对等体/IPv6对等体组建立会话 |
peer { ipv6-group-name | ipv6-address } ignore |
可选 缺省情况下,允许与IPv6 BGPIPv6对等体/IPv6对等体组建立会话 |
表1-9 记录指定IPv6对等体/IPv6对等体组的会话状态和事件信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
全局使能BGP日志记录功能 |
log-peer-change |
可选 缺省情况下,使能BGP日志记录功能 |
进入IPv6地址族视图 |
ipv6-family |
- |
记录指定IPv6对等体/IPv6对等体组的会话状态和事件信息 |
peer { ipv6-group-name | ipv6-address } log-change |
可选 缺省情况下,记录IPv6对等体/IPv6对等体组的会话状态和事件信息 |
有关log-peer-change命令的详细信息请参见“IP路由分册”中的“BGP命令”。
控制IPv6 BGP的路由信息的发布和接收,包括对路由信息进行过滤,应用路由策略,路由衰减。
在控制路由信息的发布与接收之前,需完成以下任务:
l 使能IPv6功能
l 配置IPv6 BGP基本功能
表1-10 配置IPv6 BGP引入和过滤外部路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
允许将缺省路由引入到IPv6 BGP路由表中 |
default-route imported |
可选 缺省情况下,IPv6 BGP不允许将缺省路由引入到IPv6 BGP路由表中 |
配置引入其它协议路由信息并通告 |
import-route protocol [ process-id ] [ med med-value | route-policy route-policy-name ] * |
必选 缺省情况下,IPv6 BGP不引入且不通告其它协议的路由 |
如果没有配置default-route imported命令,则使用import-route命令引入IGP路由时,不能引入IGP的缺省路由。
在中型或大型BGP网络中,在向对等体发布IPv6路由信息时,可以配置路由聚合,减小对等体路由表中的路由数量。BGP仅支持IPv6路由的手动聚合。
表1-11 配置IPv6路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入IPv6地址族视图 |
ipv6-family |
- |
配置手动路由聚合 |
aggregate ipv6-address prefix-length [ as-set | attribute-policy route-policy-name | detail-suppressed | origin-policy route-policy-name | suppress-policy route-policy-name ] * |
必选 缺省情况下,不进行路由聚合 |
表1-12 配置向IPv6对等体/IPv6对等体组发送缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置向IPv6对等体/IPv6对等体组发送缺省路由 |
peer { ipv6-group-name | ipv6-address } default-route-advertise [ route-policy route-policy-name ] |
必选 缺省情况下,不向IPv6对等体/IPv6对等体组发布缺省路由 |
执行peer default-route-advertise命令后,不论本地路由表中是否存在缺省路由,都将向指定IPv6对等体/IPv6对等体组发布一条下一跳地址为本地地址的缺省路由。
表1-13 配置路由信息的发布策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
对发布的路由进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ protocol process-id ] |
必选 缺省情况下,没有对发布的路由信息进行过滤 |
配置出方向路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name export |
必选 缺省情况下,没有指定IPv6对等体/IPv6对等体组的路由策略 |
配置基于IPv6 ACL的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } filter-policy acl6-number export |
必选 缺省情况下,没有为IPv6对等体/IPv6对等体组配置基于IPv6 ACL的过滤策略 |
配置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
peer { ipv6-group-name | ipv6-address } as-path-acl as-path-acl-number export |
必选 缺省情况下,没有为IPv6对等体/IPv6对等体组配置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
配置基于IPv6地址前缀列表的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } ipv6-prefix ipv6-prefix-name export |
必选 缺省情况下,没有指定IPv6对等体/IPv6对等体组基于IPv6前缀列表的过滤策略 |
IPv6 BGP对引入的路由信息进行过滤后,会将符合条件的路由信息发布给IPv6 BGP对等体(Export)。指定protocol参数可以只对特定路由协议的信息进行过滤,如果没有指定此参数,则对所有要发布的IPv6 BGP路由信息进行过滤,包括引入的路由和使用network命令发布的路由。
表1-14 配置路由信息的接收策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
对接收的路由信息进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import |
必选 缺省情况下,不对接收的路由信息进行过滤 |
对接收的路由信息应用路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name import |
必选 缺省情况下,没有指定IPv6对等体/IPv6对等体组的路由策略 |
配置基于IPv6 ACL的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } filter-policy acl6-number import |
必选 缺省情况下,没有为IPv6对等体/IPv6对等体组设置基于IPv6 ACL的路由过滤策略 |
配置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
peer { ipv6-group-name | ipv6-address } as-path-acl as-path-acl-number import |
必选 缺省情况下,没有为IPv6对等体/IPv6对等体组设置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
配置基于IPv6地址前缀列表的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } ipv6-prefix ipv6-prefix-name import |
必选 缺省情况下,没有为IPv6对等体/IPv6对等体组设置基于IPv6前缀列表的路由过滤策略 |
配置允许从IPv6对等体/IPv6对等体组接收的最大IPv6地址前缀数 |
peer { ipv6-group-name | ipv6-address } route-limit limit [ percentage ] |
可选 缺省情况下,允许从IPv6对等体/IPv6对等体组接收的IPv6地址最大地址前缀数无限制 |
l 对IPv6 BGP接收的路由进行过滤,只有满足某些条件的路由才能被IPv6 BGP接收,并加到路由表中。
l 对等体组的成员可以与所在的组使用不同的入方向路由策略,即接收路由时,各对等体可以选择自己的策略。
使能同步特性后,如果一个AS由一个非IPv6 BGP路由器提供转发服务,那么该AS中的IPv6 BGP发言者不能对外部AS发布路由信息,除非该AS中的所有路由器都知道更新的路由信息。
IPv6 BGP路由器收到一条IBGP路由,缺省只检查该路由的下一跳是否可达。如果设置了同步特性,该IBGP路由只有在IGP也发布了这条路由时才会被同步并发布给EBGP对等体。
表1-15 配置IPv6 BGP与IGP路由同步
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置IPv6 BGP与IGP路由同步 |
synchronization |
必选 缺省情况下,IPv6 BGP和IGP路由不同步 |
表1-16 配置路由衰减
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置IPv6 BGP路由衰减 |
dampening [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ]* |
可选 缺省情况下,没有配置路由衰减 |
本节主要介绍使用各类路由属性来改变IPv6 BGP的选路策略。包括如下属性:
l IPv6 BGP协议的优先级
l 缺省LOCAL_PREF属性值
l MED属性
l NEXT_HOP属性
l AS_PATH属性
在配置IPv6 BGP的路由属性之前,需完成以下任务:
l 使能IPv6功能
l 配置IPv6 BGP基本功能
表1-17 配置IPv6 BGP协议的优先级、缺省LOCAL_PREF及NEXT_HOP属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
设定IPv6 BGP路由管理的优先级 |
preference { external-preference internal-preference local-preference | route-policy route-policy-name } |
可选 缺省情况下,EBGP路由的管理优先级为255,IBGP路由的管理优先级为255,本地产生的IPv6 BGP路由的管理优先级为130 |
配置本地优先级的缺省值 |
default local-preference value |
可选 缺省情况下,本地优先级的缺省值为100 |
配置发布路由时将自身地址作为下一跳 |
peer { ipv6-group-name | ipv6-address } next-hop-local |
可选 缺省情况下,向EBGP IPv6对等体/IPv6对等体组发布路由时,将自身地址作为下一跳;向IBGP IPv6对等体/IPv6对等体发布路由时,不将自身地址作为下一跳 |
l 在某些组网环境中,为保证IBGP邻居能够找到正确的下一跳,可以配置在向IBGP IPv6对等体/IPv6对等体组发布路由时,改变下一跳地址为自身地址。如果配置了IPv6 BGP负载分担,则不论是否配置了peer next-hop-local命令,本地路由器向IBGP IPv6对等体/IPv6对等体组发布路由时都先将下一跳地址改变为自身地址。
l 在第三方下一跳(即两个BGP连接在同一网段的广播网)这种特殊的组网环境中,缺省情况下,向EBGP IPv6对等体/IPv6对等体组发布路由时,不将自身地址作为下一跳;只有配置了peer next-hop-local命令,才将自身地址作为下一跳。
表1-18 配置MED属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置系统的缺省MED值 |
default med med-value |
可选 缺省情况下,系统缺省的MED值为0 |
配置允许比较来自不同AS邻居的路由的MED属性值 |
compare-different-as-med |
可选 缺省情况下,不允许比较来自不同AS邻居的路由的MED属性值 |
配置根据路由来自的AS进行分组对MED排序优选 |
bestroute compare-med |
可选 缺省情况下,不根据路由来自的AS进行分组对MED排序优选 |
配置允许比较联盟对等体的路由按MED值进行优选 |
bestroute med-confederation |
可选 缺省情况下,比较联盟对等体的路由时不考虑MED值 |
表1-19 配置AS_PATH属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置允许本地AS号在所接收的路由的AS_PATH属性中出现,并可同时配置允许重复的次数 |
peer { ipv6-group-name | ipv6-address } allow-as-loop [ number ] |
可选 缺省情况下,不允许本地AS号重复 |
为IPv6对等体/IPv6对等体组配置一个虚拟的本地自治系统号 |
peer { ipv6-group-name | ipv6-address } fake-as as-number |
可选 缺省情况下,没有为IPv6对等体/IPv6对等体组配置虚拟的本地自治系统号 |
禁止路由器将AS_PATH当作选路算法中的一个因素 |
bestroute as-path-neglect |
可选 缺省情况下,路由器可以将AS_PATH当作选路算法中的一个因素 |
配置发送IPv6 BGP更新报文时不携带私有AS编号 |
peer { ipv6-group-name | ipv6-address } public-as-only |
可选 缺省情况下,发送IPv6 BGP更新报文时携带私有自治系统号 |
配置用本地AS号替换AS_PATH属性中指定IPv6对等体/IPv6对等体组的AS号 |
peer { ipv6-group-name | ipv6-address } substitute-as |
可选 缺省情况下,没有用本地AS号替换AS_PATH属性中指定IPv6对等体/IPv6对等体组的AS号 |
本节主要介绍配置IPv6 BGP时钟、软复位IPv6 BGP连接和配置最大等价路由的条数。
(1) IPv6 BGP时钟
当对等体间建立了IPv6 BGP连接后,它们定时向对端发送Keepalive消息,以防止路由器认为IPv6 BGP连接已中断。若路由器在设定的连接保持时间(Holdtime)内未收到对端的Keepalive消息或任何其它类型的报文,则认为此IPv6 BGP连接已中断,从而退出此IPv6 BGP连接。
路由器在与对等体建立IPv6 BGP连接时,将比较双方保持时间,以数值较小者做为协商后的保持时间。如果协商结果为0,则不发送Keepalive消息,且不检测Holdtime是否超时。
(2) 软复位IPv6 BGP连接
IPv6 BGP的选路策略改变后,为了使新的策略生效,必须复位IPv6 BGP连接,但这样会造成短暂的IPv6 BGP连接中断。在目前的实现中,IPv6 BGP支持Route-refresh功能。当策略改变后,系统可以在不中断IPv6 BGP连接的情况下,自动对IPv6 BGP路由表进行动态刷新。
在所有IPv6 BGP路由器使能Route-refresh功能的情况下,如果IPv6 BGP的路由策略发生了变化,本地路由器会向对等体发布Route-refresh消息,收到此消息的对等体会将其路由信息重新发给本地IPv6 BGP路由器。这样,在不中断IPv6 BGP连接的情况下,就可以对IPv6 BGP路由表进行动态更新,并应用新的策略。
如果网络中存在有不支持Route-Refresh的路由器,则需要配置peer keep-all-routes命令,将其所有路由更新保存在本地;当路由策略发生变化时,系统将对IPv6 BGP路由表进行动态更新,并应用新的策略。
在调整IPv6 BGP的时钟之前,需完成以下任务:
l 使能IPv6能力
l 配置IPv6 BGP基本功能
表1-20 配置IPv6 BGP的时钟
步骤 |
操作 |
命令 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
必选 |
|
进入IPv6地址族视图 |
ipv6-family |
- |
|
配置IPv6 BGP定时器 |
配置IPv6 BGP的存活时间间隔与保持时间 |
timer keepalive keepalive hold holdtime |
可选 缺省情况下,存活时间间隔为60秒,保持时间为180秒 |
peer { ipv6-group-name | ipv6-address } timer keepalive keepalive hold holdtime |
|||
配置IPv6对等体/IPv6对等体组的发送同一路由更新报文的时间间隔 |
peer { ipv6-group-name | ipv6-address } route-update-interval interval |
可选 缺省情况下,向IBGP对等体发送同一路由更新的时间间隔为15秒,向EBGP对等体发送同一路由更新的时间间隔为30秒 |
l 使用timer命令配置的定时器比使用peer timer命令配置的定时器优先级要低。
l 设置的保持时间应该至少为存活时间间隔的三倍。
表1-21 使能Route-refresh功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
使能IPv6 BGP路由刷新功能 |
peer { ipv6-group-name | ipv6-address } capability-advertise route-refresh |
可选 缺省情况下,使能IPv6 BGP路由刷新功能 |
表1-22 手工软复位IPv6 BGP
步骤 |
操作 |
命令 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
保存所有来自IPv6对等体/IPv6对等体组的原始路由信息,即使这些路由没有通过已配置的入口策略 |
peer { ipv6-group-name | ipv6-address } keep-all-routes |
可选 缺省情况下,不保存IPv6对等体/IPv6对等体组的原始路由信息 |
返回用户视图 |
return |
- |
手工对IPv6 BGP连接进行软复位 |
refresh bgp ipv6 { all | ipv6-address | group ipv6-group-name | external | internal } { export | import } |
必选 |
配置命令peer keep-all-routes后,不论是否使用了过滤策略,都将保存指定对等体发来的所有路由更新。当软复位IPv6 BGP连接时,这些信息可以用来重新生成IPv6 BGP路由。
BGP ORF是将本地入口策略通过Route-refresh报文推给邻居,当邻居需要向BGP对等体发送Update更新报文时,通过本地的路由策略后最后还需要进行ORF策略的过滤,只有通过ORF策略的路由信息才会发给BGP对等体,以达到减少BGP邻居间Update更新报文的交互,节省网络资源的目的。
使能BGP ORF能力后,本地和BGP对等体会通过Open报文协商ORF能力(即收发的报文里是否允许携带ORF信息,如果允许携带,是否可以携带非标准的ORF信息),当协商完毕并成功建立邻居关系后,可以通过特殊的Route-refresh报文交互ORF信息。
ORF能力协商成功需要两端的配置来保证,关于两端参数的选择请参见表1-24。
表1-23 配置BGP ORF能力
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
使能BGP路由刷新功能 |
peer { group-name | ipv6-address } capability-advertise route-refresh |
必选 缺省情况下,BGP路由刷新功能处于使能状态 |
使能BGP ORF非标准功能 |
peer { group-name | ipv6-address } capability-advertise orf non-standard |
可选 缺省情况下,BGP ORF能力支持RFC5291,RFC5292的标准能力 |
使能BGP ORF地址前缀能力协商功能 |
peer { group-name | ip-address | ipv6-address } capability-advertise orf ip-prefix { both | receive | send } |
必选 缺省情况下,BGP 不支持ORF 地址前缀的能力协商 |
表1-24 both、send、receive参数选择以及配置效果描述表
本地选择参数 |
对端选择参数 |
协商成功后 |
send |
receive |
本端的ORF发送能力,对端的ORF接收能力 |
both |
||
receive |
send |
本端的ORF接收能力,对端的ORF发送能力 |
both |
||
both |
both |
双向的ORF发送和接收能力 |
表1-25 配置最大等价路由的条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置进行IPv6 BGP负载分担的路由条数 |
balance number |
必选 缺省情况下,不进行负载分担 |
为方便管理,减少重复配置操作,管理员将一些享有相同更新策略的IPv6 BGP对等体划分到一个逻辑组织,这些组织就称为对等体组。只须对一个等体组配置策略,该策略对组内所有成员都有效。
当对等体组的配置变化时,每个组员的配置也相应变化。对某些属性可以指定组员的IPv6地址进行配置,从而使指定组员在这些属性上不受对等体组配置的影响。
通常将同一自治系统的对等体配置为一个对等体组,当然,也可以将其它自治系统的对等体加入到该组。所有IBGP对等体可配置为另一个对等体组,也可以根据业务逻辑创建对等体组。
对等体组可以使一组对等体共享相同的策略,而利用团体可以使多个AS中的一组IPv6 BGP路由器共享相同的策略。团体是一个路由属性,在IPv6 BGP对等体之间传播,它并不受到AS范围的限制。
为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。当IBGP对等体数目很多时,建立全连接网的开销很大。路由反射器和联盟是解决这个问题的两种方法。
IPv6 BGP联盟的配置方式与BGP相同,这里不再赘述。以下主要介绍:
l 配置IPv6 BGP对等体组
l 配置IPv6 BGP团体
l 配置IPv6 BGP路由反射器
在配置IPv6 BGP对等体组之前,需完成以下任务:
l 相邻节点网络层互通
l 启动BGP,配置Router ID
表1-26 创建IBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
创建IBGP对等体组 |
group ipv6-group-name [ internal ] |
必选 |
将对等体加入已存在的对等体组 |
peer ipv6-address group ipv6-group-name [ as-number as-number ] |
必选 缺省情况下,对等体不属于任何对等体组 |
表1-27 创建纯EBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
创建EBGP对等体组 |
group ipv6-group-name external |
必选 |
配置对等体组的AS号 |
peer ipv6-group-name as-number as-number |
必选 缺省情况下,对等体组无AS号 |
在已创建的对等体组中加入IPv6对等体 |
peer ipv6-address group ipv6-group-name |
必选 缺省情况下,对等体不属于任何对等体组 |
l 在创建纯EBGP对等体时,需要指定对等体组的自治系统号。
l 如果对等体组中已经加入了对等体,那么不能够为该对等体组指定自治系统号。
表1-28 创建混合EBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
创建EBGP对等体组 |
group ipv6-group-name external |
必选 |
设置IPv6对等体的AS号 |
peer ipv6-address as-number as-number |
必选 缺省情况下,IPv6对等体无AS号 |
加入已创建的IPv6对等体 |
peer ipv6-address group ipv6-group-name |
必选 缺省情况下,对等体不属于任何对等体组 |
在创建混合EBGP对等体组时,需要单独创建对等体,并可设置不同的自治系统号,但不能设置对等体组的自治系统号。
表1-29 配置向IPv6对等体/IPv6对等体组发布团体属性
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
配置将团体属性传给IPv6对等体/IPv6对等体组 |
peer { ipv6-group-name | ipv6-address } advertise-community |
必选 缺省情况下,不将团体属性发布给任何IPv6对等体/IPv6对等体组 |
配置将扩展团体属性传给IPv6对等体/IPv6对等体组 |
peer { ipv6-group-name | ipv6-address } advertise-ext-community |
必选 缺省情况下,不将扩展团体属性发布给任何IPv6对等体/IPv6对等体组 |
表1-30 对发布的路由信息应用路由策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置出方向路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name export |
必选 缺省情况下,不指定IPv6对等体/IPv6对等体组的路由策略 |
l 配置IPv6 BGP团体时,必须使用路由策略来定义具体的团体属性,然后在发布路由信息时应用此路由策略。
l 关于路由策略的配置,请参见“IP路由分册”中的“路由策略配置”。
表1-31 配置IPv6 BGP路由反射器
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置将本机作为路由反射器,并将IPv6对等体/IPv6对等体组作为路由反射器的客户 |
peer { ipv6-group-name | ipv6-address } reflect-client |
必选 缺省情况下,没有配置路由反射器及其客户 |
使能客户机之间的路由反射 |
reflect between-clients |
可选 缺省情况下,允许客户到客户的路由反射 |
配置路由反射器的集群ID |
reflector cluster-id cluster-id |
可选 缺省情况下,每个路由反射器是使用自己的Router ID作为集群ID |
l 通常情况下,路由反射器的客户之间不要求是全连接的,路由缺省通过反射器从一个客户反射到其它客户;如果客户之间是全连接的,可以禁止客户间的反射,以便减少开销。
l 当一个集群里有多个路由反射器时,需要给所有位于同一个集群内的路由反射器配置相同的Cluster_ID,以避免路由循环。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IPv6 BGP的运行情况,通过查看显示信息验证配置的效果。
表1-32 显示IPv6 BGP的运行状态
操作 |
命令 |
显示对等体组信息 |
display bgp ipv6 group [ ipv6-group-name ] |
显示IPv6 BGP发布的IPv6路由信息 |
display bgp ipv6 network |
显示AS路径信息 |
display bgp ipv6 paths [ as-regular-expression ] |
显示IPv6对等体/IPv6对等体组信息 |
display bgp ipv6 peer [ group-name log-info | ipv4-address verbose | ipv6-address { log-info | verbose } | verbose ] |
显示收到的邻居ORF信息中的前缀信息 |
display bgp ipv6 peer { ip-address | ipv6-address } received ipv6-prefix |
显示IPv6 BGP路由信息 |
display bgp ipv6 routing-table [ ipv6-address prefix-length ] |
显示匹配指定AS路径过滤列表的路由 |
display bgp ipv6 routing-table as-path-acl as-path-acl-number |
显示指定IPv6 BGP团体的路由信息 |
display bgp ipv6 routing-table community [ aa:nn<1-13> ] [ no-advertise | no-export | no-export-subconfed ]* [ whole-match ] |
显示匹配指定IPv6 BGP团体列表的路由信息 |
display bgp ipv6 routing-table community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> |
显示IPv6 BGP衰减的路由 |
|
显示IPv6 BGP路由衰减参数 |
display bgp ipv6 routing-table dampening parameter |
显示来自不同自治系统的IPv6 BGP路由 |
display bgp ipv6 routing-table different-origin-as |
显示IPv6 BGP路由振荡统计信息 |
display bgp ipv6 routing-table flap-info [ regular-expression as-regular-expression | as-path-acl as-path-acl-number | network-address [ prefix-length [ longer-match ] ] ] |
显示向指定的IPv4/IPv6 BGP对等体发送或者从指定的IPv4/IPv6 BGP对等体收到的路由信息 |
display bgp ipv6 routing-table peer { ipv4-address | ipv6-address } { advertised-routes | received-routes } [ network-address prefix-length | statistic ] |
显示匹配AS正则表达式的IPv6路由信息 |
display bgp ipv6 routing-table regular-expression as-regular-expression |
显示IPv6 BGP的路由统计信息 |
display bgp ipv6 routing-table statistic |
当BGP路由策略或协议发生变化后,如果需要通过复位IPv6 BGP连接使新的配置生效,请在用户视图下进行下列配置。
操作 |
命令 |
手工软复位IPv6 BGP连接 |
refresh bgp ipv6 { ipv4-address | ipv6-address | all | external | group ipv6-group-name | internal } { export | import } |
复位所有IPv6 BGP连接 |
reset bgp ipv6 { as-number | ipv4-address | ipv6-address [ flap-info ] | all | external | group group-name | internal } |
在用户视图下执行reset命令可清除IPv6 BGP路由的统计信息。
操作 |
命令 |
清除IPv6 BGP路由的衰减信息并释放被抑制的路由 |
reset bgp ipv6 dampening [ ipv6-address prefix-length ] |
清除IPv6 BGP路由的振荡统计信息 |
reset bgp ipv6 flap-info [ ipv6-address/prefix-length | as-path-acl as-path-acl-number | regexp as-path-regexp ] |
IPv6 BGP的配置举例多数与BGP4的配置举例相似,本节不再一一列出。其他配置例请参见“IP路由分册”中的“BGP配置”。
如图1-1所示,所有交换机运行IPv6 BGP协议,Switch A和Switch B之间建立EBGP连接,Switch B、Switch C和Switch D之间建立IBGP全连接。
图1-1 IPv6 BGP基本配置组网图
(1) 配置各VLAN接口的IPv6地址(略)
(2) 配置IBGP连接
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 65009
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 9:1::2 as-number 65009
[SwitchB-bgp-af-ipv6] peer 9:3::2 as-number 65009
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 65009
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 9:3::1 as-number 65009
[SwitchC-bgp-af-ipv6] peer 9:2::2 as-number 65009
[SwitchC-bgp-af-ipv6] quit
[SwitchC-bgp] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] bgp 65009
[SwitchD-bgp] router-id 4.4.4.4
[SwitchD-bgp] ipv6-family
[SwitchD-bgp-af-ipv6] peer 9:1::1 as-number 65009
[SwitchD-bgp-af-ipv6] peer 9:2::1 as-number 65009
[SwitchD-bgp-af-ipv6] quit
[SwitchD-bgp] quit
(3) 配置EBGP连接
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 65008
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 10::1 as-number 65009
[SwitchA-bgp-af-ipv6] quit
[SwitchA-bgp] quit
# 配置Switch B。
[SwitchB] bgp 65009
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 10::2 as-number 65008
# 查看Switch B的对等体信息。
[SwitchB] display bgp ipv6 peer
BGP local router ID : 2.2.2.2
Local AS number : 65009
Total number of peers : 3 Peers in established state : 3
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10::2 65008 3 3 0 0 00:01:16 Established
9:3::2 65009 2 3 0 0 00:00:40 Established
9:1::2 65009 2 4 0 0 00:00:19 Established
# 查看Switch C的对等体信息。
[SwitchC] display bgp ipv6 peer
BGP local router ID : 3.3.3.3
Local AS number : 65009
Total number of peers : 2 Peers in established state : 2
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
9:3::1 65009 4 4 0 0 00:02:18 Established
9:2::2 65009 4 5 0 0 00:01:52 Established
可以看出,Switch A和Switch B之间建立的EBGP连接,Switch B、Switch C和Switch D之间建立了IBGP连接。
Switch B接收了一个经过EBGP的更新报文并将之传给Switch C。Switch C被配置为路由反射器,它有两个客户机:Switch B和Switch D。
SwitchB和Switch D间不需要建立IBGP连接,当Switch C接收了来自Switch B的路由更新时,它将此信息反射给Switch D;反之,接收到的Switch D的路由信息也会被反射给Switch B。
图1-2 配置IPv6 BGP路由反射器组网图
(1) 配置各VLAN接口的IPv6地址(略)
(2) 配置IPv6 BGP基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 100
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 100::2 as-number 200
[SwitchA-bgp-af-ipv6] network 1:: 64
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 200
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 100::1 as-number 100
[SwitchB-bgp-af-ipv6] peer 101::1 as-number 200
[SwitchB-bgp-af-ipv6] peer 101::1 next-hop-local
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 200
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 101::2 as-number 200
[SwitchC-bgp-af-ipv6] peer 102::2 as-number 200
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] bgp 200
[SwitchD-bgp] router-id 4.4.4.4
[SwitchD-bgp] ipv6-family
[SwitchD-bgp-af-ipv6] peer 102::1 as-number 200
(3) 配置路由反射器
# 配置Switch C作为路由反射器,Switch B和Switch D是它的两个客户机。
[SwitchC-bgp-af-ipv6] peer 101::2 reflect-client
[SwitchC-bgp-af-ipv6] peer 102::2 reflect-client
在Switch B上用命令display bgp ipv6 routing-table,可以看到Switch B已知道网络1::/64的存在。
在Switch D上用命令display bgp ipv6 routing-table,可以看到Switch D也知道网络1::/64的存在。
使用display bgp ipv6 peer命令查看IPv6 BGP对等体的信息,发现与对端的连接无法进入Established状态。
IPv6 BGP邻居的建立需要能够使用179端口建立TCP会话,以及能够正确交换Open消息。
(1) 用display current-configuration命令检查邻居的AS号配置是否正确。
(2) 用display bgp ipv6 peer命令检查邻居的IPv6地址是否正确。
(3) 如果使用Loopback接口,检查是否配置了peer connect-interface命令。
(4) 如果是物理上非直连的EBGP邻居,检查是否配置了peer ebgp-max-hop命令。
(5) 检查路由表中是否存在到邻居的可用路由。
(6) 使用ping命令检查链路是否畅通。
(7) 使用display tcp ipv6 status命令检查TCP连接是否正常。
(8) 检查是否配置了禁止TCP端口179的ACL。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!