策略路由 是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。应用了策略路由,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

应用策略路由,必须要指定策略路由使用的路由图,并且要创建路由图。一个路由图由很多条策略组成,每个策略都定义了 1 个或多个的匹配规则和对应操作。一个接口应用策略路由后,将对该接口接收到的所有包进行检查,不符合路由图任何策略的数据包将按照通常的路由转发进行处理,符合路由图中某个策略的数据包就按照该策略中定义的操作进行处理。

使用 Route map 命令来创建一条策略,创建策略时需指定策略所属的路由图,并指定此条策略的序列号

match 子命令:定义策略的匹配规则,也就是执行操作的条件

set 子命令:用来定义符合条件的数据包采取的操作,即数据包从哪个下一跳地址转发。

最后通过路由图将策略引用到接口。

注:路由图与策略的逻辑关系是,一个路由图由很多条策略组成。具体在创建每条策略时,都要指定策略所属的路由图。

 

一、基于源 IP 地址策略路由:

1 、定义 Router Map 语句

Router(config)#router-map map-name[permit/deny][sequence-number]

Router(config-router-map)#match ip{source-address[ 微软中国 1] }

Router(config-router-map)#set interface interface number

2 、在接口应用 Router Map 语句

Router(config-if)#ip policy route-map map-name

3 、使路由器本身产生的数据包也接受基于源 Ip 地址的策略路由的管理

Router(config-if)#ip local policy route-map map-name

 

二、基于报文大小的策略路由

1 、定义 Router Map 语句

Router(config)#router-map map-name[permit/deny][sequence-number]

Router(config-router-map)#match length{length}

Router(config-router-map)#set ip next-top next-hop-address

2 、在接口应用 Router Map 语句

Router(config-if)#ip policy route-map map-name

3 、使路由器本身产生的数据包也接受基于源 Ip 地址的策略路由的管理

Router(config-if)#ip local policy route-map map-name

 

三、基于应用的策略路由

1 、定义 Router Map 语句

Router(config)#router-map map-name[permit/deny][sequence-number]

Router(config-router-map)#match {condition[ 微软中国 2] }

Router(config-router-map)#set ip next-top next-hop-address

2 、在接口应用 Router Map 语句

Router(config-if)#ip policy route-map map-name

3 、使路由器本身产生的数据包也接受基于源 Ip 地址的策略路由的管理

Router(config-if)#ip local policy route-map map-name

 

 

注:在 Router Map 语句中:如果一句条件子命令中同时有多个条件,则各个条件之间是逻辑“或”的关系,即条件中有一个符合即认为数据包符合条件

    如果以条 Router Map 语句中有多个条件子命令,则各个条件子命令之间是逻辑“与”的关系,一个数据包必须同时符合所有条件子命令规定的条件,才被认为符合。

 [ 微软中国 1] 可以是数据包的源 IP 地址,也可以使用访问控制列表预先定义多个地址。 Match ip address number

 [ 微软中国 2] 预先定义的访问控制列表 --- 该列表定义了应用的类型。 Match ip address number