分享页面

思科设备配置基于源IP地址的策略路由

发布时间:2021-08-04 10:15
 

一.PBRpolicy-Based routing)策略路由的功能介绍

1PBR可以用于路由重新分配。基于PBR我们可以在重新分配路由时有选择的重分配。(当然还有其它手段passive-interfacedistribute-list,还有route-map实现)。一般来说,PBR是通过路由映射来配置的(route-map)

2.影响下一跳。PBR在大规模边界网关协议BGP的运行中,是一个最必不可少的工具。传统的路由策略来自由路由协议计算出来的路由表。路由器只能根据报文的目的地址进行数据转发,不能提供有差别的服务。基于策略的路由可以基于数据包的源地址,甚至是源地址,目的地址,源端口,目的端口,四层协议以及报文大小,应用或者其它策略来选择转发路径。

3.设置优先级。PBR还可以给予外出数据包设置IP优先级位,这样方便了QOS策略。网络管理员可以根据实际工作的需要,灵活设置PBR机制,实现比传统路由协议更强的路由控制能力。

4.负载平衡。使用PBR策略路由设置数据包的行为,比如下一跳,出接口等,这样在存在多条链路的情况下,可以根据数据包的应用不同而使用不同的链路,进而提供高效的负载平衡能力。

二.PBR的特点

PBR影响的只是本地的行为,不会干预其它路由器的选路行为,当可以通过设置优先级位来用于其它路由器配置策略。当路由器进行数据转发时,路由器根据预先设置的策略对数据包进行匹配,如果匹配到一条PBR,就根据该条策略指定的路由进行转发;如果没有匹配到任何策略,就根据路由表的内容对报文进行转发。常用的PBR配置命令如下所示:

route-map map-tag { permit |deny} [sequence number] \\定义PBR

match ip address acl-id \\匹配ACL-id定义的流量

match length min-byte max-byte \\匹配报文大小为min-byte到max-byte大小的流量

set ip next-hop ip-address \\设置数据包下一条地址

set ip default next-hop ip-address \\设置数据包下一条地址

set ip precedence [number|name] \\设置IP数据包优先级

set interface slot/number \\设置出接口

set default interface slot/number \\设置出接口

ip policy route-map map-tag \\在接口下应用PBR

ip local policy route-map map-tag \\对本地路由器产生的数据包执行PBR

说明1:这里要注意set ip next-hopset ip default next-hopset interfaceset default interface这两对语句的区别,不含default的语句,是不查询路由表就转发数据包到下一跳IP或接口,而含有default的语句是先查询路由表,在找不到精确匹配的pbr策略路由条目时,才转发数据包到default语句指定的下一跳IP或接口。

说明2route-map命令被用于定义策略,用permitdeny来标识是否执行路由转发。如果是permit,那么match是或的关系,也就是说只要有一个条件匹配(执行的顺序和ACL一样,同样是自上而下依次执行),那么set将会被执行;如果是deny,那么只有所有的match是与的关系,也就是说所有的条件都匹配的情况下set才会被执行。多条使用相同map-tagroute-map命令组成route-map statement(集合),集合中的语句根据sequence number依次执行。

三.配置基于源IP地址的策略路由

拓扑如下:

要求: 192.168.1.0/24到外网时从R2f1/0出去,192.168.2.0/24到外网时从R2f2/0出去。

具体配置:

1:ACL定义不同的源

R2:

access-list 1 permit 192.168.1.0 0.0.0.255

access-list 2 permit 192.168.2.0 0.0.0.255

2:定义route-map

R2(config)#route-map qgPBR permit 10

R2(config-route-map)#match ip address 1

R2(config-route-map)#set interface f1/0

R2(config-route-map)#exit

R2(config)#route-map qgPBR permit 20

R2(config-route-map)#match ip address 2

R2(config-route-map)#set interface f2/0

R2(config-route-map)#exit

3:route-map调用到接口上

R2(config)#int f0/0

R2(config-if)#ip policy route-map qgPBR
本文导读