前言
前文我们初步了解了重发布技术的技术的工作流程及配置方法,在解决路由回馈问题的同时,路由回馈,选路不佳问题仍然没有得到有效解决,接下来通过对路由策略的深入了解来解决选路不佳的问题。
路由策略的目的:干涉选路
路由策略:干涉选路
路由测略:网络中用于指定数据包应该如何转发的规则集合,在控制层流量流动的过程中,截取流量,修改流量再转发或者不转发流量,以达到影响路由表生成的目的,干涉路由。
控制层流量:
路由协议传递路由信息产生的流量。
数据层流量:
数据层流量是指在网络中传输的数据包,这些数据包包含了应用程序的信息和用户数据。数据层流量是指传输层以及以上的协议所处理的数据,设备访问目标地址时产生的数据流量。数据层流量可以是各种类型的数据,如HTTP、HTTPS、FTP、SMTP等协议的数据,也可以是音频、视频、图像等多媒体数据。
流量抓取:
ACL:本身作用在限制数据层流量进出,也可以用来抓取控制层流量,只能通过数字进行匹配,无法匹配网段中的掩码信息,因此无法精确匹配。
拓扑图:
一.前缀列表:
匹配原则:自上而下,逐一匹配,如果匹配上则按照对应动作执行,否则继续向下匹配,在末尾隐含一条拒绝所有的规则
配置命令:
#创建前缀列表
[r4]ip ip-prefix 1 permit 14.0.0.0 24
#查看前缀列表
[r4]display ip ip-prefix 1
#ACL列表抓取控制层流量
[r4]rule permit source 14.0.0.0 0
#根据序号插入规则
[r4]ip ip_prefix 15 permit 192.168.3.0 24
#根据序号删除规则
[r4]undo ip-prefix aa index 15
#抓取目标网段为3.0掩码长度为24到28的路由
[r4]ip ip-prefix aa permit 192.168.3.0 24 less- equal 28
#24 代表前24位固定 28代表掩码的范围>28
[r4]ip ip-prefix aa permit 192.168.3.0 24 greater- equal 28
#例:想要抓取172.16.1.0/172.16.2.0/172.16.3.0 配置命令
[r4]ip ip-prefix aa permit 192.168.3.0 16 greater- equal 28
#抓取前24位固定即192.168.3,掩码长度为25-27的网段
[r4]ip ip-prefix aa permit 192.168.3.0 24 greater- equal 25 less-equal 27
#放通所有网段
[r4]ip ip-prefix aa permit 0.0.0.0 0 less- equal 32
#抓取所有主机路由
[r4]ip ip-prefix aa permit 0.0.0.0 0 greater- equal 32
#抓取缺省路由
[r4]ip ip-prefix aa permit 0.0.0.0 0
二.偏移列表
偏移列表是一种适用于距离矢量型协议的路由策略,偏移列表通过人为增加(不能减小)某条路由条目的开销值(metric)来影响选路。
当R1上的数据想要访问23.0.0.0网段时,由于路由回馈造成的选路不佳,导致数据包在RIP区域时无论下一条是12.0.0.2还是14.0.0.2,开销值都为1,因此会发生负载均衡。实际上,数据包下一跳是12.0.0.2开销值更小,因此想要彻底解决路由回馈造成的选路不佳问题,可以通过偏移列表增加14.0.0.0网段的开销值,迫使数据包从12.0.0.0网段发送至23.0.0.0网段。
解决办法:在出方向/入方向路由器修改路由条目的开销值
什么是出方向/入方向路由器?
例如,当一个数据包要访问23网段的时候,开销值会直接影响R1的选路,因此开销值有直接影响的路由器为入方向路由器,反之则为出方向路由器,上图中,R1为入方向路由器,R4为出方向路由器。
配置命令:
出方向路由器配置
#通过前缀列表抓取23网段的流量
[r4]ip ip-prefix aa permit 23.0.0.0 24
#在出方向路由器做偏移列表
[r4-GigabitEthernet0/0/0]rip metricout ip-prefix aa 2
#其中 ip-prefix aa 代表调用前缀列表aa来给访问特定网段的增加开销值
#RIP协议中cost=本地理由开销值信息+1 命令中的2代表将+1改为+2
入方向路由器配置
[R1]ip ip-prefix aa permit 34.0.0.0
[R1-GigabitEthernet0/0/0]rip metricin ip-prefix aa 2
#2代表下一跳的网段开销值改为3 在原来1的基础上加2
三.过滤列表
注:在OSPF中只能在入方向调用不能再出方向调用
在入方向路由器作策略:在入方向路由器R1抓取流量使得R1路由器不转发抓取的流量
#过滤列表需要借助前缀或ACL来抓取流量实现过滤功能
[r1]ip ip-prefix cc deney 4.4.4.0 24
#前缀列表默认隐含一条拒绝所有流量的规则,需要再写一条允许所有流量的规则
[r1]ip ip-prefix cc permit 0.0.0.0 less-equal 32
#做过滤列表
#过滤0/0/0接口发往4.4.4.0网段的流量
[r1-rip-1]filter-policy ip-prefix cc import GigabitEthernet 0/0/0
在出方向路由器做策略:
#使用ACL列表抓取流量
[r2]acl 2000
[r2-acl-basic-2000]rule deney source 4.4.4.0 0
#添加允许所有的命令---ACL列表隐含一条拒绝所有的命令
[r2-acl-basic-2000]rule permit source any
#做过滤列表
[r2-rip-1]filter-policyacl 2000 export GigabitEthernet 0/0/0 # ? 号查看可精确限制的内容
优先使用偏移列表而非过滤列表的原因:
偏移列表仅仅是将网段的开销值增大,当其中一条网段不通之后,数据仍然可以走开销值相对较大的一条,而过滤列表则是只留一条最优的路由,拒绝剩下所有的路由,当保留的网段不通时,数据将无法转发。
四.路由策略---route-policy
实验要求:
- 拒绝学习1.1.1.0网段路由信息
- 将2.2.2.0开销值(种子度量值)改为2
- 将3.3.3.0开销值类型改为1
- 将4.4.4.0开销值类型改为1并打上标记为666
抓取流量:
#acl抓取流量
[r2-acl-basic-2000]rule permit source 1.1.1.0 0
[r2]acl 2001
[r2-acl-basic-2001]rule permit source 2.2.2.0
#前缀列表抓取流量
[r2]ip ip-perfix aa permit 3.3.3.0 24
[r2]ip ip-perfix bb [ermit 4.4.4.0 24
做路由策略:
#创建名为aa序号为10的路由策略完成要求1
[r2]route-policy aa deney node 10
#匹配acl 2000 抓取的流量
[r2-route-policy]if-match acl 2000
#继续做新的策略完成要求2
[r2]route-policy aa permit node 20
[r2-route-policy]if-match acl 2001
#执行小动作修改开销值
[r2-route-policy]apply cost 2
#继续做新的策略完成要求3
[r2]route-policy aa permit node 30
[r2-route-policy]if-match ip-prefix aa
#执行小动作修改开销值类型
[r2-route-policy]apply cost-type type-1
#调用路由策略
[r2-ospf-1]import-route rip route-policy aa