基于策略的路由(PBR)是一种灵活的数据包路由转发机制。通过在路由器上应用策略路由,使路由器根据路由映射(route-map)决定经过路由器的数据包如何处理。路由映射决定了一个数据包的下一跳转发路由器。
在路由器上应用策略路由,必须要指定策略路由使用的路由映射(route-map),并且要创建路由映射。一个路由映射由很多条策略组成,每个策略都定义了1个或多个匹配规则和对应操作。一个接口应用策略路由后,将对该接口收到的所有包进行检查,不符合路由映射中所定义的数据包将会被按照正常路由转发进行处理,符合路由映射中的策略的数据包,就按照策略中定义的操作进行处理。
策略路由主要应用在企业路由表复杂或者需要对路由进行控制的情况下,特别是当企业网络出口有两条,需要对不同服务和应用或者不同客户端的路由进行控制时,当然企业内部运行两个网络或者更多的网络时也经常要用到路由策略;另外,策略路由除了应用在非正常的路由选路之外,它还可以用来防止病毒或黑客的攻击,使用条件语句将病毒或攻击的特征码匹配出来,然后再指定一个安全策略(如使用黑洞路由)将攻击阻断。
黑洞路由是对动态路由选择协议的一个补充。黑洞路由可以将不想要的流量转发到一个称为null0的接口中去。我们可以建立一条或一些静态路由,将精确匹配这些路由的流量丢弃。和ACL不同的是,Cisco IOS的所有交换过程,包括CEF,都能处理黑洞路由,而不降低性能。需要注意的是,PBR技术不支持配置了PBR的路由器始发流量和到达该路由器的流量。
PBR(基于策略的路由)实例解析
下面我们就以一个试验来描述策略路由的阻断流量的功能。路由器的E0/0口作为内部网络的网关,地址为200.1.1.1,内部网络有一个WWW服务器,地址为200.1.1.100,和WWW同一网段内有普通用户PC一台,在外部网络有一个远程的用户,IP地址为199.1.1.100,允许远程用户能够访问WWW服务器,同时不允许访问内部用户的PC机,使用PBR完成需求。
在路由器上配置相关的地址,并测试与200.1.1.100,200.1.1.10和199.1.1.100的连通性。配置一个路由映射(route-map),匹配从远程用户到内部用户的流量,并牵引到null0接口中去,并在null0接口下配置不返回不可达信息。其他不匹配路由映射的流量正常转发。
路由器的初始配置如下:
▲
测试连通性:
▲
配置匹配敏感流量的ACL:
▲
配置null0接口:
▲
建立路由映射:
▲
在出口路由器的E0/1接口上打开NETFLOW交换功能,方便我们对结果进行查看,并在该接口上调用PBR:
▲
这时,会发现外部网络的远程用户已经无法ping通内部的用户了,但是还是可以ping通WWW服务器。查看边界路由器的状态:
▲
▲
通过效果图我们发现,有18个数据包匹配了ACL,并被PBR牵引到null0接口后丢弃了。