route map和ACL很类似,它可以用于路由的再发布和策略路由,还经常使用在BGP中.策略路由(policy route)实际上是复杂的静态路由,静态路由是基于数据包的目标地址并转发到指定的下一跳路由器,策略路由还利用和扩展IP ACL链接,这样就可以提供更多功能的过滤和分类
route map的一些命令:
一 路由重发布相关
match命令可以和路由的再发布结合使用:
1.match interface {type number} […type number]:匹配指定的下一跳路由器的接口的路由
2.match ip address {ACL number|name} […ACL number|name]:匹配ACL所指定的目标IP地址的路由
3.match ip next-hop {ACL number|name} […ACL number|name]:匹配ACL所指定的下一跳路由器地址的路由
4.match ip route-source {ACL number|name} […ACL number|name]:匹配ACL所指定的路由器所宣告的路由
5.match metric {metric-value}:匹配指定metric大小的路由
6.match route-type {internal|external[type-1|type-2]|level-1|level-2}:匹配指定的OSPF,EIGRP或IS-IS的路由类型的路由
7.match tag {tag-value} […tag-value]:匹配带有标签(tag)的路由
set命令也可以和路由的再发布一起使用:
1.set level {level-1|level-2|level-1-2|stub-area|backbone}:设置IS-IS的Level,或OSPF的区域,匹配成功的路由将被再发布到该区域
2.set metric {metric-value|bandwidth delay RELY load MTU}:为匹配成功的路由设置metric大小
3.set metric-type {internal|external|type-1|type-2}:为匹配成功的路由设置metric的类型,该路由将被再发布到OSPF或IS-IS 1
4.set next-hop {next-hop}:为匹配成功的路由指定下一跳地址
5.set tag {tag-value}:为匹配成功的路由设置标签
二 策略路由相关
match命令还可以和策略路由一起使用:
1.match ip address {ACL number|name} […ACL number|name]:匹配ACL所指定的数据包的特征的路由
2.match length {min} {max}:匹配层3的数据包的长度
set命令也可以和策略路由一起使用:
1.set default interface {type number} […type number]:当不存在指向目标网络的显式路由(explicit route)的时候,为匹配成功的数据包设置出口接口
2.set interface {type number} […type number]:当存在指向目标网络的显式路由的时候,为匹配成功的数据包设置出口接口
3.set ip default next-hop {ip-address} […ip-address]:当不存在指向目标网络的显式路由的时候,为匹配成功的数据包设置下一跳路由器地址
4.set ip precedence {precedence}:为匹配成功的IP数据包设置服务类型(Type of Service,ToS)的优先级
5.set ip tos {tos}:为匹配成功的数据包设置服务类型的字段的TOS位
Configuring Route Maps
route map是通过名字来标识的,每个route map都包含许可或拒绝操作以及一个序列号,序列号在没有给出的情况下默认是10,并且route map允许有多个陈述,如下:
Linus(config)#route-map Hagar 20
Linus(config-route-map)#match ip address 111
Linus(config-route-map)#set metric 50
Linus(config-route-map)#route-map Hagar 15
Linus(config-route-map)#match ip address 112
Linus(config-route-map)#set metric 80
尽管先输入的是20,后输入的是15,IOS将把15放在20之前.
还可以允许删除个别陈述,
如下: Linus(config)#no route-map Hagar 15 在删除的时候要特别小心,假如你输入了no route-map Hegar而没有指定序列号,那么整个route map将被删除.并且如果在添加match和set语句的时候没有指定序列号的话,那么它们仅仅会修改陈述10.在匹配的时候,从上到下,如果匹配成功,将不再和后面的陈述进行匹配,指定操作将被执行
关于拒绝操作,是依赖于route map是使用再路由的再发布中还是策略路由中,
如果是在策略路由中匹配失败(拒绝),那么数据包将按正常方式转发;
如果是用于路由再发布,并且匹配失败(拒绝),那么路由将不会被再发布 如果数据包没有找到任何匹配,和ACL一样,route map末尾也有个默认的隐含拒绝所有的操作,如果是在策略路由中匹配失败(拒绝),那么数据包将按正常方式转发;如果是用于路由再发布,并且匹配失败(拒绝),那么路由将不会被再发布 如果route map的陈述中没有match语句,那么默认的操作是匹配所有的数据包和路由;
每个route map的陈述可能有多个match和set语句,如下:
! route-map Garfield permit 10
match ip route-source 15
match interface Serial0
set metric-type type-1
set next-hop 10.1.2.3 !
在这里,为了执行set语句,每个match语句中都必须进行匹配.
基于策略的路由
基于策略的路由技术概述:
基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力,传统上,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发。
基于策略的路由比传统路由强,使用更灵活,它使网络管理者不能够根据目的地址而且能够根据,报文大小,应用或IP源地址来选择转发路径。策略可以定义为通过多路由器的负载平衡或根据总流量在各线上进行转发的服务质量(QOS)。策略路由使网络管理者能根据它提供的机定一个报文采取的具体路径。而在当今高性能的网络中,这种选择的自由性是很需要的。
策略路由提供了这样一种机制:根据网络管理者制定的标准来进行报文的转发。策略路由用MATCH和SET语句实现路径的选择。
策略路由是设置在接收报文接口而不是发送接口。
基于源地址的策略路由
配置概述:
路由器A将192.1.1.1来的所有数据从接口S0发出,而将从192.1.1.2来的所有数据从接口S1发出。
路由器A定义几个二级接口作为测试点。路由器A和B配置RIP.在A的ETHERNET接口上应用IP策略路由图LAB1,为从192.168.1.1来的数据设置下一跳接口为S0,为从192..1.1.2来的数位设置下一跳接口为S1,所有其他的报文将用基于目的地址的路由。
路由器配置:
ROUTE A:
Version 11.2
No service udp-small-servers
No service tcp-small-servers
Hostname routerA
Interface ethernet0
Ip address 192.1.1.1 255.255.255.0 secondary
Ip address 192.1.1.2 255.255.255.0 secondary
Ip address 192.1.1.3 255.255.255.0 secondary
Ip address 192.1.1.10 255.255.255.0
Ip policy route-map lab1
//策略路由应用于E0口
interface serial0
ip addr 150.1.1.1 255.255.255.0
interface serial1
ip addr 151.1.1.1 255.255.255.0
router rip
network 192.1.1.0
network 150.1.0.0
network 151.1.0.0
ip local policy route-map lab1
//使路由器策略路由本地产生报文
no ip classless
access-list 1 permit 192.1.1.1
access-list 2 permit 192.1.1.2
route-map lab1 permit 10
//定义策略路由图名称:LAB1,10为序号,用来标明被匹配的路由顺序。
Match ip address 1
//匹配地址为访问列表1
Set interface serial0
//匹配下一跳为S0
Route-map lab1 permit 20
Match ip address 2
Set interface serial1
Line con0
Line aux0
Line vty 0 4
Login
End
路由器B为标准配置略。
相关调试命令:
show ip policy
show router-map
debug ip policy