选择区域语言: EN CN HK

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

12-路由策略配置

本章节下载  (271.73 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/CE3000/CE3000-EI/Configure/Operation_Manual/H3C_CE3000-32F-EI_CG-Release_18xx-6W100/05/201403/822383_30005_0.htm

12-路由策略配置


1 路由策略

说明

本章所介绍的路由策略包括IPv4路由策略和IPv6路由策略,二者的配置基本一致,不同的部分在各节中另行说明。

 

1.1  路由策略简介

路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。

1.1.1  路由策略的应用

路由策略的应用灵活广泛,主要有下面几种方式:

·     控制路由的发布

路由协议在发布路由信息时,通过路由策略对路由信息进行过滤,只发布满足条件的路由信息。

·     控制路由的接收

路由协议在接收路由信息时,通过路由策略对路由信息进行过滤,只接收满足条件的路由信息,可以控制路由表项的数量,提高网络的安全性。

·     管理引入的路由

路由协议在引入其它路由协议发现的路由时,通过路由策略只引入满足条件的路由信息,并控制所引入的路由信息的某些属性,以使其满足本协议的要求。

·     设置路由的属性

对通过路由策略的路由设置相应的属性。

1.1.2  路由策略的实现

路由策略的实现步骤如下:

(1)     首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以用路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。

(2)     然后再将匹配规则应用于路由的发布、接收和引入等过程的路由策略中。

可以灵活使用过滤器来定义各种匹配规则,过滤器的相关内容见下一节介绍。

1.1.3  过滤器

过滤器可以看作是路由策略过滤路由的工具,单独配置的过滤器没有任何过滤效果,只有在路由协议的相关命令中应用这些过滤器,才能够达到预期的过滤效果。

路由协议可以引用访问控制列表、地址前缀列表、AS路径访问列表、团体属性列表、扩展团体属性列表、路由策略几种过滤器。下面对各种过滤器逐一进行介绍。

1. 访问控制列表

访问控制列表包括针对IPv4报文的ACL和针对IPv6报文的ACL。用户在定义ACL时可以指定IP(v6)地址和子网范围,用于匹配路由信息的目的网段地址或下一跳地址。

ACL的相关内容请参见“ACL和QoS配置指导”中的“ACL”。

2. 地址前缀列表

地址前缀列表包括IPv4地址前缀列表和IPv6地址前缀列表。

地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于用户理解。使用地址前缀列表过滤路由信息时,其匹配对象为路由信息的目的地址信息域;另外,用户可以指定gateway选项,指明只接收某些路由器发布的路由信息。关于gateway选项的设置请参见“三层技术-IP路由命令参考”中的“RIP”和“OSPF”。

一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个索引号来标识,索引号指明了在地址前缀列表中进行匹配检查的顺序。

每个表项之间是“或”的关系,在匹配的过程中,路由器按升序依次检查由索引号标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤(不再进入下一个表项的测试)。

3. AS路径访问列表(as-path)

as-path仅用于BGP。BGP的路由信息中,包含有自治系统路径域。as-path就是针对自治系统路径域指定匹配条件。

as-path的相关内容请参见“三层技术-IP路由配置指导”中的“BGP”。

4. 团体属性列表(community-list)

community-list仅用于BGP。BGP的路由信息包中,包含一个community属性域,用来标识一个团体。community-list就是针对团体属性域指定匹配条件。

团体属性列表的相关内容请参见“三层技术-IP路由配置指导”中的“BGP”。

5. 扩展团体属性列表(extcommunity-list)

extcommunity-list仅用于BGP。BGP扩展团体属性有两种,一种是用于VPN的Route-Target(路由目标)扩展团体,另一种则是Source of Origin(源节点)扩展团体。扩展团体属性列表就是针对这两种属性指定匹配条件。

扩展团体属性列表的相关内容请参见“MPLS配置指导”中的“MPLS L3VPN”。

6. 路由策略

路由策略是一种比较复杂的过滤器,它不仅可以匹配路由信息的某些属性,还可以在条件满足时改变路由信息的属性。路由策略可以使用前面几种过滤器定义自己的匹配规则。

一个路由策略可以由多个节点(node)构成,每个节点是匹配检查的一个单元,在匹配过程中,系统按节点序号升序依次检查各个节点。不同节点间是“或”的关系,如果通过了其中一个节点,就意味着通过该路由策略,不再对其他节点进行匹配。

每个节点可以由一组if-matchapplycontinue子句组成。

·     if-match子句定义匹配规则,匹配对象是路由信息的一些属性。同一节点中的不同if-match子句是“与”的关系,只有满足节点内所有if-match子句指定的匹配条件,才能通过该节点的匹配测试。

·     apply子句指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。

·     continue子句用来配置下一个执行节点。当路由成功匹配当前路由策略节点时,可以指定路由继续匹配同一路由策略内的下一个节点,这样可以组合路由策略各个节点的if-match子句和apply子句,增强路由策略的灵活性。

if-matchapplycontinue子句可以根据应用进行设置,都是可选的。

·     如果只过滤路由,不设置路由的属性,则不需要使用apply子句。

·     如果某个permit节点没有配置任何if-match子句,则该节点匹配所有的路由。

·     通常在多个deny节点后设置一个不含if-match子句和apply子句的permit节点,用于允许其它的路由通过。

1.2  配置过滤列表

1.2.1  配置准备

在配置过滤列表之前,需要准备以下数据:

·     前缀列表名称

·     匹配的地址范围

·     扩展团体属性列表序号

1.2.2  配置地址前缀列表

1. 配置IPv4地址前缀列表

IPv4地址前缀列表由列表名标识,每个前缀列表可以包含多个表项。各表项以网络前缀的形式,独立指定一个匹配范围,并使用索引号标识。

在匹配过程中,系统按索引号升序依次检查各个表项,只要路由信息满足一个表项,就认为通过该过滤列表,不再去匹配其他表项。

表1-1 配置IPv4地址前缀列表

操作

命令

说明

进入系统视图

system-view

-

配置IPv4地址前缀列表

ip ip-prefix ip-prefix-name [ index index-number ] { deny | permit } ip-address mask-length [ greater-equal min-mask-length ] [ less-equal max-mask-length ]

必选

缺省情况下,没有配置IPv4地址前缀列表

 

说明

如果所有表项都是deny模式,则任何路由都不能通过该过滤列表。这种情况下,建议在多条deny模式的表项后定义一条permit 0.0.0.0 0 less-equal 32表项,允许其它所有IPv4路由信息通过。

 

例如,按如下配置可以保证仅过滤掉10.1.0.0/16、10.2.0.0/16、10.3.0.0/16三个网段的路由,而其它网段的路由信息可以通过。

<Sysname> system-view

[Sysname] ip ip-prefix abc index 10 deny 10.1.0.0 16

[Sysname] ip ip-prefix abc index 20 deny 10.2.0.0 16

[Sysname] ip ip-prefix abc index 30 deny 10.3.0.0 16

[Sysname] ip ip-prefix abc index 40 permit 0.0.0.0 0 less-equal 32

2. 配置IPv6地址前缀列表

IPv6地址前缀列表由列表名标识,每个前缀列表可以包含多个表项。各表项可以独立指定一个网络前缀形式的匹配范围,并使用索引号标识。

在匹配的过程中,系统按索引号升序依次检查各个表项,只要路由信息满足一个表项,就认为通过该过滤列表,不再去匹配其他表项。

表1-2 配置IPv6地址前缀列表

操作

命令

说明

进入系统视图

system-view

-

配置IPv6地址前缀列表

ip ipv6-prefix ipv6-prefix-name [ index index-number ] { deny | permit } ipv6-address prefix-length [ greater-equal min-prefix-length ] [ less-equal max-prefix-length ]

必选

缺省情况下,没有配置IPv6地址前缀列表

 

说明

如果所有表项都是deny模式,则任何路由都不能通过该过滤列表。这种情况下,需要在多条deny模式的表项后定义一条permit :: 0 less-equal 128的表项,以允许其它所有IPv6路由信息通过。

 

例如,按如下配置可以保证仅过滤掉2000:1::/48、2000:2::/48、2000:3::/48三个网段的路由,而其它网段的路由信息可以通过。

<Sysname> system-view

[Sysname] ip ipv6-prefix abc index 10 deny 2000:1:: 48

[Sysname] ip ipv6-prefix abc index 20 deny 2000:2:: 48

[Sysname] ip ipv6-prefix abc index 30 deny 2000:3:: 48

[Sysname] ip ipv6-prefix abc index 40 permit :: 0 less-equal 128

1.2.3  配置AS路径过滤列表

一个AS过滤列表可以包含多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该AS路径过滤列表。

表1-3 配置AS路径过滤列表

操作

命令

说明

进入系统视图

system-view

-

配置AS路径过滤列表

ip as-path as-path-number { deny | permit } regular-expression

必选

缺省情况下,没有配置AS路径过滤列表

 

1.2.4  配置团体属性列表

一个团体属性列表可以定义多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该团体属性列表。

表1-4 配置团体属性列表

操作

命令

说明

进入系统视图

system-view

-

配置团体属性列表

配置基本团体属性列表

ip community-list { basic-comm-list-num | basic comm-list-name } { deny | permit } [ community-number-list ] [ internet | no-advertise | no-export | no-export-subconfed ] *

二者必选其一

缺省情况下,没有配置团体属性列表

配置高级团体属性列表

ip community-list { adv-comm-list-num | advanced comm-list-name } { deny | permit } regular-expression

 

1.2.5  配置扩展团体属性列表

一个扩展团体属性列表可以定义多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该扩展团体属性列表。

表1-5 配置扩展团体属性列表

操作

命令

说明

进入系统视图

system-view

-

配置扩展团体属性列表

ip extcommunity-list ext-comm-list-number { deny | permit } { rt route-target | soo site-of-origin }&<1-16>

必选

缺省情况下,没有配置扩展团体属性列表

 

1.3  配置路由策略

路由策略用来根据路由信息的某些属性过滤路由信息,并改变与路由策略规则匹配的路由信息的属性。匹配条件可以使用前面几种过滤列表。

一个路由策略可由多个节点构成,每个节点又分为:

·     if-match子句:定义匹配规则,即路由信息通过当前路由策略所需满足的条件,匹配对象是路由信息的某些属性。

·     apply子句:指定动作,也就是在满足由if-match子句指定的过滤条件后所执行的一些配置命令,对路由的某些属性进行修改。

·     continue子句:用来配置下一个执行节点,当路由成功匹配当前路由策略节点时,可以指定路由继续匹配同一路由策略内的下一个节点。

1.3.1  配置准备

在配置路由策略之前,需完成以下任务:

·     配置过滤列表

·     配置路由协议

在配置之前,需要准备以下数据:

·     路由策略的名称、节点序号

·     匹配条件

·     要修改的路由属性值

1.3.2  创建一个路由策略

表1-6 创建一个路由策略

操作

命令

说明

进入系统视图

system-view

-

创建路由策略并进入该路由策略视图

route-policy route-policy-name { deny | permit } node node-number

必选

缺省情况下,没有创建路由策略

 

说明

·     permit指定节点的匹配模式为允许模式。当路由信息通过该节点的过滤后,将执行该节点的apply子句,不进入下一个节点的测试;如果路由信息没有通过该节点过滤,将进入下一个节点继续测试。

·     deny指定节点的匹配模式为拒绝模式(此模式下apply子句不会被执行)。当路由项满足该节点的所有if-match子句时,将被拒绝通过该节点,不进入下一个节点的测试;如果路由项不满足该节点的if-match子句,将进入下一个节点继续测试。

·     如果路由策略中定义了一个以上的节点,则各节点中至少应该有一个节点的匹配模式是permit。当路由策略用于路由信息过滤时,如果某路由信息没有通过任一节点,则认为该路由信息没有通过该路由策略。如果路由策略的所有节点都是deny模式,则没有路由信息能通过该路由策略。

 

1.3.3  配置if-match子句

表1-7 配置if-match子句

操作

命令

说明

进入系统视图

system-view

-

进入路由策略视图

route-policy route-policy-name { deny | permit } node node-number

必选

配置IPv4的路由信息的匹配条件

配置IPv4路由信息的目的地址范围的匹配条件

if-match acl acl-number

可选

缺省情况下,没有配置IPv4路由信息的目的地址范围的匹配条件

if-match ip-prefix ip-prefix-name

配置IPv4的路由信息的下一跳地址或源地址的匹配条件

if-match ip { next-hop | route-source } { acl acl-number | ip-prefix ip-prefix-name }

可选

缺省情况下,没有配置IPv4的路由信息的下一跳地址或源地址的匹配条件

配置IPv6的路由信息的匹配条件

if-match ipv6 { address | next-hop | route-source } { acl acl-number | prefix-list ipv6-prefix-name }

可选

缺省情况下,没有配置IPv6的路由信息的匹配条件

配置BGP路由信息的AS路径域的匹配条件

if-match as-path as-path-number&<1-16>

可选

缺省情况下,没有配置BGP路由信息的AS路径域的匹配条件

匹配BGP路由信息的团体属性

if-match community { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number }&<1-16>

可选

缺省情况下,不匹配BGP路由信息的团体属性。

配置路由信息的路由开销的匹配条件

if-match cost value

可选

缺省情况下,没有配置路由信息的路由开销的匹配条件

配置BGP扩展团体属性的匹配条件

if-match extcommunity ext-comm-list-number&<1-16>

可选

缺省情况下,没有配置BGP扩展团体属性的匹配条件

配置路由信息的出接口的匹配条件

if-match interface { interface-type interface-number }&<1-16>

可选

缺省情况下,没有配置路由信息的出接口的匹配条件

配置路由信息的MPLS标签的匹配条件

if-match mpls-label

可选

缺省情况下,没有配置路由信息的MPLS标签的匹配条件

配置路由信息的类型的匹配条件

if-match route-type { external-type1 | external-type1or2 | external-type2 | internal | is-is-level-1 | is-is-level-2 | nssa-external-type1 | nssa-external-type1or2 | nssa-external-type2 } *

可选

缺省情况下,没有配置路由信息的类型的匹配条件

配置RIP、OSPF、IS-IS路由信息的标记域的匹配条件

if-match tag value

可选

缺省情况下,没有配置RIP、OSPF、IS-IS路由信息的标记域的匹配条件

 

说明

·     对于同一个节点,在匹配的过程中,不同if-match子句间是“与”的关系,即路由信息必须同时满足所有匹配条件,才可以执行apply子句。如果有if-match子句因超过命令行最大长度而出现多条相同的if-match子句时,这几条子句之间是“或”的关系,即满足一个匹配条件,就认为匹配该if-match语句,例如出现多条if-match community子句时,各个子句的团体属性之间是“或”的关系,即满足其中一个团体属性,就认为匹配if-match community子句。

·     在一个节点中,可以没有if-match子句,也可以有多个if-match子句。当不指定if-match子句时,如果该节点的匹配模式为允许模式,则所有路由信息都会通过该节点的过滤;如果该节点的匹配模式为拒绝模式,则所有路由信息都会被拒绝。

·     如果if-match子句对应的ACL不存在,则默认满足该匹配条件;如果if-match子句对应的ACL中没有匹配的ACL规则或者ACL规则处于非激活状态,则默认不满足该匹配条件。

·     路由策略应使用非VPN的ACL进行路由过滤。

·     IPv4路由策略和IPv6路由策略在配置if-match子句时,不同之处在于匹配路由信息的目的地址、下一跳和源地址的命令不同。

·     将路由策略应用到BGP时,BGP协议不支持配置路由信息的出接口的匹配条件。

 

1.3.4  配置apply子句

表1-8 配置apply子句

操作

命令

说明

进入系统视图

system-view

-

创建路由策略并进入该路由策略视图

route-policy route-policy-name { deny | permit } node node-number

必选

缺省情况下,不创建路由策略

配置BGP路由信息的AS_PATH属性

apply as-path as-number&<1-10> [ replace ]

可选

缺省情况下,没有配置BGP路由信息的AS_PATH属性

删除指定的BGP团体属性

apply comm-list { comm-list-number | comm-list-name } delete

可选

缺省情况下,不删除路由团体属性

配置BGP路由信息的团体属性

apply community { none | additive | { community-number&<1-16> | aa:nn&<1-16> | internet | no-advertise | no-export | no-export-subconfed } * [ additive ] }

可选

缺省情况下,没有配置BGP路由信息的团体属性

配置路由信息的路由开销

apply cost [ + | - ] value

可选

缺省情况下,没有配置路由信息的路由开销

配置路由信息的开销类型

apply cost-type { external | internal | type-1 | type-2 }

可选

缺省情况下,没有配置路由开销类型

配置BGP扩展团体属性

apply extcommunity { { rt route-target }&<1-16> [ additive ] | soo site-of-origin additive }

可选

缺省情况下,没有配置BGP扩展团体属性

配置路由信息的下一跳地址

配置IPv4路由信息的下一跳地址

apply ip-address next-hop ip-address

可选

缺省情况下,没有配置IPv4路由信息的下一跳地址

配置IPv6路由信息的下一跳地址

apply ipv6 next-hop ipv6-address

可选

缺省情况下,没有配置IPv6路由信息的下一跳地址

配置引入路由到IS-IS某个级别的区域

apply isis { level-1 | level-1-2 | level-2 }

可选

缺省情况下,没有配置引入路由到IS-IS某个级别的区域

配置BGP路由信息的本地优先级

apply local-preference preference

可选

缺省情况下,没有配置BGP路由信息的本地优先级

配置MPLS标签

apply mpls-label

可选

缺省情况下,没有配置MPLS标签

配置BGP路由信息的ORIGIN属性

apply origin { egp as-number | igp | incomplete }

可选

缺省情况下,没有配置BGP路由信息的ORIGIN属性

配置路由协议的优先级

apply preference preference

可选

缺省情况下,没有配置路由协议的优先级

配置BGP路由信息的首选值

apply preferred-value preferred-value

可选

缺省情况下,没有配置BGP路由信息的首选值

配置RIP、OSPF、IS-IS路由信息的标记域

apply tag value

可选

缺省情况下,没有配置RIP、OSPF、IS-IS路由信息的标记域

配置快速重路由

apply fast-reroute { backup-interface interface-type interface-number [ backup-nexthop ip-address ] }

可选

缺省情况下,没有配置快速重路由

 

说明

·     IPv4路由策略和IPv6路由策略在配置apply子句时,不同之处在于设置路由信息的下一跳地址的命令不同。

·     对于引入的IPv4路由,使用apply ip-address next-hop命令设置下一跳地址无效;对于引入的IPv6路由,使用apply ipv6 next-hop命令设置下一跳地址无效。

 

1.3.5  配置continue子句

表1-9 配置continue子句

操作

命令

说明

进入系统视图

system-view

-

创建路由策略并进入该路由策略视图

route-policy route-policy-name { deny | permit } node node-number

必选

缺省情况下,不创建路由策略

配置下一个执行节点

continue [ node-number ]

可选

缺省情况下,没有配置下一个执行节点

需要注意的是,下一个执行节点序列号必须大于当前节点序列号

 

说明

·     当配置continue子句的多个节点配置相同的apply子句只是子句的值不相同时,以最后一个apply子句为准,包括有叠加属性的apply子句,当多个节点都配置了这样的子句,属性不会全部叠加到路由上,而是以最后一个子句为准。

·     当配置continue子句的多个节点配置apply community子句时,使用命令行apply comm-list delete不能删除前面节点中配置的团体属性。

 

1.4  路由策略的显示和维护

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

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

表1-10 路由策略的显示和维护

操作

命令

显示BGP AS路径过滤列表信息

display ip as-path [ as-path-number ] [ | { begin | exclude | include } regular-expression ]

显示BGP团体属性列表信息

display ip community-list [ basic-community-list-number | adv-community-list-number | comm-list-name ] [ | { begin | exclude | include } regular-expression ]

显示BGP扩展团体属性列表信息

display ip extcommunity-list [ ext-comm-list-number ] [ | { begin | exclude | include } regular-expression ]

显示IPv4地址前缀列表的统计信息

display ip ip-prefix [ ip-prefix-name ] [ | { begin | exclude | include } regular-expression ]

显示IPv6地址前缀列表的统计信息

display ip ipv6-prefix [ ipv6-prefix-name ] [ | { begin | exclude | include } regular-expression ]

显示路由策略信息

display route-policy [ route-policy-name ] [ | { begin | exclude | include } regular-expression ]

清除IPv4地址前缀列表的统计信息

reset ip ip-prefix [ ip-prefix-name ]

清除IPv6地址前缀列表的统计信息

reset ip ipv6-prefix [ ipv6-prefix-name ]

 

1.5  路由策略典型配置举例

1.5.1  在IPv4路由引入中应用路由策略

1. 组网需求

如下图所示,Switch B与Switch A之间通过OSPF协议交换路由信息,与Switch C之间通过IS-IS协议交换路由信息。

要求在Switch B上配置路由引入,将IS-IS路由引入到OSPF中去,并同时使用路由策略设置路由的属性。其中,设置172.17.1.0/24的路由的开销为100,设置172.17.2.0/24的路由的Tag属性为20。

2. 组网图

图1-1 在IPv4路由引入中应用路由策略组网图

 

3. 配置步骤

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

(2)     配置IS-IS路由协议

# 配置Switch C。

<SwitchC> system-view

[SwitchC] isis

[SwitchC-isis-1] is-level level-2

[SwitchC-isis-1] network-entity 10.0000.0000.0001.00

[SwitchC-isis-1] quit

[SwitchC] interface vlan-interface 200

[SwitchC-Vlan-interface200] isis enable

[SwitchC-Vlan-interface200] quit

[SwitchC] interface vlan-interface 201

[SwitchC-Vlan-interface201] isis enable

[SwitchC-Vlan-interface201] quit

[SwitchC] interface vlan-interface 202

[SwitchC-Vlan-interface202] isis enable

[SwitchC-Vlan-interface202] quit

[SwitchC] interface vlan-interface 203

[SwitchC-Vlan-interface203] isis enable

[SwitchC-Vlan-interface203] quit

# 配置Switch B。

<SwitchB> system-view

[SwitchB] isis

[SwitchB-isis-1] is-level level-2

[SwitchB-isis-1] network-entity 10.0000.0000.0002.00

[SwitchB-isis-1] quit

[SwitchB] interface vlan-interface 200

[SwitchB-Vlan-interface200] isis enable

[SwitchB-Vlan-interface200] quit

(3)     配置OSPF路由协议及路由引入

# 配置Switch A,启动OSPF。

<SwitchA> system-view

[SwitchA] ospf

[SwitchA-ospf-1] area 0

[SwitchA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

[SwitchA-ospf-1-area-0.0.0.0] quit

[SwitchA-ospf-1] quit

# 配置Switch B,启动OSPF,并引入IS-IS路由。

[SwitchB] ospf

[SwitchB-ospf-1] area 0

[SwitchB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

[SwitchB-ospf-1-area-0.0.0.0] quit

[SwitchB-ospf-1] import-route isis 1

[SwitchB-ospf-1] quit

# 查看SwitchA的OSPF路由表,可以看到引入的路由。

[SwitchA] display ospf routing

 

          OSPF Process 1 with Router ID 192.168.1.1

                   Routing Tables

 

 Routing for Network

 Destination        Cost     Type    NextHop        AdvRouter     Area

 192.168.1.0/24     1562     Stub    192.168.1.1    192.168.1.1   0.0.0.0

 

 Routing for ASEs

 Destination        Cost     Type    Tag        NextHop        AdvRouter

 172.17.1.0/24      1        Type2   1          192.168.1.2    192.168.2.2

 172.17.2.0/24      1        Type2   1          192.168.1.2    192.168.2.2

 172.17.3.0/24      1        Type2   1          192.168.1.2    192.168.2.2

 192.168.2.0/24     1        Type2   1          192.168.1.2    192.168.2.2

 

 Total Nets: 5

 Intra Area: 1  Inter Area: 0  ASE: 4  NSSA: 0

(4)     配置过滤列表

# 配置编号为2002的ACL,允许172.17.2.0/24的路由通过。

[SwitchB] acl number 2002

[SwitchB-acl-basic-2002] rule permit source 172.17.2.0 0.0.0.255

[SwitchB-acl-basic-2002] quit

# 配置名为prefix-a的地址前缀列表,允许172.17.1.0/24的路由通过。

[SwitchB] ip ip-prefix prefix-a index 10 permit 172.17.1.0 24

(5)     配置路由策略

[SwitchB] route-policy isis2ospf permit node 10

[SwitchB-route-policy] if-match ip-prefix prefix-a

[SwitchB-route-policy] apply cost 100

[SwitchB-route-policy] quit

[SwitchB] route-policy isis2ospf permit node 20

[SwitchB-route-policy] if-match acl 2002

[SwitchB-route-policy] apply tag 20

[SwitchB-route-policy] quit

[SwitchB] route-policy isis2ospf permit node 30

[SwitchB-route-policy] quit

(6)     在路由引入时应用路由策略

# 配置Switch B,设置在路由引入时应用路由策略。

[SwitchB] ospf

[SwitchB-ospf-1] import-route isis 1 route-policy isis2ospf

[SwitchB-ospf-1] quit

# 查看Switch A的OSPF路由表,可以看到目的地址为172.17.1.0/24的路由的开销为100,目的地址为172.17.2.0/24的路由的标记域(Tag)为20,而其他外部路由没有变化。

[SwitchA] display ospf routing

 

          OSPF Process 1 with Router ID 192.168.1.1

                   Routing Tables

 

 Routing for Network

 Destination        Cost     Type    NextHop         AdvRouter     Area

 192.168.1.0/24     1        Transit 192.168.1.1     192.168.1.1   0.0.0.0

 

 Routing for ASEs

 Destination        Cost     Type    Tag         NextHop       AdvRouter

 172.17.1.0/24      100      Type2   1           192.168.1.2   192.168.2.2

 172.17.2.0/24      1        Type2   20          192.168.1.2   192.168.2.2

 172.17.3.0/24      1        Type2   1           192.168.1.2   192.168.2.2

 192.168.2.0/24     1        Type2   1           192.168.1.2   192.168.2.2

 

 Total Nets: 5

 Intra Area: 1  Inter Area: 0  ASE: 4  NSSA: 0

1.5.2  在IPv6路由引入中应用路由策略

1. 组网需求

·     在Switch A和Switch B上使能RIPng。

·     在Switch A上配置三条静态路由,并设置在引入静态路由时应用路由策略,使三条静态路由部分引入、部分被屏蔽掉——20::/32和40::/32网段的路由是可见的,30::/32网段的路由则被屏蔽。

·     通过在Switch B上查看RIPng路由表,验证路由策略是否生效。

2. 组网图

图1-2 在IPv6路由引入中应用路由策略组网图

 

3. 配置步骤

(1)     配置Switch A

# 配置接口Vlan-interface100和Vlan-interface200的IPv6地址。

<SwitchA> system-view

[SwitchA] ipv6

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ipv6 address 10::1 32

[SwitchA-Vlan-interface100] quit

[SwitchA] interface vlan-interface 200

[SwitchA-Vlan-interface200] ipv6 address 11::1 32

[SwitchA-Vlan-interface200] quit

# 在接口下使能RIPng。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ripng 1 enable

[SwitchA-Vlan-interface100] quit

# 配置三条静态路由,其下一跳为11::2,保证静态路由为active状态。

[SwitchA] ipv6 route-static 20:: 32 11::2

[SwitchA] ipv6 route-static 30:: 32 11::2

[SwitchA] ipv6 route-static 40:: 32 11::2

# 配置路由策略。

[SwitchA] ip ipv6-prefix a index 10 permit 30:: 32

[SwitchA] route-policy static2ripng deny node 0

[SwitchA-route-policy] if-match ipv6 address prefix-list a

[SwitchA-route-policy] quit

[SwitchA] route-policy static2ripng permit node 10

[SwitchA-route-policy] quit

# 启动RIPng协议并引入静态路由。

[SwitchA] ripng

[SwitchA-ripng-1] import-route static route-policy static2ripng

(2)     配置Switch B

# 配置接口Vlan-interface100的IPv6地址。

[SwitchB] ipv6

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ipv6 address 10::2 32

# 在接口下使能RIPng。

[SwitchB-Vlan-interface100] ripng 1 enable

[SwitchB-Vlan-interface100] quit

# 启动RIPng协议。

[SwitchB] ripng

# 查看RIPng路由表。

[SwitchB-ripng-1] display ripng 1 route

   Route Flags: A - Aging, S - Suppressed, G - Garbage-collect

 ----------------------------------------------------------------

 

 Peer FE80::7D58:0:CA03:1  on Vlan-interface 100

 Dest 10::/32,

     via FE80::7D58:0:CA03:1, cost  1, tag 0, A, 18 Sec

 Dest 20::/32,

     via FE80::7D58:0:CA03:1, cost  1, tag 0, A, 8 Sec

 Dest 40::/32,

     via FE80::7D58:0:CA03:1, cost  1, tag 0, A, 3 Sec 

1.5.3  配置应用路由策略过滤接收的BGP路由

1. 组网需求

·     所有交换机均运行BGP协议,Switch A、Switch B和Switch C之间建立EBGP连接,Switch C和Switch D之间建立EBGP连接。

·     通过配置路由策略,使得Switch D拒绝接收来自AS 200的路由。

2. 组网图

图1-3 配置应用路由策略过滤接收的BGP路由

 

3. 配置步骤

(1)     配置接口IP地址(略)

(2)     配置BGP基本功能

# 配置Switch A。

<SwitchA> system-view

[SwitchA] bgp 100

[SwitchA-bgp] router-id 1.1.1.1

[SwitchA-bgp] peer 1.1.1.2 as-number 300

# 配置Switch B。

<SwitchB> system-view

[SwitchB] bgp 200

[SwitchB-bgp] router-id 2.2.2.2

[SwitchB-bgp] peer 1.1.2.2 as-number 300

# 配置Switch C。

<SwitchC> system-view

[SwitchC] bgp 300

[SwitchC-bgp] router-id 3.3.3.3

[SwitchC-bgp] peer 1.1.1.1 as-number 100

[SwitchC-bgp] peer 1.1.2.1 as-number 200

[SwitchC-bgp] peer 1.1.3.2 as-number 400

# 配置Switch D。

<SwitchD> system-view

[SwitchD] bgp 400

[SwitchD-bgp] router-id 4.4.4.4

[SwitchD-bgp] peer 1.1.3.1 as-number 300

[SwitchD-bgp] quit

# 配置Switch A,将网段路由4.4.4.4/24、5.5.5.5/24、6.6.6.6/24发布到BGP路由表中。

[SwitchA-bgp] network 4.4.4.4 24

[SwitchA-bgp] network 5.5.5.5 24

[SwitchA-bgp] network 6.6.6.6 24

# 配置Switch B,将网段路由7.7.7.7/24、8.8.8.8/24、9.9.9.9/24发布到BGP路由表中。

[SwitchB-bgp] network 7.7.7.7 24

[SwitchB-bgp] network 8.8.8.8 24

[SwitchB-bgp] network 9.9.9.9 24

# 查看Switch D的BGP路由表。

[SwitchD-bgp] display bgp routing-table

 

 Total Number of Routes: 6

 

 BGP Local router ID is 4.4.4.4

 Status codes: * - valid, > - best, d - damped,

               h - history,  i - internal, s - suppressed, S - Stale

               Origin : i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

 *>  4.4.4.0/24         1.1.3.1                               0       300 100i

 *>  5.5.5.0/24         1.1.3.1                               0       300 100i

 *>  6.6.6.0/24         1.1.3.1                               0       300 100i

 *>  7.7.7.0/24         1.1.3.1                               0       300 200i

 *>  8.8.8.0/24         1.1.3.1                               0       300 200i

 *>  9.9.9.0/24         1.1.3.1                               0       300 200i

从路由表可以看出,Switch D同时学到了来自AS 100的路由4.4.4.0/24、5.5.5.0/24、6.6.6.0/24和来自AS 200的路由7.7.7.0/24、8.8.8.0/24、9.9.9.0/24。

(3)     配置Switch D拒绝接收来自AS 200的路由。

# 在Switch D上配置编号为1的AS路径过滤列表。

[SwitchD] ip as-path 1 permit .*200.*

# 在Switch D上配置名称为“rt1”的路由策略,其节点序列号为1,匹配模式为deny,即拒绝接收来自AS 200的路由。

[SwitchD] route-policy rt1 deny node 1

[SwitchD-route-policy] if-match as-path 1

[SwitchD-route-policy] quit

# 在Switch D上配置名称为“rt1”的路由策略,其节点序列号为10,匹配模式为permit,即可以接收来自其它AS的路由。

[SwitchD] route-policy rt1 permit node 10

[SwitchD-route-policy] quit

# 在Switch D上,配置对从对等体1.1.3.1接收的路由指定名称为“rt1”的路由策略。

[SwitchD] bgp 400

[SwitchD-bgp] peer 1.1.3.1 route-policy rt1 import

# 查看Switch D的BGP路由表。

[SwitchD-bgp] display bgp routing-table

 

 Total Number of Routes: 3

 

 BGP Local router ID is 4.4.4.4

 Status codes: * - valid, > - best, d - damped,

               h - history,  i - internal, s - suppressed, S - Stale

               Origin : i - IGP, e - EGP, ? - incomplete

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

 *>  4.4.4.0/24         1.1.3.1                               0       300 100i

 *>  5.5.5.0/24         1.1.3.1                               0       300 100i

 *>  6.6.6.0/24         1.1.3.1                               0       300 100i

从路由表可以看出,Switch D只学到了来自AS 100的路由4.4.4.0/24、5.5.5.0/24、6.6.6.0/24。

1.6  常见错误配置举例

1.6.1  无法实现IPv4路由信息过滤

1. 错误现象

路由协议运行正常的情况下无法实现路由信息过滤。

2. 分析

地址前缀列表的各个表项中至少应该有一个表项的匹配模式是permit模式。Route-policy的各个节点中至少应该有一个节点的匹配模式是permit模式。

3. 处理过程

(1)     使用display ip ip-prefix命令查看前缀列表的配置。

(2)     使用display route-policy命令查看路由策略的配置。

1.6.2  无法实现IPv6路由信息过滤

1. 错误现象

路由协议运行正常的情况下无法实现路由信息过滤。

2. 分析

地址前缀列表的各个表项中至少应该有一个表项的匹配模式是permit模式。Route-policy的各个节点中至少应该有一个节点的匹配模式是permit模式。

3. 处理过程

(1)     使用display ip ipv6-prefix命令查看前缀列表的配置。

(2)     使用display route-policy命令查看路由策略的配置。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!