• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

05-三层技术-IP路由配置指导

目录

11-IPv6 BGP配置

本章节下载 11-IPv6 BGP配置  (462.73 KB)

11-IPv6 BGP配置

  录

1 IPv6 BGP配置

1.1 IPv6 BGP简介

1.2 配置任务简介

1.3 配置IPv6 BGP的基本功能

1.3.1 配置准备

1.3.2 配置IPv6对等体

1.3.3 配置IPv6 BGP发布本地IPv6路由

1.3.4 配置路由首选值

1.3.5 配置IPv6 BGP连接所使用的源接口

1.3.6 配置非直接相连的邻居建立EBGP连接

1.3.7 配置IPv6对等体/IPv6对等体组的描述信息

1.3.8 禁止与IPv6对等体/IPv6对等体组建立会话

1.3.9 记录指定IPv6对等体/IPv6对等体组的会话状态和事件信息

1.4 控制路由信息的发布与接收

1.4.1 配置准备

1.4.2 配置IPv6 BGP引入其他路由

1.4.3 配置IPv6 BGP路由聚合

1.4.4 配置向IPv6对等体/IPv6对等体组发送缺省路由

1.4.5 配置路由信息的发布策略

1.4.6 配置路由信息的接收策略

1.4.7 配置IPv6 BGP与IGP路由同步

1.4.8 配置路由衰减

1.5 配置IPv6 BGP的路由属性

1.5.1 配置准备

1.5.2 配置IPv6 BGP路由管理的优先级、缺省LOCAL_PREF及NEXT_HOP属性

1.5.3 配置MED属性

1.5.4 配置AS_PATH属性

1.6 调整和优化IPv6 BGP网络

1.6.2 配置准备

1.6.3 配置IPv6 BGP的时钟

1.6.4 配置IPv6 BGP软复位

1.6.5 使能IPv6 BGP ORF能力功能

1.6.6 使能4字节AS号抑制功能

1.6.7 配置最大等价路由的条数

1.6.8 配置IPv6 BGP建立TCP连接时进行MD5认证

1.7 组建大型IPv6 BGP网络

1.7.1 配置准备

1.7.2 配置IPv6 BGP对等体组

1.7.3 配置IPv6 BGP团体

1.7.4 配置IPv6 BGP路由反射器

1.8 配置IPv6 BGP与BFD联动

1.9 IPv6 BGP显示和维护

1.9.1 IPv6 BGP显示

1.9.2 复位IPv6 BGP连接

1.9.3 清除IPv6 BGP信息

1.10 IPv6 BGP典型配置举例

1.10.1 IPv6 BGP基本配置

1.10.2 配置IPv6 BGP路由反射

1.10.3 配置IPv6 BGP与BFD联动

1.11 IPv6 BGP常见错误配置举例

1.11.1 IPv6 BGP对等体关系不能建立

 


1 IPv6 BGP配置

l          在以下路由协议的介绍中所指的路由器及路由器图标,代表了一般意义下的路由器以及运行了路由协议的以太网交换机。

l          本章只列出了IPv6 BGP专有的配置与操作,其他相关内容请参见“三层技术-IP路由配置指导”中的“BGP”。

 

1.1  IPv6 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 Reachability 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.2  配置任务简介

表1-1 配置任务简介

配置任务

说明

详细配置

配置IPv6 BGP基本功能

配置IPv6对等体

必选

1.3.2 

配置IPv6 BGP发布本地IPv6路由

可选

1.3.3 

配置路由首选值

可选

1.3.4 

配置IPv6 BGP连接所使用的本地接口

可选

1.3.5 

配置EBGP连接的最大跳数

可选

1.3.6 

配置IPv6对等体/IPv6对等体组的描述信息

可选

1.3.7 

禁止与IPv6对等体/IPv6对等体组建立会话

可选

1.3.8 

记录指定IPv6对等体/IPv6对等体组的会话状态和事件信息

可选

1.3.9 

控制路由信息的发布与接收

配置IPv6 BGP引入其他路由

可选

1.4.2 

配置IPv6 BGP路由聚合

可选

1.4.3 

配置向IPv6对等体/IPv6对等体组发送缺省路由

可选

1.4.4 

配置路由信息的发布策略

可选

1.4.5 

配置路由信息的接收策略

可选

1.4.6 

配置IPv6 BGP与IGP路由同步

可选

1.4.7 

配置路由衰减

可选

1.4.8 

配置IPv6 BGP的路由属性

配置IPv6 BGP路由管理的优先级、缺省LOCAL_PREF及NEXT_HOP属性

可选

1.5.2 

配置MED属性

可选

1.5.3 

配置AS_PATH属性

可选

1.5.4 

调整和优化IPv6 BGP网络

配置IPv6 BGP的时钟

可选

1.6.3 

配置IPv6 BGP软复位

可选

1.6.4 

配置BGP ORF能力

可选

1.6.5 

使能4字节AS号抑制功能

可选

1.6.6 

配置最大等价路由的条数

可选

1.6.7 

配置IPv6 BGP建立TCP连接时进行MD5认证

可选

1.6.8 

组建大型IPv6 BGP网络

配置IPv6 BGP对等体组

可选

1.7.2 

配置IPv6 BGP团体

可选

1.7.3 

配置IPv6 BGP路由反射器

可选

1.7.4 

配置IPv6 BGP与BFD联动

可选

1.8 

 

1.3  配置IPv6 BGP的基本功能

1.3.1  配置准备

在配置IPv6 BGP基本功能之前,需完成以下任务:

l              配置接口的网络层地址

l              使能IPv6功能

必须首先创建对等体组,才能配置对等体组的基本功能。关于对等体组的创建请参见“1.7.2  配置IPv6 BGP对等体组”。

 

1.3.2  配置IPv6对等体

表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.3  配置IPv6 BGP发布本地IPv6路由

表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.3.4  配置路由首选值

表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

 

当通过路由策略过滤IPv6路由时,路由的首选值将优先选取路由策略中设置的首选值。只有当路由策略里设置的首选值为0时,才选取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.3.5  配置IPv6 BGP连接所使用的源接口

IPv6 BGP使用TCP作为其传输层协议,缺省情况下,IPv6 BGP使用到达对等体最佳路由的出接口作为与对等体/对等体组建立TCP连接的源接口。

当建立IPv6 BGP连接的路由器之间存在冗余链路时,如果路由器上的一个接口发生故障,链路状态变为down,建立TCP连接的源接口可能会随之发生变化,导致BGP需要重新建立TCP连接,造成网络振荡。为了避免该情况的发生,建议网络管理员使用Loopback接口建立IPv6 BGP连接,并将建立IPv6 BGP连接所使用的源接口配置为Loopback接口,来提高IPv6 BGP连接的可靠性和稳定性。

表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连接的源接口

 

当建立BGP连接时,如果没有明确指定建立TCP连接的源接口,可能会由于无法根据到达BGP对等体的最优路由确定TCP连接源接口从而导致无法建立TCP连接,因此建议用户在此情况下配置BGP对等体时明确配置BGP会话建立TCP连接的源接口为指定接口。

 

1.3.6  配置非直接相连的邻居建立EBGP连接

表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.3.7  配置IPv6对等体/IPv6对等体组的描述信息

表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.3.8  禁止与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对等体/IPv6对等体组建立会话

 

1.3.9  记录指定IPv6对等体/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”。

 

1.4  控制路由信息的发布与接收

控制IPv6 BGP的路由信息的发布和接收,包括对路由信息进行过滤,应用路由策略,路由衰减。

1.4.1  配置准备

在控制路由信息的发布与接收之前,需完成以下任务:

l              使能IPv6功能

l              配置IPv6 BGP基本功能

1.4.2  配置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的缺省路由。

 

1.4.3  配置IPv6 BGP路由聚合

在中型或大型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.4.4  配置向IPv6对等体/IPv6对等体组发送缺省路由

表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.4.5  配置路由信息的发布策略

表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.4.6  配置路由信息的接收策略

表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          对等体组的成员可以与所在的组使用不同的入方向路由策略,即接收路由时,各对等体可以选择自己的策略。

 

1.4.7  配置IPv6 BGP与IGP路由同步

IPv6 BGP路由器收到一条IBGP路由,缺省只检查该路由的下一跳是否可达。如果可达,IPv6 BGP路由器就将这条IBGP路由发布给EBGP对等体。如果配置了同步特性,则需要同时满足以下条件,IPv6 BGP路由器才会将该IBGP路由发布给EBGP对等体:

l              该路由的下一跳可达;

l              在IGP路由表中存在一条active的路由,与该IBGP路由的目的网段完全相同。(IGP路由是否为active状态可以通过display ipv6 routing-table protocol命令来查看)

表1-15 配置IPv6 BGP与IGP路由同步

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

必选

进入IPv6地址族视图

ipv6-family

-

配置IPv6 BGP与IGP路由同步

synchronization

必选

缺省情况下,IPv6 BGP和IGP路由不同步

 

1.4.8  配置路由衰减

表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 ]*

可选

缺省情况下,没有配置路由衰减

 

1.5  配置IPv6 BGP的路由属性

本节主要介绍使用各类路由属性来改变IPv6 BGP的选路策略。包括如下属性:

l              IPv6 BGP协议的优先级

l              缺省LOCAL_PREF属性值

l              MED属性

l              NEXT_HOP属性

l              AS_PATH属性

1.5.1  配置准备

在配置IPv6 BGP的路由属性之前,需完成以下任务:

l              使能IPv6功能

l              配置IPv6 BGP基本功能

1.5.2  配置IPv6 BGP路由管理的优先级、缺省LOCAL_PREF及NEXT_HOP属性

表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.5.3  配置MED属性

表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.5.4  配置AS_PATH属性

表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号

 

1.6  调整和优化IPv6 BGP网络

本节主要介绍配置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路由表进行动态更新,并应用新的策略。

1.6.2  配置准备

在调整IPv6 BGP的时钟之前,需完成以下任务:

l              使能IPv6能力

l              配置IPv6 BGP基本功能

1.6.3  配置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秒

配置指定IPv6对等体/IPv6对等体组的存活和保持时间

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.6.4  配置IPv6 BGP软复位

1. 使能Route-refresh功能

表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路由刷新功能

 

2. 手工软复位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路由。

 

1.6.5  使能IPv6 BGP ORF能力功能

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.6.6  使能4字节AS号抑制功能

通常情况下,设备在与对端设备建立BGP对等体连接关系时会发送BGP Open消息,在消息中的Optional parameters字段携带信息:说明AS号取值占用4字节(即取值范围为1~4294967295)。此时,如果对端设备不支持AS号取值为4字节(比如只支持2字节),则连接关系无法建立。

为了解决上述问题,您可以使能4字节AS号抑制功能:当对端设备不支持AS号取值为4字节时,设备发出的BGP Open消息仍然可以被对端设备正常识别,从而BGP对等体连接关系可以成功建立。

表1-25 使能4字节AS号抑制功能

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入IPv6地址族视图

ipv6-family

-

使能4字节AS号抑制功能

peer { group-name | ip-address } capability-advertise suppress-4-byte-as

必选

缺省情况下,设备没有使能4字节AS号抑制功能

 

如果对端设备支持4字节AS号能力时,请不要使能该功能,否则会导致对等体无法建立。

 

1.6.7  配置最大等价路由的条数

表1-26 配置最大等价路由的条数

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

必选

进入IPv6地址族视图

ipv6-family

-

配置进行IPv6 BGP负载分担的路由条数

balance number

必选

缺省情况下,不进行负载分担

 

1.6.8  配置IPv6 BGP建立TCP连接时进行MD5认证

IPv6 BGP使用TCP作为传输层协议,可靠性有一定保证。为了提高IPv6 BGP的安全性,可以配置IPv6 BGP在建立TCP连接时进行MD5认证,认证通过后才能建立TCP连接。如果认证失败,则不能建立TCP连接。

表1-27 配置IPv6 BGP建立TCP连接时进行MD5认证

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

必选

进入IPv6地址族视图

ipv6-family

-

配置IPv6 BGP建立TCP连接时进行MD5认证

peer { ipv6-group-name | ipv6-address } password { cipher | simple } password

可选

缺省情况下,IPv6 BGP建立TCP连接时不进行MD5认证

 

l          IPv6 BGP的MD5认证并不能对BGP报文进行认证。

l          如果启用MD5认证,参与认证的双方必须配置完全一致的认证方式和密码,否则将因为无法通过认证而不能建立TCP连接。

 

1.7  组建大型IPv6 BGP网络

为方便管理,减少重复配置操作,管理员将一些享有相同更新策略的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路由反射器

1.7.1  配置准备

在配置IPv6 BGP对等体组之前,需完成以下任务:

l              相邻节点网络层互通

l              启动BGP,配置Router ID

1.7.2  配置IPv6 BGP对等体组

1. 创建IBGP对等体组

表1-28 创建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 ]

必选

缺省情况下,对等体不属于任何对等体组

 

2. 创建纯EBGP对等体组

表1-29 创建纯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          如果对等体组中已经加入了对等体,那么不能够为该对等体组指定自治系统号。

 

3. 创建混合EBGP对等体组

表1-30 创建混合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.7.3  配置IPv6 BGP团体

1. 配置向IPv6对等体/IPv6对等体组发布团体属性

表1-31 配置向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对等体组

 

2. 对发布的路由信息应用路由策略

表1-32 对发布的路由信息应用路由策略

操作

命令

说明

进入系统视图

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.7.4  配置IPv6 BGP路由反射器

表1-33 配置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,以避免路由循环。

 

1.8  配置IPv6 BGP与BFD联动

IPv6 BGP协议通过存活时间(Keepalive)定时器和保持时间(Holdtime)定时器来维护邻居关系。但这些定时器都是秒级的,而且根据协议规定,设置的保持时间应该至少为存活时间间隔的三倍。这样使得IPv6 BGP邻居关系的检测比较慢,对于报文收发速度快的接口会导致大量报文丢失。通过配置IPv6 BGP与BFD联动,使得BFD能够为IPv6 BGP邻居之间的链路提供更快速的检测。当邻居之间的链路出现故障时,能够加快IPv6 BGP协议的收敛速度。

表1-34 配置IPv6 BGP与BFD联动

操作

命令

说明

进入系统视图

system-view

-

启动BGP,进入BGP视图

bgp as-number

必选

缺省情况下,系统不运行BGP

进入IPv6地址族视图

ipv6-family

-

在指定邻居上使能BFD

peer ipv6-address bfd

必选

缺省情况下,IPv6 BGP的所有对等体邻居上都没有使能BFD链路检测功能

 

l          配置BFD之前,需要使能BGP功能。

l          在BGP使能GR能力后,请慎用BFD。因为当链路故障时,系统可能还没来得及启用GR处理流程,BFD已经检测到链路故障了,从而导致GR失败。

l          有关BFD的介绍和基本功能配置,请参见“可靠性配置指导”中的“BFD”。

 

1.9  IPv6 BGP显示和维护

1.9.1  IPv6 BGP显示

在完成上述配置后,在任意视图下执行display命令可以显示配置后IPv6 BGP的运行情况,通过查看显示信息验证配置的效果。

表1-35 显示IPv6 BGP的运行状态

操作

命令

显示对等体组信息

display bgp ipv6 group [ ipv6-group-name ] [ | { begin | exclude | include } regular-expression ]

显示IPv6 BGP发布的IPv6路由信息

display bgp ipv6 network [ | { begin | exclude | include } regular-expression ]

显示AS路径信息

display bgp ipv6 paths [ as-regular-expression | | { begin | exclude | include } regular-expression ]

显示IPv6对等体/IPv6对等体组信息

display bgp ipv6 peer [ group-name log-info | ipv4-address verbose | ipv6-address { log-info | verbose } | verbose ] [ | { begin | exclude | include } regular-expression ]

显示收到的邻居ORF信息中的前缀信息

display bgp ipv6 peer { ip-address | ipv6-address } received ipv6-prefix [ | { begin | exclude | include } regular-expression ]

显示IPv6 BGP路由信息

display bgp ipv6 routing-table [ ipv6-address prefix-length ] [ | { begin | exclude | include } regular-expression ]

显示匹配指定AS路径过滤列表的路由

display bgp ipv6 routing-table as-path-acl as-path-acl-number [ | { begin | exclude | include } regular-expression ]

显示指定IPv6 BGP团体的路由信息

display bgp ipv6 routing-table community [ aa:nn<1-13> ] [ no-advertise | no-export | no-export-subconfed ]* [ whole-match ] [ | { begin | exclude | include } regular-expression ]

显示匹配指定IPv6 BGP团体列表的路由信息

display bgp ipv6 routing-table community-list { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number }&<1-16> [ | { begin | exclude | include } regular-expression ]

显示IPv6 BGP衰减的路由

display bgp ipv6 routing-table dampened [ | { begin | exclude | include } regular-expression ]

显示IPv6 BGP路由衰减参数

display bgp ipv6 routing-table dampening parameter [ | { begin | exclude | include } regular-expression ]

显示来自不同自治系统的IPv6 BGP路由

display bgp ipv6 routing-table different-origin-as [ | { begin | exclude | include } regular-expression ]

显示IPv6 BGP路由振荡统计信息

display bgp ipv6 routing-table flap-info [ regular-expression as-regular-expression | [ as-path-acl as-path-acl-number | ipv6-address prefix-length [ longer-match ] ] [ | { begin | exclude | include } regular-expression ] ]

显示向指定的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 ] [ | { begin | exclude | include } regular-expression ]

显示匹配AS正则表达式的IPv6路由信息

display bgp ipv6 routing-table regular-expression as-regular-expression

显示IPv6 BGP的路由统计信息

display bgp ipv6 routing-table statistic [ | { begin | exclude | include } regular-expression ]

 

1.9.2  复位IPv6 BGP连接

当BGP路由策略或协议发生变化后,如果需要通过复位IPv6 BGP连接使新的配置生效,请在用户视图下进行下列配置。

表1-36 复位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 }

 

1.9.3  清除IPv6 BGP信息

在用户视图下执行reset命令可清除IPv6 BGP路由的统计信息。

表1-37 清除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 ]

 

1.10  IPv6 BGP典型配置举例

IPv6 BGP的配置举例多数与BGP4的配置举例相似,本节不再一一列出。其他配置例请参见“三层技术-IP路由配置指导”中的“BGP”。

 

1.10.1  IPv6 BGP基本配置

1. 组网需求

图1-1所示,所有交换机运行IPv6 BGP协议,Switch A和Switch B之间建立EBGP连接,Switch B、Switch C和Switch D之间建立IBGP全连接。

2. 组网图

图1-1 IPv6 BGP基本配置组网图

 

3. 配置步骤

(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连接。

1.10.2  配置IPv6 BGP路由反射

1. 组网需求

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。

2. 组网图

图1-2 配置IPv6 BGP路由反射器组网图

 

3. 配置步骤

(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的存在。

1.10.3  配置IPv6 BGP与BFD联动

1. 组网需求

l              在AS 200内使用OSPFv3作为IGP协议;

l              Switch A与Switch C建立两条IBGP连接。当Switch A与Switch C之间的两条链路均连通时,Switch C与1200::0/64之间的报文使用Switch A<->Switch B<->Switch C这条路径;当Switch A<->Switch B<->Switch C链路故障时,BFD能够快速检测并通告IPv6 BGP协议,使得Switch A<->Switch D<->Switch C这条路径能够迅速生效。

2. 组网图

图1-3 IPv6 BGP与BFD联动配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

Switch A

Vlan-int100

3000::1/64

Switch C

Vlan-int101

3001::3/64

 

Vlan-int200

2000::1/64

 

Vlan-int201

2001::3/64

Switch B

Vlan-int100

3000::2/64

Switch D

Vlan-int200

2000::2/64

 

Vlan-int101

3001::2/64

 

Vlan-int201

2001::2/64

 

3. 配置步骤

(1)        配置各接口的IPv6地址(略)

(2)        配置OSPFv3(略),保证Switch ASwitch C之间路由可达

(3)        Switch A上的IPv6 BGP配置

# 配置Switch A和Switch C建立两条IBGP连接。

<SwitchA> system-view

[SwitchA] bgp 200

[SwitchA-bgp] ipv6-family

[SwitchA-bgp-af-ipv6] peer 3001::3 as-number 200

[SwitchA-bgp-af-ipv6] peer 2001::3 as-number 200

[SwitchA-bgp-af-ipv6] quit

# 配置当Switch A与Switch C之间的两条链路均连通时,Switch C与1200::0/64之间的报文使用Switch A<->Switch B<->Switch C这条路径。(在Switch A上对发布给对等体2001::3的1200::0/64路由配置较高的MED属性值)

l              定义编号为2000的IPv6 ACL,允许路由1200::0/64通过。

[SwitchA] acl ipv6 number 2000

[SwitchA-acl6-basic-2000] rule permit source 1200::0 64

[SwitchA-acl6-basic-2000] quit

l              定义两个Route-policy,一个名为apply_med_50,为路由1200::0/64设置MED属性值为50;另一个名为apply_med_100,为路由1200::0/64设置MED属性值为100。

[SwitchA] route-policy apply_med_50 permit node 10

[SwitchA-route-policy] if-match ipv6 address acl 2000

[SwitchA-route-policy] apply cost 50

[SwitchA-route-policy] quit

[SwitchA] route-policy apply_med_100 permit node 10

[SwitchA-route-policy] if-match ipv6 address acl 2000

[SwitchA-route-policy] apply cost 100

[SwitchA-route-policy] quit

l              对发布给对等体3001::3的路由应用名为apply_med_50的Route-policy,对发布给对等体2001::3的路由应用名为apply_med_100的Route-policy。

[SwitchA] bgp 200

[SwitchA-bgp] ipv6-family

[SwitchA-bgp-af-ipv6] network 1200:: 64

[SwitchA-bgp-af-ipv6] peer 3001::3 route-policy apply_med_50 export

[SwitchA-bgp-af-ipv6] peer 2001::3 route-policy apply_med_100 export

# 配置当Switch A<->Switch B<->Switch C链路故障时,BFD能够快速检测并通告IPv6 BGP协议,使得Switch A<->Switch D<->Switch C这条路径能够迅速生效。

[SwitchA-bgp-af-ipv6] peer 3001::3 bfd

[SwitchA-bgp-af-ipv6] quit

[SwitchA-bgp] quit

(4)        Switch C上的IPv6 BGP配置。

<SwitchC> system-view

[SwitchC] bgp 200

[SwitchC-bgp] ipv6-family

[SwitchC-bgp-af-ipv6] peer 3000::1 as-number 200

[SwitchC-bgp-af-ipv6] peer 3000::1 bfd

[SwitchC-bgp-af-ipv6] peer 2000::1 as-number 200

[SwitchC-bgp-af-ipv6] quit

[SwitchC-bgp] quit

(5)        配置各路由器接口及BFD参数(该步骤可省略,使用BFD参数的缺省值即可)

# 配置Switch A。

[SwitchA] bfd session init-mode active

[SwitchA] interface vlan-interface 100

l              配置发送BFD控制报文的最小时间间隔为500毫秒。

[SwitchA-Vlan-interface100] bfd min-transmit-interval 500

l              配置接收BFD控制报文的最小时间间隔为500毫秒。

[SwitchA-Vlan-interface100] bfd min-receive-interval 500

l              配置BFD报文最大失效的个数为7。

[SwitchA-Vlan-interface100] bfd detect-multiplier 7

[SwitchA-Vlan-interface100] quit

# 配置Switch C。

[SwitchC] bfd session init-mode active

[SwitchC] interface vlan-interface 101

l              配置发送BFD控制报文的最小时间间隔为500毫秒。

[SwitchC-Vlan-interface101] bfd min-transmit-interval 500

l              配置接收BFD控制报文的最小时间间隔为500毫秒。

[SwitchC-Vlan-interface101] bfd min-receive-interval 500

l              配置BFD报文最大失效的个数为7。

[SwitchC-Vlan-interface101] bfd detect-multiplier 7

[SwitchC-Vlan-interface101] return

(6)        检查配置结果

下面以Switch C为例,Switch A和Switch B类似,不再赘述。

# 显示Switch C的BFD信息。

<SwitchC> display bfd session verbose

 

 Total session number: 1   Up session number: 1   Init mode: Active

 

 IPv6 Session working under Ctrl mode:

 

     Local Discr: 17                  Remote Discr: 13

       Source IP: 3001::3

  Destination IP: 3000::1

   Session State: Up                     Interface: Vlan-interface101

 Min Trans Inter: 500ms            Act Trans Inter: 500ms

  Min Recv Inter: 500ms           Act Detect Inter: 3000ms

    Recv Pkt Num: 57                  Send Pkt Num: 53

       Hold Time: 2200ms              Connect Type: Direct

  Running Up for: 00:00:06               Auth mode: none

        Protocol: BGP6

       Diag Info: No Diagnostic

以上显示信息表明:Switch AVLAN接口100Switch CVLAN接口101之间已经建立了BFD连接,而且BFD协议运行正常。

# Switch C上查看BGP邻居信息,可以看出Switch ASwitch C BGP邻居处于Established状态。

<SwitchC> display bgp ipv6 peer

 BGP local router ID : 1.1.1.1

 Local AS number : 200

 Total number of peers : 2                 Peers in established state : 2

  Peer                    AS  MsgRcvd  MsgSent OutQ PrefRcv Up/Down  State

  2000::1                200        7       10    0       0 00:01:05 Established

  3000::1                200        7       10    0       0 00:01:34 Established

# 在Switch C上查看1200::0/64的路由信息,可以看出Switch A和Switch C是通过Switch B进行通信的。

<SwitchC> display ipv6 routing-table 1200::0 64 verbose

Routing Table :

Summary Count : 2

 

 Destination  : 1200::                                  PrefixLength : 64

 NextHop      : 3000::1                                 Preference   : 255

 RelayNextHop : 3001::2                                 Tag          : 0H

 Neighbor     : 3000::1                                 ProcessID    : 0

 Interface    : Vlan-interface101                     Protocol     : BGP4+

 State        : Active Adv                              Cost         : 50

 Tunnel ID    : 0x0                                     Label        : NULL

 Age          : 4538sec

 

 Destination  : 1200::                                  PrefixLength : 64

 NextHop      : 2000::1                                 Preference   : 255

 RelayNextHop : 2001::2                                 Tag          : 0H

 Neighbor     : 2000::1                                 ProcessID    : 0

 Interface    : Vlan-interface201                     Protocol     : BGP4+

 State        : Invalid Adv                             Cost         : 100

 Tunnel ID    : 0x0                                     Label        : NULL

 Age          : 4515sec

以上显示信息表明:Switch C到达1200::0/64网段有两条路径:当前生效的是Switch A<->Switch B<->Switch C,Switch A<->Switch D<->Switch C这条路径没有生效。

# 打开Switch C的调试开关。

<SwitchC> debugging bfd scm

<SwitchC> debugging bfd event

<SwitchC> debugging bgp bfd

<SwitchC> terminal monitor

<SwitchC> terminal debugging

# Switch A和Switch B之间的链路发生故障后。可以看到Switch C能够快速检测Switch B的变化。

%Nov  5 11:42:24:172 2009 SwitchC BFD/5/BFD_CHANGE_FSM: Sess[3001::3/3000::1, 13/17,VLAN101,Ctrl], Sta: UP->DOWN, Diag: 1

%Nov  5 11:42:24:172 2009 SwitchC BGP/5/BGP_STATE_CHANGED: 3000::1 state is changed from ESTABLISHED to IDLE.

*Nov  5 11:42:24:187 2009 SwitchC RM/6/RMDEBUG: BGP_BFD: Recv BFD DOWN msg, Src IP 3001::3, Dst IP 3000::1, Instance ID 0.

*Nov  5 11:42:24:187 2009 SwitchC RM/6/RMDEBUG: BGP_BFD: Reset BGP session 3000::1 for BFD session down.

*Nov  5 11:42:24:187 2009 SwitchC RM/6/RMDEBUG: BGP_BFD: Send DELETE msg to BFD, Connection type DIRECT, Src IP 3001::3, Dst IP 3000::1, Instance ID 0.

# 在Switch C上查看1200::0/64的路由信息,可以看出Switch A和Switch C是通过Switch D进行通信的。

<SwitchC> display ipv6 routing-table 1200::0 64 verbose

Routing Table :

Summary Count : 1

 Destination  : 1200::                                  PrefixLength : 64

 NextHop       : 2000::1                                Preference   : 255

 RelayNextHop : 2001::2                                 Tag          : 0H

 Neighbor     : 2000::1                                 ProcessID    : 0

 Interface    : Vlan-interface201                       Protocol     : BGP4+

 State        : Active Adv                              Cost         : 100

 Tunnel ID    : 0x0                                     Label        : NULL

 Age          : 4635sec

以上显示信息表明:Switch C到达1200::0/64网段有一条路径:Switch A<->Switch D<->Switch C。

1.11  IPv6 BGP常见错误配置举例

1.11.1  IPv6 BGP对等体关系不能建立

1. 错误现象

使用display bgp ipv6 peer命令查看IPv6 BGP对等体的信息,发现与对端的连接无法进入Established状态。

2. 分析

IPv6 BGP邻居的建立需要能够使用179端口建立TCP会话,以及能够正确交换Open消息。

3. 处理过程

(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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们