策略路由相关配置命令总览

2005-9-28 11:05:53   Count:

  一个route map由拥有相同route-map名的route-map statements集合构成。这些语句可以用permit和deny来标识是否执行策略路由。如果一个数据包所匹配的statement的标准是deny,则作为通常的目的地址路由来进行转发。如果是permit,则所有其上的set命令被应用。

让我们看一个demo:

route-map demo permit 10

       match X Y Z

       match A

       set B

       set C

route-map demo permit 20

      match Q

       set R

route-map demo permit 30


       任何与X、Y、Z匹配的数据包都执行set B和C,如果没有任何匹配,也就不会执行任何set命令。

  下面我们具体看一下命令:

       1、使用route-map命令创建route map

       Router(config)#route-map [permit|deny][]

  参数map-tag指定了route map的名字

  参数permit和deny指定了如果条件匹配将执行的动作

  参数sequence-number用于区分每一个route map statement,不同的statement拥有不同的sequence number。通过这个参数你可以在一个route map的特定位置插入或删除一条route map statement,并且可以单独的编辑它。

       一个route map可以包含多个route map statement,这些语句的执行顺序像ACL一样是从上到下。对于一个路由,先匹配的先执行。

       2、使用match  route map命令定义检查条件

       Router(config-route-map)#match {}

       3、使用set route-map配置命令定义如果条件匹配后的行为

       Router(config-route-map)#set {}

       一个route map可以包含多个route map statement,一个match语句可以包含多个条件。如果一个条件为真,则认为这个条件匹配;然而,必须所有的条件都匹配,才认为这个route map statement匹配。

       序列号参数决定了进行条件匹配的顺序。只有序列号为10的语句没有匹配,才会检查序列号为20的语句才被检查。

       一个route map的最后默认"deny any"。这个deny的使用结果依赖于这个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路由这个包到一个null接口。这条语句应该被放在route map的最后。


Match

       用来在route-map中执行匹配的标准包括:

1、  IP访问列表中的源和目的地址

2、  三层数据包长度

  1、标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。

  要使用IP访问列表来实现策略路由,可以使用match ip address命令:

Router(config-route-map)#match ip address {|} [...|]

  如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被匹配。

       2、使用match  route map命令定义检查条件

       Router(config-route-map)#match {}

       3、使用set route-map配置命令定义如果条件匹配后的行为

       Router(config-route-map)#set {}

       一个route map可以包含多个route map statement,一个match语句可以包含多个条件。如果一个条件为真,则认为这个条件匹配;然而,必须所有的条件都匹配,才认为这个route map statement匹配。

       序列号参数决定了进行条件匹配的顺序。只有序列号为10的语句没有匹配,才会检查序列号为20的语句才被检查。

       一个route map的最后默认"deny any"。这个deny的使用结果依赖于这个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路由这个包到一个null接口。这条语句应该被放在route map的最后。


Match

       用来在route-map中执行匹配的标准包括:

1、  IP访问列表中的源和目的地址

2、  三层数据包长度

  1、标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。

  要使用IP访问列表来实现策略路由,可以使用match ip address命令:

Router(config-route-map)#match ip address {|} [...|]

  如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被匹配。

       2、使用match  route map命令定义检查条件

       Router(config-route-map)#match {}

       3、使用set route-map配置命令定义如果条件匹配后的行为

       Router(config-route-map)#set {}

       一个route map可以包含多个route map statement,一个match语句可以包含多个条件。如果一个条件为真,则认为这个条件匹配;然而,必须所有的条件都匹配,才认为这个route map statement匹配。

       序列号参数决定了进行条件匹配的顺序。只有序列号为10的语句没有匹配,才会检查序列号为20的语句才被检查。

       一个route map的最后默认"deny any"。这个deny的使用结果依赖于这个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路由这个包到一个null接口。这条语句应该被放在route map的最后。


Match

       用来在route-map中执行匹配的标准包括:

1、  IP访问列表中的源和目的地址

2、  三层数据包长度

  1、标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。

  要使用IP访问列表来实现策略路由,可以使用match ip address命令:

Router(config-route-map)#match ip address {|} [...|]

  如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被匹配。

  2、match length 命令用来基于三层包长度来建立匹配。

Router(config-route-map)#match length

  参数 定义了三层包的最大和最小长度。当一个包的长度在这两个值之间,匹配成立。

  可以使用match length命令来区分传输类型,例如:交互数据包和文件传输数据包,文件传输数据包往往比较大。


Set

       可以使用一系列的set命令来定义当匹配语句满足时,数据包如何通过路由器进行转发。

1、  set ip next-hop

2、  set interface

3、  set ip default next-hop

4、  set ip default interface

5、  set ip tos

6、  set ip precedence


  一些set命令只影响路由表里有明显路由的数据包;其他的set命令只影响路由表里没有明显路由的数据包。下面我们来仔细看一下:


  (1)    Router(config-route-map)#set ip next-hop [...]

  Set ip next hop 命令设定流出端口的数据包的下一跳地址。

   这个地址必须是邻接路由器的ip地址。如果配置了多个接口,则使用第一个相关的可用接口。这个命令将影响所有的数据包类型并且一直使用。

  (2) Router(config-route-map)#set interface [... ]

  Set interface 命令为数据包设定出向端口。 参数指定接口的类型和编号。如果定义了多个接口,则使用第一个被发现的up接口。

  有时,路由表可能不包含到一个数据包目的地址的明显的路由(例如:广播包或者目的地址未知的数据包),这种情况下,命令将不影响到这些数据包或者说命令忽略这些数据包。

  (3)Router(config-route-map)# set ip default next hop [...]

  set ip default next hop命令用于当路由表里没有到数据包目的地址的明显路由时,设定它的下一跳地址。

  (4)Router(config-route-map)# set default interface [...]

  如果到目的地址没有明显路由,set default interface命令为这些数据包设定output接口。

  一旦目的地址或接口被选择,其他的default set 命令被忽略。

  (5)Router(config-route-map)# set ip tos

  Set ip tos 用来设定IP数据包的IP ToS值。可以设定以下值:

<0 - 15>

Type of sevice value

Max-reliability

Set max reliable ToS (2)

Max-throughput

Set max throughput ToS (4)

Min-delay

Set min delay ToS (8)

Min-monetary-cost

Set min monetary cost ToS (1)

normal

Set normal ToS (0)

   (6) Router(config-route-map)#set ip precedence [|]

       Set ip precedence 命令用来设定IP数据包的优先级。可设定值如下表:

Value

Name

0

Routine

1

Priority

2

Immediate

3

Flash

4

Flash-override

5

Critical

6

Internet

7

Network

       这个表显示了能够使用的优先级值和相应的名字。

       如前面的demo所示这些set命令可以结合起来使用。


浏览该文章的用户为您推荐了该信息: 
       
   
   
 
站内检索:
栏目导航
本月授课安排
阅读排行