什么叫策略路由?

所谓策略路由,顾名思义,即是根据一定的策略进行报文转发,因此策略路由是一种比目的路由更灵活的路由机制。在路由器转发一个数据报文时,首先根据配置的规则对报文进行过滤,匹配成功则按照一定的转发策略进行报文转发。这种规则可以是基于标准和扩展访问控制列表,也可以基于报文的长度;而转发策略则是控制报文按照指定的策略路由表进行转发,也可以修改报文的IP优先字段。因此,策略路由是对传统IP路由机制的有效增强。

策略路由优点

  1. 可以实现不同的用户选择不同的ISP(比如电信,网通的互联互通)
  2. 使用route-map及策略路由可以根据数据包的特征修改相关QoS项,进而为QoS服务
  3. 负载均衡。通过设置数据包的行为如下一跳,使用不同的链路,从而提供高效的负载均衡能力。

策略路由流程

在这里插入图片描述使用Route-map来配置策略路由的流程,策略路由只对入口数据包有效。

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

route-map概念

route-map即路由映射表,是由一组match字句和set字句构成,他实际上是访问控制列表的一个超集。主要功能包括路由控制和策略路由等。
类似于复杂的Access-list
自顶向下地处理,一旦有一条匹配,则立刻结束route-map查找Route-map每个条目都被赋予编号,可以任意地插入或删除条目

定义route-map格式

定义路由映射表:

route-map map-tag [permit | deny] [sequence-number]

条件匹配:

macth(常用的匹配条件包括IP地址、接口、度量值、tag、路由类型以及数据包长度等)
     如果格式为:match ip address a b c     表示逻辑或,只要有一个条件满足即可
     如果格式为:match ip address a  
                match ip address b  
                match ip address c         表示逻辑与,必须同时满足所有条件

定义行为:set

Set行为 描述
set ip next hop 设定数据包的下一跳地址
set interface 设定数据包出接口
set ip default next hop 设置默认的下一跳地址,用于当路由表里没有达到目的地址路由条目的时候
set ip tos 设定IP数据包的TOS值
set ip precedence 设定IP数据包的优先级
Set metric 设置路由的度量值
set tag 设定路由的标记值

route-map特征

A.一个route map末尾默认行为是“deny any”
如执行策略路由时,没有匹配则正常转发
如路由重分时,没有匹配则被过滤掉
B.一个route map可以包含多个route map陈述,从上到下被执行,如route map陈述中没有math,则匹配所有。
C.序列号指定了条件执行的顺序,不写默认为10,不会自动递增
D.route map中不写permit deny默认为permit
E.在删除route map时,没写编号则删除整个route map

相关配置

基于源地址的策略路由

access-list 1 permit host 192.168.1.2 用acl标出策略有路由允许通过的主机地址(也可以是一个网段)
access-list 2 permit host 192.168.1.3
route-map boy permit 10 创建路由表并命名标上编号
match ip address 1 关联acl 1 的ip地址
set ip next-hop 192.168.2.2 符合上面acl中的ip地址经过这个路由器之后下一跳的ip地址为192.168.2.2
route-map boy permit 20
match ip address 2
set ip next-hop 192.168.3.2
完成 效果:ip为192.168.1.2则走192.168.2.2的路由 ip为192.168.1.3则走192168.3.2 的路由

基于目的地址的策略路由

access-list 111 permit tcp any host 192.168.200.1
用扩展acl(100-199)标出所有ip到主机192.168.200.1的数据流
access-list 112 permit tcp any host 192.168.201.1
route-map boy permit 10 创建路由表并命名标上编号
match ip address 111 关联acl111
set ip next-hop 192.168.2.6 目的地址符合acl 111 的数据流下一跳为192.168.2.6
route-map boy permit 20
match ip address 112
set ip next-hop 192.168.3.6 目的地址符合acl 112 的数据流下一跳为192.168.3.6

基于报文长度的策略路由

route-map boy permit 10 创建路由表并命名,标上序号
match length 0 100 表示报文大小在0-100之内的数据流
set ip next-hop 192.168.1.1 下一跳的ip地址为192.168.1.1
route-map boy permit 20
match length 100 200
set ip next-hop 192.168.2.1
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐