流量控制
分类:流量过滤、流量转发路径控制;
特点:1、作用于数据层面/转发层面;
2、不会影响路由表,针对转发流量生效;
实现步骤:
1、通过流量匹配工具匹配流量(ACL);
2、将匹配工具应用到流量控制工具;
3、在设备中应用流量控制工具;
(1)traffic-filter
作用:用于过滤流量;
配置
a、通过ACL匹配流量,其中动作为deny的流量会被过滤,动作为permit或者没有被匹配的流量均不会被过滤;
acl number 3000
rule 5 deny ip source 10.1.12.1 0 destination 7.7.7.7 0 //过滤10.1.12.1到7.7.7.7的流量;
b、将ACL调用到traffic-filter,并且在接口下调用;
interface GigabitEthernet0/0/0
traffic-filter inbound acl 3000 //接口下调用,因此只能对接收的流量生效,对本地产生的流量不生效;
(2)策略路由(PBR)
作用:控制本地流量转发路径;
实现步骤
a、通过ACL匹配需要控制的流量,动作为permit的流量会被匹配上;
acl number 3000
rule 5 permit ip source 2.2.2.2 0 destination 7.7.7.7 0
b、
[R2]policy-based-route 2to7 permit node 10 //创建策略路由2to7,节点10
if-match acl 3000 //指定ACL 3000作为匹配条件
apply ip-address next-hop 10.1.24.4 //将匹配上的流量,从下一跳10.1.24.4转发出去;
c、在全局下调用
[R2]ip local policy-based-route 2to7 //全局下调用,只能对本设备产生的流量生效,对接收到的流量不生效;
匹配规则:
(1)根据node号,由小到大进行匹配;
(2)根据if-match中的内容,匹配流量;
(3)通过apply指定执行动作;
(4)如果流量没有配任何node匹配上,则执行deny动作,默认按照路由表转发;
(5)当配置了多个if-match时,必须同时满足了所有if-match条件,才能执行动作;
if-match之间的关系为:与
node之间的关系为:或
(3) MQC(模块化QOS命令行)
作用:控制接收到的流量的转发路径
实现步骤
a、通过ACL将需要控制的流量匹配出来,在流分类中调用;
acl number 3000
rule 5 permit ip source 2.2.2.2 0 destination 7.7.7.7 0
rule 10 permit ip destination 7.7.7.7 0
traffic classifier a //创建流分类a
if-match acl 3000 //调用ACL3000作为匹配条件
b、创建流行为,定义动作
traffic behavior a
redirect ip-nexthop 10.1.24.4 //将流量发往10.1.24.4
c、创建流策略,将流分类以及流行为进行绑定
traffic policy a
classifier a behavior a
d、接口下调用
interface GigabitEthernet0/0/0
traffic-policy a inbound //控制流量走向的策略,只能在接口的入方向调用;
**接口下调用,仅能对收到的流量生效,无法对本地产生的流量生效;
ACL匹配流量时的注意事项:
1、根据规则号由小到大进行匹配,匹配上执行动作;
2、如果应用于traffic-filter,默认动作为permit;
应用于PBR、MQC时,默认动作为deny;
——————————
路由控制
特点:作用于控制层面/路由层面;
直接影响路由表;
步骤:
1、匹配工具将需要控制的流量匹配出来;(ACL、地址前缀列表)
2、调用匹配工具到路由控制工具上;(路由策略、过滤策略)
3、设备调用;(需要在路由协议中调用)
匹配工具:
1、ACL
注意事项:
(1)ACL匹配路由,只能用基本ACL,基于源ip匹配;
(2)ACL用于匹配路由时,默认动作为deny;
2、地址前缀列表
[R5]ip ip-prefix a index 10 permit 6.6.6.6 32 //匹配路由6.6.6.6/32
匹配规则:
(1)根据index号,由小到大进行匹配;
(2)默认动作为deny,不匹配;
(3)指定的掩码在指定的掩码范围里,掩码就参与规则制定;
(4)只指定了greater-equal,没指定less-equal ,less-equal 以32进行计算。
(5)只指定了less-equal ,没指定greater-equal,greater-equal按照0计算。
ip ip-prefix b index 10 permit 192.168.1.0 25 greater-equal 25 less-equal 27 //匹配192.168.1.0,掩码为25~27位路由;
ip ip-prefix b index 10 permit 192.168.1.0 26 greater-equal 25 less-equal 27 //匹配192.168.1.0,掩码为26~27位路由;
ip ip-prefix b index 10 permit 192.168.1.0 24 greater-equal 25 less-equal 27 //匹配192.168.1.0,掩码为25~27位路由;
ip ip-prefix b index 10 permit 192.168.1.0 25 greater-equal 26 //匹配192.168.1.0,掩码为26~32位路由;
ip ip-prefix b index 10 permit 192.168.1.0 25 less-equal 28 //匹配192.168.1.0,掩码为25~32位路由;
ip ip-prefix b index 10 permit 0.0.0.0 0 less-equal 32 //匹配所有路由
缺陷:无法灵活匹配奇偶路由
1.1.1.1/32
1.1.1.2/32 acl 2000 ——>rule 5 p s 1.1.1.1 0.0.0.254 //匹配1.1.1.x,x为奇数的路由
.....
1.1.1.100/32
路由策略(route-policy)
作用:可以控制路由的传递,以及修改路由的属性;
调用:ospf isis在引入时调用,或者修改优先级时调用;
BGP可以peer邻居时调用;
配置:
[R5]ip ip-prefix a index 10 permit 6.6.6.6 32 //匹配路由6.6.6.6/32
[R5]route-policy a permit node 10 //创建路由策略a,节点10,动作为permit(代表不过滤)
if-match ip-prefix a //调用地址前缀列表a,作为匹配条件
apply tag 20 //将被匹配的路由,打上tag 10;
route-policy a permit node 20 //创建空节点20,代表匹配所有路由,动作为permit,不过滤;
ospf 1 router-id 5.5.5.5
import-route static route-policy a //引入路由时调用;
匹配规则:
(1)根据node号,由小到大进行匹配;
(2)根据if-match中的内容,匹配流量;
(3)node中指定的permit或者deny,决定了流量是否被过滤,如果为permit,则不过滤,deny则过滤;
(3)通过apply指定执行动作,可以进行路由属性的修改(可选);
(4)如果路由没有配任何node匹配上,则执行deny动作,代表被过滤;
(5)当配置了多个if-match时,必须同时满足了所有if-match条件,才能执行动作;
if-match之间的关系为:与
node之间的关系为:或
过滤策略(filter-policy)
作用:只能过滤路由
应用:ospf、isis在进程下调用;
BGP在peer邻居时调用;
配置步骤
1、通过匹配工具,将需要过滤的路由deny掉,其余无需过滤的路由,permit;
ip ip-prefix 6 index 10 deny 6.6.6.6 32 //过滤6.6.6.6/32
ip ip-prefix 6 index 20 permit 0.0.0.0 0 less-equal 32 //其余不过滤
2、进程下调用
2.1 入方向
控制路由进入本设备的路由表,被匹配工具deny的路由无法进路由表;
ospf 1 router-id 1.1.1.1
filter-policy ip-prefix 6 import //入方向配置过滤策略,调用地址前缀列表6作为匹配工具;
2.2 出方向
控制路由引入动作,被匹配工具deny的路由,无法引入成功;
ospf 1 router-id 5.5.5.5
filter-policy ip-prefix 6 export //出方向配置过滤策略,调用地址前缀列表6作为匹配工具;