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

H3C S5500-SI系列以太网交换机 操作手册-RELEASE 1205(V1.04)

13-IPV6路由操作

本章节下载  (365.41 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S5500/S5500-SI/Configure/Operation_Manual/S5500-SI_OM(V1.04)/200711/317511_30005_0.htm

13-IPV6路由操作

目  录

第1章 IPv6静态路由配置... 1-1

1.1 IPv6静态路由简介.. 1-1

1.1.1 IPv6静态路由属性及功能.. 1-1

1.1.2 IPv6缺省路由.. 1-1

1.2 配置IPv6静态路由.. 1-1

1.2.1 配置准备.. 1-1

1.2.2 配置IPv6静态路由.. 1-2

1.3 IPv6静态路由显示和维护.. 1-2

1.4 IPv6静态路由典型配置举例.. 1-2

第2章 RIPng配置... 2-1

2.1 简.. 2-1

2.1.1 RIPng工作机制.. 2-1

2.1.2 RIPng的报文格式.. 2-2

2.1.3 RIPng报文处理过程.. 2-3

2.1.4 协议规范.. 2-4

2.2 配置RIPng的基本功能.. 2-4

2.2.1 配置准备.. 2-4

2.2.2 配置RIPng的基本功能.. 2-4

2.3 配置RIPng路由特性.. 2-5

2.3.1 配置接口附加度量值.. 2-5

2.3.2 配置RIPng路由聚合.. 2-6

2.3.3 配置RIPng发布缺省路由.. 2-6

2.3.4 配置RIPng对接收/发布的路由进行过滤.. 2-6

2.3.5 配置RIPng协议优先级.. 2-7

2.3.6 配置RIPng引入外部路由.. 2-7

2.4 调整和优化RIPng网络.. 2-8

2.4.1 配置RIPng定时器.. 2-8

2.4.2 配置水平分割和毒性逆转.. 2-8

2.4.3 配置RIPng报文的零域检查.. 2-9

2.5 RIPng显示和维护.. 2-10

2.6 RIPng典型配置举例.. 2-10

第3章 路由策略配置... 3-1

3.1 路由策略简介.. 3-1

3.1.1 路由策略.. 3-1

3.1.2 过滤器.. 3-1

3.1.3 路由策略的应用.. 3-2

3.2 配置过滤列表.. 3-2

3.2.1 配置准备.. 3-2

3.2.2 配置IPv6地址前缀列表.. 3-3

3.3 配置路由策略.. 3-3

3.3.1 配置准备.. 3-4

3.3.2 创建一个路由策略.. 3-4

3.3.3 配置If-match子句.. 3-5

3.3.4 配置apply子句.. 3-5

3.4 路由策略的显示和维护.. 3-6

3.5 路由策略典型配置举例.. 3-7

3.5.1 在IPv6路由引入中应用路由策略.. 3-7

3.6 常见错误配置举例.. 3-8

3.6.1 无法实现IPv6路由信息过滤.. 3-8

 


第1章  IPv6静态路由配置

&  说明:

本章所指的路由器,代表了运行路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。

 

1.1  IPv6静态路由简介

静态路由是一种特殊的路由,它由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。恰当地设置和使用静态路由可以改进网络的性能,并可为重要的应用保证带宽。

静态路由的缺点在于:当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,导致网络中断,此时必须由网络管理员手工修改静态路由的配置。

1.1.1  IPv6静态路由属性及功能

IPv6静态路由与IPv4静态路由类似,适合于一些结构比较简单的IPv6网络。

它们之间的主要区别是目的地址和下一跳地址有所不同,IPv6静态路由使用的是IPv6地址,而IPv4静态路由使用IPv4地址。

1.1.2  IPv6缺省路由

在配置IPv6静态路由时,如果指定的目的地址为::/0(前缀长度为0),则表示配置了一条IPv6缺省路由。如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择IPv6缺省路由来转发IPv6报文。

1.2  配置IPv6静态路由

在小型IPv6网络中,可以通过配置IPv6静态路由达到网络互连的目的。相对使用动态路由来说,可以节省带宽。

1.2.1  配置准备

在配置IPv6静态路由之前,需完成以下任务:

l              使能IPv6报文转发能力

l              相邻节点网络层(IPv6)可达

1.2.2  配置IPv6静态路由

表1-1 配置IPv6静态路由

操作

命令

说明

进入系统视图

system-view

-

配置IPv6静态路由

ipv6 route-static ipv6-address prefix-length [ interface-type interface-number ] nexthop-address [ preference preference-value ]

必选

缺省情况下,IPv6静态路由的优先级为60

 

1.3  IPv6静态路由显示和维护

在完成上述配置后,在任意视图下执行display命令查看IPv6静态路由配置的运行情况并检验配置结果。

在系统视图下执行delete命令可以删除所有静态路由。

表1-2 IPv6静态路由显示和维护

操作

命令

查看IPv6静态路由表信息

display ipv6 routing-table protocol static [ inactive | verbose ]

删除所有IPv6静态路由

delete ipv6 static-routes all

 

&  说明:

使用undo ipv6 route-static命令可以删除一条IPv6静态路由,而使用delete ipv6 static-routes all命令可以删除包括缺省路由在内的所有IPv6静态路由。

 

1.4  IPv6静态路由典型配置举例

1. 组网要求

要求各交换机之间配置IPv6静态路由协议后,可以使所有主机和交换机之间互通。

2. 组网图

图1-1 IPv6静态路由配置示例的组网图

3. 配置步骤

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

(2)        配置IPv6静态路由

# 在SwitchA上配置IPv6缺省路由。

<SwitchA> system-view

[SwitchA] ipv6

[SwitchA] ipv6 route-static :: 0 4::2

# 在SwitchB上配置两条IPv6静态路由。

<SwitchB> system-view

[SwitchB] ipv6

[SwitchB] ipv6 route-static 1:: 64 4::1

[SwitchB] ipv6 route-static 3:: 64 5::1

# 在SwitchC上配置IPv6缺省路由。

<SwitchC> system-view

[SwitchC] ipv6

[SwitchC] ipv6 route-static :: 0 5::2

(3)        配置主机地址和网关

根据组网图配置好各主机的IPv6地址,并将PC1的缺省网关配置为1::1,PC2的缺省网关配置为2::1,PC3的缺省网关配置为3::1。

(4)        查看配置结果

# 查看SwitchA的IPv6路由表。

[SwitchA] display ipv6 routing-table

Routing Table :

         Destinations : 7        Routes : 7

 

Destination: ::/0                                        Protocol  : Static

NextHop    : 4::2                                        Preference: 60

Interface  : Vlan200                                     Cost      : 0

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 1::/64                                      Protocol  : Direct

NextHop    : 1::1                                        Preference: 0

Interface  : Vlan100                                     Cost      : 0

 

Destination: 1::1/128                                    Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 4::/64                                      Protocol  : Direct

NextHop    : 4::1                                        Preference: 0

Interface  : Vlan200                                     Cost      : 0

 

Destination: 4::1/128                                    Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

# 使用Ping进行验证。

[SwitchA] ping ipv6 3::1

  PING 3::1 : 56  data bytes, press CTRL_C to break

    Reply from 3::1

    bytes=56 Sequence=1 hop limit=63  time = 5 ms

    Reply from 3::1

    bytes=56 Sequence=2 hop limit=63  time = 13 ms

    Reply from 3::1

    bytes=56 Sequence=3 hop limit=63  time = 3 ms

    Reply from 3::1

    bytes=56 Sequence=4 hop limit=63  time = 3 ms

    Reply from 3::1

    bytes=56 Sequence=5 hop limit=63  time = 3 ms

  --- 3::1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 3/5/13 ms

 


第2章  RIPng配置

&  说明:

本章所指的路由器,代表了一般意义下的路由器及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。

 

2.1  简介

RIPng又称为下一代RIP协议(RIP next generation),它是对原来的IPv4网络中RIP-2协议的扩展。大部分RIP的概念都可以用于RIPng。

为了在IPv6网络中应用,RIPng对原有的RIP协议进行了修改:

l              UDP端口号:使用UDP的521端口发送和接收路由信息。

l              组播地址:使用FF02::9作为链路本地范围内的RIPng路由器组播地址。

l              前缀长度:目的地址使用128比特的前缀长度。

l              下一跳地址:使用128比特的IPv6地址。

l              源地址:使用链路本地地址FE80::/10作为源地址发送RIPng路由信息更新报文。

2.1.1  RIPng工作机制

RIPng协议是基于距离矢量(Distance-Vector)算法的协议。它通过UDP报文交换路由信息,使用的端口号为521。

RIPng使用跳数来衡量到达目的地址的距离(也称为度量值或开销)。在RIPng中,从一个路由器到其直连网络的跳数为0,通过与其相连的路由器到达另一个网络的跳数为1,其余如此类推。当跳数大于或等于16时,目的网络或主机就被定义为不可达。

RIPng每30秒发送一个路由更新报文。如果在180秒内没有收到网络邻居的路由更新报文,RIPng将从邻居学到的所有路由标识为不可达。如果再过240秒内仍没有收到邻居的路由更新报文,RIPng将从路由表中删除这些路由。

为了提高性能并避免形成路由环路,RIPng既支持水平分割也支持毒性逆转。此外,RIPng也可以从其它的路由协议中引入路由。

每个运行RIPng的路由器都管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:

l              目的地址:主机或网络的IPv6地址。

l              下一跳地址:为到达目的地,需要经过的相邻路由器的接口IPv6地址。

l              出接口:转发IPv6报文的出接口。

l              度量值:本路由器到达目的地的开销。

l              路由时间:从路由项最后一次被修改到现在所经过的时间,路由项每次被修改时,路由时间重置为0。

l              路由标记:用于标识路由,以便在路由策略中根据Tag对路由进行灵活的控制。

2.1.2  RIPng的报文格式

1. 基本格式

RIPng报文由头部(Header)和多个路由表项(RTEs)组成。在同一个RIPng报文中,RTE的最大条数与接口MTU有关。

RIPng报文基本格式如下图所示。

图2-1 RIPng报文基本格式

各字段的含义如下:

l              Command:定义报文的类型。0x01表示Request报文,0x02表示Response报文。

l              Version:RIPng的版本,目前其值只能为0x01。

l              RTE(Route Table Entry):路由表项,每项的长度为20字节。

2. RTE的格式

在RIPng里有两类RTE,分别是:

l              下一跳RTE:位于一组具有相同下一跳的“IPv6前缀RTE”的最前面,它定义了下一跳的IPv6地址。

l              IPv6前缀RTE:位于某个“下一跳RTE”的后面。同一个“下一跳RTE”的后面可以有多个不同的“IPv6前缀RTE”。它描述了RIPng路由表中的目的IPv6地址及度量值。

下一跳RTE的格式如下图所示。

图2-2 下一跳RTE格式

其中,IPv6 next hop address表示下一跳的IPv6地址。

IPv6前缀RTE的格式如下图所示。

图2-3 IPv6前缀RTE格式

各字段的解释如下:

l              IPv6 prefix:目的IPv6地址的前缀。

l              route tag:路由标记。

l              prefix len:IPv6地址的前缀长度。

l              metric:路由的度量值。

2.1.3  RIPng报文处理过程

1. Request报文

当RIPng路由器启动后或者需要更新部分路由表项时,便会发出Request报文,向邻居请求需要的路由表信息。通常情况下以组播方式发送Request报文。

收到Request报文的RIPng路由器会对其中的RTE进行处理。如果Request报文中只有一项RTE,且IPv6前缀和前缀长度都为0,度量值为16,则表示请求邻居发送全部路由表信息,被请求路由器收到后会把当前路由表中的全部路由信息,以Response报文形式发回给请求路由器。否则,将对RTE逐项处理,更新每条路由的度量值,最后以Response报文形式返回给请求路由器。

2. Response报文

Response报文包含本地路由表的信息,一般在下列情况下产生:

l              对某个Request报文进行响应

l              作为更新报文周期性地发出

l              在路由发生变化时触发更新

收到Response报文的路由器会更新自己的RIPng路由表。为了保证路由的准确性,RIPng路由器会对收到的Response报文进行有效性检查,比如源IPv6地址是否是链路本地地址,端口号是否正确等。没有通过检查的报文会被忽略。

2.1.4  协议规范

与RIPng相关的规范有:

l              RFC2080:RIPng for IPv6

l              RFC2081:RIPng Protocol Applicability Statement

l              RFC2453:RIP Version 2

2.2  配置RIPng的基本功能

RIPng基本功能的配置任务包括RIPng特性配置中涉及的基本配置,完成本节的配置就可以使用RIPng特性。

在RIPng的配置中,应该首先启用RIPng。但是与RIPng功能特性相关的接口配置不受是否启动了RIPng的限制,比如说给接口配置一个IPv6地址。

2.2.1  配置准备

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

l              启动IPv6报文转发功能

l              配置接口的网络层地址,使相邻节点的网络层可达

2.2.2  配置RIPng的基本功能

表2-1 配置RIPng的基本功能

操作

命令

说明

进入系统视图

system-view

-

启用RIPng,并进入RIPng视图

ripng [ process-id ]

必选

缺省情况下,没有RIPng进程在运行

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在指定的网络接口上启用RIPng

ripng process-id enable

必选

缺省情况下,接口禁用RIPng

 

&  说明:

如果接口没有使能RIPng,那么RIPng进程在该接口上既不发送也不接收RIPng路由。

 

2.3  配置RIPng路由特性

在配置RIPng的路由特性之前,需完成以下任务:

l              配置接口的网络层地址

l              配置RIPng基本功能

l              如果使用IPv6 ACL进行路由过滤,需要定义IPv6 ACL,相关配置请参见“ACL”中的ACL6配置部分

l              如果使用IPv6地址前缀列表进行路由过滤,需要定义IPv6地址前缀列表,相关配置请参见“3.2  配置过滤列表”相关部分。

2.3.1  配置接口附加度量值

附加度量值是附加在RIPng路由上的输入输出度量值,包括发送附加度量值和接收附加度量值。发送附加度量值不会改变路由表中的路由度量值,仅当接口发送RIPng路由信息时才会添加到发送路由上;接收附加度量值会影响接收到的路由度量值,接口接收到一条合法的RIPng路由时,在将其加入路由表前会把度量值附加到该路由上。

表2-2 配置接口附加度量值

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

设置接口接收RIPng路由时的附加度量值

ripng metricin value

可选

缺省情况下,接口接收RIPng路由时的附加度量值为0

设置接口发送RIPng路由时的附加度量值

ripng metricout value

可选

缺省情况下,接口发送RIPng路由时的附加度量值为1      

 

 

2.3.2  配置RIPng路由聚合

表2-3 配置RIPng路由聚合

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置RIPng在接口发布聚合的的IPv6前缀

ripng summary-address ipv6-address prefix-length

必选

 

&  说明:

在接口上发布的是聚合后的IPv6前缀信息,而不是具体路由。

 

2.3.3  配置RIPng发布缺省路由

表2-4 配置RIPng发布缺省路由

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置RIPng发布缺省路由

ripng default-route { only | originate } [ cost value ]

必选

缺省情况下,RIPng进程不发布缺省路由

 

&  说明:

缺省路由将被强制通过指定接口的路由更新报文发布出去,该路由的发布不考虑其是否已经存在于本设备的IPv6路由表中。

 

2.3.4  配置RIPng对接收/发布的路由进行过滤

用户可通过使用IPv6 ACL和IPv6前缀列表对接收到的路由信息进行过滤,只有通过过滤的路由才能被加入到RIPng路由表;此外,还可对本机所有要发布的路由进行过滤,包括从其它路由协议引入的路由和从邻居学到的RIPng路由,只有符合条件的路由才能被发布给RIPng邻居。

表2-5 配置RIPng对接收/发布的路由进行过滤

操作

命令

说明

进入系统视图

system-view

-

进入RIPng视图

ripng [ process-id ]

-

对接收的路由信息进行过滤

filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import

必选

缺省情况下,RIPng不对接收的路由信息进行过滤

对发布的路由信息进行过滤

filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ protocol [ process-id ] ]

必选

缺省情况下,RIPng不对发布的路由信息进行过滤

 

2.3.5  配置RIPng协议优先级

任何路由协议都具备特有的协议优先级,在设备进行路由选择时能够在不同的协议中选择最佳路由。可以手工设置RIPng协议的优先级,设置的值越小,其优先级就会越高。

表2-6 配置RIPng协议优先级

操作

命令

说明

进入系统视图

system-view

-

进入RIPng视图

ripng [ process-id ]

-

配置RIPng路由的优先级

preference [ route-policy route-policy-name ] value

可选

缺省情况下,RIPng路由的优先级为100

 

2.3.6  配置RIPng引入外部路由

表2-7 配置RIPng引入外部路由

操作

命令

说明

进入系统视图

system-view

-

进入RIPng视图

ripng [ process-id ]

-

配置引入路由的缺省度量值

default cost value

可选

缺省情况下,引入路由的缺省路由度量值为0

引入外部路由

import-route protocol [ cost cost-value | route-policy route-policy-name ]*

必选

缺省情况下,RIPng不引入其它路由

 

2.4  调整和优化RIPng网络

本节将介绍如何调整和优化RIPng网络的性能,以及在特殊网络环境中某些RIPng特性的应用,在调整和优化RIPng网络之前,需完成以下任务:

l              配置接口的网络层地址

l              配置RIPng基本功能

2.4.1  配置RIPng定时器

用户可通过调节RIPng定时器来调整RIPng路由协议的性能,以满足网络需要。

表2-8 配置RIPng定时器

操作

命令

说明

进入系统视图

system-view

-

进入RIPng视图

ripng [ process-id ]

-

配置RIPng定时器的值

timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value }*

可选

缺省情况下,Update定时器的值为30秒,Timeout定时器的值为180秒,Suppress定时器的值为120秒,Garbage-collect定时器的值为240秒

 

&  说明:

在配置RIPng定时器时需要注意,定时器值的调整应考虑网络的性能,并在所有运行RIPng的路由器上进行统一配置,以免增加不必要的网络流量或引起网络路由震荡。

 

2.4.2  配置水平分割和毒性逆转

&  说明:

如果同时配置了水平分割和毒性逆转,则只有毒性逆转功能生效。

 

1. 配置水平分割

配置水平分割可以使得从一个接口学到的路由不能通过此接口向外发布,用于避免相邻路由器间的路由环路。

表2-9 配置水平分割

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

开启水平分割功能

ripng split-horizon

可选

缺省情况下,水平分割功能处于开启状态

 

&  说明:

通常情况下,为了防止路由环路的出现,水平分割都是必要的,因此,建议不要取消水平分割。

 

2. 配置毒性逆转

配置毒性逆转可以使得从一个接口学到的路由还可以从这个接口向外发布,但此时这些路由的度量值已设置为16,即不可达。

表2-10 配置毒性逆转

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

开启毒性逆转功能

ripng poison-reverse

必选

缺省情况下,毒性逆转功能处于关闭状态

 

2.4.3  配置RIPng报文的零域检查

RIPng报文头部中的一些字段必须配置为0,也称为零域。使能RIPng报文的零域检查后,如果报文头部零域中的值不为零,这些报文将被丢弃,不做处理。如果能确保所有报文都是可信任的,则不需要进行该项检查,以节省CPU处理时间。

表2-11 配置RIPng报文的零域检查

操作

命令

说明

进入系统视图

system-view

-

进入RIPng视图

ripng [ process-id ]

-

使能对RIPng报文头部的零域检查操作

checkzero

可选

缺省情况下,RIPng进行零域检查操作

 

2.5  RIPng显示和维护

完成以上配置后,在任意视图下执行display命令,可显示RIPng配置的运行情况,并检验配置结果。

表2-12 RIPng显示和维护

操作

命令

显示RIPng进程的配置信息

display ripng [ process-id ]

显示RIPng发布数据库中的路由

display ripng process-id database

显示所有激活和非激活RIPng路由

display ripng process-id route

显示RIPng接口信息

display ripng process-id interface [ interface-type interface-number ]

 

2.6  RIPng典型配置举例

1. 组网要求

l              SwitchA、SwitchB和SwitchC相连并通过RIPng来学习网络中的IPv6路由信息;

l              在SwitchB上对接收的SwitchC的路由(3::/64)进行过滤,使其不加入到SwitchB的RIPng进程的路由表中,也不发布给SwitchA。

2. 组网图

图2-4 RIPng配置举例组网图

3. 配置步骤

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

(2)        配置RIPng的基本功能

# 配置SwitchA。

<SwitchA> system-view

[SwitchA] ipv6

[SwitchA] ripng 1

[SwitchA-ripng-1] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ripng 1 enable

[SwitchA-Vlan-interface100] quit

[SwitchA] interface vlan-interface 400

[SwitchA-Vlan-interface400] ripng 1 enable

[SwitchA-Vlan-interface400] quit

# 配置SwitchB。

<SwitchB> system-view

[SwitchB] ipv6

[SwitchB] ripng 1

[SwitchB-ripng-1] quit

[SwitchB] interface vlan-interface 200

[SwitchB-Vlan-interface200] ripng 1 enable

[SwitchB-Vlan-interface200] quit

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ripng 1 enable

[SwitchB-Vlan-interface100] quit

# 配置SwitchC。

<SwitchC> system-view

[SwitchC] ipv6

[SwitchC] ripng 1

[SwitchC-ripng-1] quit

[SwitchC] interface vlan-interface 200

[SwitchC-Vlan-interface200] ripng 1 enable

[SwitchC-Vlan-interface200] quit

[SwitchC] interface Vlan-interface 500

[SwitchC-Vlan-interface500] ripng 1 enable

[SwitchC-Vlan-interface500] quit

[SwitchC] interface vlan-interface 600

[SwitchC-Vlan-interface600] ripng 1 enable

[SwitchC-Vlan-interface600] quit

# 查看SwitchB的RIPng路由表。

<SwitchB> display ripng 1 route

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

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

 

 Peer FE80::20F:E2FF:FE23:82F5  on Vlan-interface100

 Dest 1::/64,

     via FE80::20F:E2FF:FE23:82F5, cost  1, tag 0, A, 6 Sec

 Dest 2::/64,

     via FE80::20F:E2FF:FE23:82F5, cost  1, tag 0, A, 6 Sec

 

 Peer FE80::20F:E2FF:FE00:100  on Vlan-interface200

 Dest 3::/64,

     via FE80::20F:E2FF:FE00:100, cost  1, tag 0, A, 11 Sec

 Dest 4::/64,

     via FE80::20F:E2FF:FE00:100, cost  1, tag 0, A, 11 Sec

 Dest 5::/64,

     via FE80::20F:E2FF:FE00:100, cost  1, tag 0, A, 11 Sec

# 查看SwitchARIPng路由表。

<SwitchA>display ripng 1 route

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

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

 

 Peer FE80::200:2FF:FE64:8904  on Vlan-interface100

 Dest 1::/64,

     via FE80::200:2FF:FE64:8904, cost  1, tag 0, A, 31 Sec

 Dest 4::/64,

     via FE80::200:2FF:FE64:8904, cost  2, tag 0, A, 31 Sec

 Dest 5::/64,

     via FE80::200:2FF:FE64:8904, cost  2, tag 0, A, 31 Sec

 Dest 3::/64,

     via FE80::200:2FF:FE64:8904, cost  1, tag 0, A, 31 Sec

(3)        配置SwitchB对接收的路由进行过滤

[SwitchB] acl ipv6 number 2000

[SwitchB-acl6-basic-2000] rule deny source 3::/64

[SwitchB-acl6-basic-2000] rule permit

[SwitchB-acl6-basic-2000] quit

[SwitchB] ripng 1

[SwitchB-ripng-1] filter-policy 2000 import

[SwitchB-ripng-1] filter-policy 2000 export

[SwitchB-ripng-1] quit

# 查看SwitchB和SwitchA的RIPng路由表。

[SwitchB] display ripng 1 route

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

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

 

 Peer FE80::20F:E2FF:FE23:82F5  on Vlan-interface100

 Dest 1::/64,

     via FE80::20F:E2FF:FE23:82F5, cost  1, tag 0, A, 2 Sec

 Dest 2::/64,

     via FE80::20F:E2FF:FE23:82F5, cost  1, tag 0, A, 2 Sec

 

 Peer FE80::20F:E2FF:FE00:100  on Vlan-interface200

 Dest 4::/64,

     via FE80::20F:E2FF:FE00:100, cost  1, tag 0, A, 5 Sec

 Dest 5::/64,

     via FE80::20F:E2FF:FE00:100, cost  1, tag 0, A, 5 Sec

[SwitchA] display ripng 1 route

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

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

 

 Peer FE80::20F:E2FF:FE00:1235  on Vlan-interface100

 Dest 1::/64,

     via FE80::20F:E2FF:FE00:1235, cost  1, tag 0, A, 2 Sec

 Dest 4::/64,

     via FE80::20F:E2FF:FE00:1235, cost  2, tag 0, A, 2 Sec

 Dest 5::/64,

     via FE80::20F:E2FF:FE00:1235, cost  2, tag 0, A, 2 Sec   

 


第3章  路由策略配置

&  说明:

本章所指的路由器,代表了一般意义下的路由器及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。

 

3.1  路由策略简介

3.1.1  路由策略

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

路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,只接收或发布满足一定条件的路由信息。一种路由协议可能需要引入其它的路由协议发现的路由信息,同时引入的路由信息必须满足一定的条件,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。

为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。匹配规则可以预先设置好,然后再将它们应用于路由的发布、接收和引入等过程的路由策略中。

3.1.2  过滤器

路由协议可以引用访问控制列表、地址前缀列表和Route-policy几种过滤器供路由协议引用。下面对各种过滤器逐一进行介绍。

1. 访问控制列表

用户在定义ACL时可以指定IPv6地址和子网范围,用于匹配路由信息的目的网段地址或下一跳地址。ACL6的有关配置请参见“ACL操作手册”中的配置部分。

2. 地址前缀列表

地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于为用户理解。地址前缀列表在应用于路由信息的过滤时,其匹配对象为路由信息的目的地址信息域。

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

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

3. 路由策略(Route-policy)

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

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

每个节点可以由一组if-matchapply子句组成。if-match子句定义匹配规则,匹配对象是路由信息的一些属性。同一节点中的不同if-match子句是“与”的关系,只有满足节点内所有if-match子句指定的匹配条件,才能通过该节点的匹配测试。apply子句指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。

3.1.3  路由策略的应用

路由策略主要有两种应用方式:

l              路由协议在引入其它路由协议发现的路由时,通过路由策略只引入满足条件的路由信息。

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

3.2  配置过滤列表

3.2.1  配置准备

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

l              前缀列表名称

l              匹配的地址范围

3.2.2  配置IPv6地址前缀列表

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

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

表3-1 配置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

3.3  配置路由策略

路由策略用来匹配给定的路由信息或者路由信息的某些属性,并在条件满足时改变这些路由信息的属性。匹配条件可以使用前面几种过滤列表。

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

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

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

3.3.1  配置准备

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

l              配置过滤列表

l              配置路由协议

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

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

l              匹配条件

l              要修改的路由属性值

3.3.2  创建一个路由策略

表3-2 创建一个路由策略

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

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

 

&  说明:

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

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

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

 

3.3.3  配置If-match子句

表3-3 配置If-match子句

操作

命令

说明

进入系统视图

system-view

-

进入路由策略视图

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

必选

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

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

可选

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

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

if-match cost value

可选

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

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

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

可选

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

配置路由信息的标记域的匹配条件

if-match tag value

可选

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

 

&  说明:

l      对于同一个Route-policy节点,在匹配的过程中,各个if-match子句间是“与”的关系,即路由信息必须同时满足所有匹配条件,才可以执行apply子句的动作。

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

 

3.3.4  配置apply子句

表3-4 配置apply子句

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

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

配置路由信息的路由开销

apply cost [ + | - ] value

可选

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

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

apply ipv6 next-hop ipv6-address

可选

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

配置路由协议的优先级

apply preference preference

可选

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

配置路由信息的标记域

apply tag value

可选

缺省情况下,没有配置路由信息的标记域

 

&  说明:

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

 

3.4  路由策略的显示和维护

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

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

表3-5 路由策略的显示和维护

操作

命令

查看IPv6地址前缀列表信息

display ip ipv6-prefix [ ipv6-prefix-name ]

查看Route-policy

display route-policy [ route-policy-name ]

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

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

 

3.5  路由策略典型配置举例

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

1. 组网需求

l              使能SwitchA上的RIPng协议,配置三条静态路由。

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

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

2. 组网图

图3-1 过滤接收的路由信息组网图

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

# 配置三条静态路由。

[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 

3.6  常见错误配置举例

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

1. 错误现象

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

2. 分析

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

3. 处理过程

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

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

 

 

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

新华三官网
联系我们