PBR(策略路由)的几种使用方式

【简 介】

PBR(策略路由)以前是CISCO用来丢弃报文的一个主要手段。比如:设置set interface null 0,按CISCO说法这样会比ACL的deny要节省一些开销。

注:PBR(策略路由)以前是CISCO用来丢弃报文的一个主要手段。比如:设置set interface null 0,按CISCO说法这样会比ACL的deny要节省一些开销。这里我提醒:

  interface null 0

no ip unreachable //加入这个命令

  这样避免因为丢弃大量的报文而导致很多ICMP的不可达消息返回。

三层设备在转发数据包时一般都基于数据包的目的地址(目的网络进行转发),那么策略路由有什么特点呢?

特点:

  1、可以不仅仅依据目的地址转发数据包,它可以基于源地址、数据应用、数据包长度等。这样转发数据包更灵活。

  2、为QoS服务。使用route-map及策略路由可以根据数据包的特征修改其相关QoS项,进行为QoS服务。

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

  策略路由影响的只是本地的行为,所以可能会引起"不对称路由"形式的流量。比如一个单位有两条上行链路A与B,该单位想把所有HTTP流量分担到A链路,FTP流量分担到B链路,这是没有问题的,但在其上行设备上,无法保证下行的HTTP流量分担到A链路,FTP流量分担到B链路。

  策略路由一般针对的是接口入(in)方向的数据包,但也可在启用相关配置的情况下对本地所发出的数据包也进行策略路由。

  本文就策略路由的以下四个方面做相关讲解:

  1、启用策略路由

  2、启用Fast-Switched PBR

  3、启用Local PBR

  4、启用CEF-Switched PBR

  ㈠启用策略路由:

  ①开始配置route-map。使用route-map map-tag permit   deny sequence-number进入route-map的配置模式。

  ②使用match语句定义感兴趣的流量,如果不定义则指全部流量。

Match length min max and/or 

match ip address {access-list-number   name}...access-list-number   name

  ③使用set命令设置数据包行为。

  set ip precedence number   name

  set ip next-hop ip-address ... ip-address

  set interface interface-type interface-number ... type number

  set ip default next-hop ip-address ... ip-address

  set default interface interface-type interface-number ... type ...number

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

  ④进入想应用策略路由的接口。interface xxx

  应用所定义的策略。注意必须在定义好相关的route-map后才能在接口上使用该route-map,在接口启用route-map策略的命令为:

  ip policy route-map map-tag

㈡启用Fast-Switched PBR

  在Cisco IOS Release 12.0之前,策略路由只能通过"进程转发"来转发数据包,这样数据包的转发效率是非常低的,在不同的平台上,基本在每秒1000到10,000个数据包。随着缓存转发技术的出现,Cisco实现了Fast-Switched PBR,大大提升了数据包的转发速度。启用方法即在接口中使用ip route-cache policy命令。

  注意:Fast-switched PBR支持所有的match语句及大多数的set语句,但其有下面的两个限制:

  不支持set ip default next-hop 与 set default interface命令。

  如果在route-cache中不存在set中指定的接口相关的项,那么仅在point-to-point时set interface命令才能够Fast-switched PBR。而且,在进行"进程转发"时,系统还会先查询路由条目查看该interface是不是一个合理的路径。而在fast switching时,系统不会对此进行检查。

㈢启用Local PBR

默认情况下,路由器自身所产生的数据包不会被策略路由,如果想对路由器自身产生的数据包也进行策略路由,那么需要在全局模式下使用如下命令来启用:

ip local policy route-map map-tag

㈣启用CEF-Switched PBR(Cisco Express Forwarding,思科特快交换)

在支持CEF的平台上,系统可以使用CEF-Switched PBR来提高PBR的转发速度,其转发速度比Fast-Switched PBR更快!只要你在启用PBR的路由器上启用了CEF,那么CEF-Switched PBR会自动启用。

  注:ip route-cache policy仅仅适用于Fast-Switched PBR,在CEF-Switched PBR中并不需要,如果你在启用了CEF的路由器上使用PBR时,这个命令没有任何作用,系统会忽略此命令的存在。

㈤PBR配置案例:

案例1:

路由器通过两条不同的链路连接至两ISP,对于从async 1接口进入的流量,在没有"精确路由"匹配的情况下,把源地址为1.1.1.1的数据包使用策略路由转发至6.6.6.6, 源地址为2.2.2.2的数据包转发至7.7.7.7,其它数据全部丢弃。

配置如下:

access-list 1 permit ip 1.1.1.1

access-list 2 permit ip 2.2.2.2

  !

interface async 1

ip policy route-map equal-access (相等,等于)

route-map equal-access permit 10

match ip address 1

set ip default next-hop 6.6.6.6

route-map equal-access permit 20

match ip address 2

set ip default next-hop 7.7.7.7

  

route-map equal-access permit 30

  set default interface null0

  案例2

  在路由器针对不同流量,修改其precedence(优先) bit,并设置下一跳地址。对于1.1.1.1产生的流量,设置precedence bit为priority,并设置其下一跳转发地址为3.3.3.3;对于2.2.2.2产生的流量,设置precedence bit为critical(批评),并设置其下一跳转发地址为3.3.3.5。

配置如下:

  access-list 1 permit ip 1.1.1.1

  access-list 2 permit ip 2.2.2.2

  !

  interface ethernet 1

   ip policy route-map Texas

  !

  route-map Texas permit 10

   match ip address 1

set ip precedence priority

   set ip next-hop 3.3.3.3

  !

  route-map Texas permit 20

match ip address 2

set ip precedence critical

set ip next-hop 3.3.3.5

相关推荐
guyuyiqi3 分钟前
糖精钠检测技术科普
科技·安全·制造
vortex55 分钟前
Linux日志轮转管理:logrotate 完全指南
linux·运维·服务器
Rider_bai6 分钟前
长春到天津物流专线,长春到天津物流公司,如何找到靠谱公司的联系方式?
大数据·网络·物联网·敏捷流程·交通物流
IT大白鼠21 分钟前
BGP多归属技术原理与应用实践
网络·网络协议·华为
条俐开水喉35 分钟前
液冷服务器与U位资产管理的依存共生关系深度分析
运维·ai算力服务器·u位资产管理·液冷服务器
高旭的旭1 小时前
反向 SSH 隧道远程方案
运维·ssh
元启数宇1 小时前
机电设计AI不只是消防:给排水、暖通、强弱电如何进入自动化?
运维·人工智能·自动化
CHrisFC1 小时前
LIMS 系统 AI 建设路径:从自动化到智能化的演进之路
运维·人工智能·自动化
布朗克1681 小时前
26 多线程基础——Thread、Runnable与线程安全
java·安全·多线程
酣大智1 小时前
三层交换机与路由器的区别
网络·路由器·交换机