概述
定义
- 通过一系列工具或者方法对路由进行各种控制的“策略”
- 影响路由的产生、发布、选择等,进而影响报文的转发路径
目的
图示
图表
目的 | 备注 |
---|---|
对路由进行过滤 | 要不要这条路由 |
修改路由属性 | 将某条路由的某个属性值修改,达到修改路由选路的目的 |
作用
- 控制路由的接收、打不以及引入,保证网络的安全性
- 修改路由属性,对网络流量进行合理规划,提高网络性能
实现机制
路由策略的核心机制 是过滤器,通过过滤器定义一组匹配规则
图表
过滤器 应用范围 访问控制列表(ACL) 各个动态路由协议 地址前缀列表(IP-Prefix List) 各个动态路由协议 AS路径过滤器(AS-Path-Filter) BGP协议 团体属性过滤器(Community Filter) BGP协议 扩展团体属性过滤器(Extcommunity-Filter) VPN RD属性过滤器(Router Distinguisher-Filter) VPN 路由策略(Route-Policy) 各个动态路由协议 Route-policy可以使用前面6种过滤器定义自己的匹配规则,不仅可以匹配路由路径,还可以修改路由属性
路由策略各个工具之间的调用关系
图示
图表
类型 | 备注 |
---|---|
条件工具 | 把需要的路由给“抓取”出来 |
策略工具 | 被“抓取”出来的路由执行哪些操作(允许、拒绝、修改属性) |
调用工具 | 将路由策略执行在某个具体的路由协议里面,或者其他配置中,使得路由策略生效 |
条件工具
ACL
前面已经讲过。这省略了………..
IP-Prefix List
概述
内容
- 能同时精确匹配网络号与子网掩码
- 性能以及可控性比ACL更高(ACL无法精确网络号以及子网掩码)
- 前缀列表不能用于过滤数据包
图示
规则
执行流程(所有条件都不匹配,默认是拒绝)
语法规则
路由信息首先匹配P-Prefix List第一条I,如果是允许操作,则直接接收或者发送路由信息
如果拒绝操作,则匹配IP-Prefix List第二条,依次这样执行
如果全部都不匹配,则执行拒绝操作,不会接收或者发送路由信息
图示
图表
语法规则 备注 不配置greater-equal和less-equal 前缀长度=16 配置greater-equal 前缀长度=24~32 配置less-equal 前缀长度=16~28 配置greater-equal和less-equal 前缀长度=24~28
案例分析
图示
图表
配置 结果 permit 10.0.0.0 24 仅匹配10.0.0.0/24 不匹配其他网络 permit 10.0.0.0 24 greater-equal 25 匹配10.0.0.0/24区间内的掩码大于25而小于32的网段 permit 10.0.0.0 24 greater-equal 25 less-equal 30 匹配10.0.0.0/24区间内掩码大于25而小于30的网段 permit 0.0.0.0 0 greater-equal 16 less-equal 24 .0.0.0 0 区间内掩码是大于16小于24的任意网络 IP prefix-list test permit 10.0.0.0 24 less-equal 32 10.0.0.0/24区间内路由通过过滤,其他的路由不能通过 IP prefix-list test index 10 permit 10.0.0.0 24
IP prefix-list test index 20 permit 11.0.0.0 16只允许 10.0.0.0/24和11.0.0.0/16能够通过过滤,
其他路由不可以
特殊路由
特殊路由 备注 0.0.0.0 0 less-equal 32 匹配所有路由 0.0.0.0 0 缺省路由 主机地址 32 主机路由 0.0.0.0 0 greater-equal 32 表示只匹配所有主机路由
练习
192.168.4.0/24,192.168.5.0/24,192.168.6.0/24,192.168.7.0/24,最简洁的方式匹配这四个路由
IP prefix-list test permit 192.168.4.0/22 greater-equal 24 less-equal 24
171.10.0.0/24,171.10.0.0/24,171.10.0.0/24,171.10.0.0/24四条路由用最少命令实现
ip ip-prefix test permit 172.10.0.0/22 greater-equal 24 less-equal 24
实验
拓扑
配置
R1配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
ospf 1 router-id 1.1.1.1
# OSPF中应用IP-Prefix过滤出口路由
filter-policy ip-prefix wuchao export
import-route static
area 0
net 12.0.0.1 0.0.0.0
ip route-static 192.168.0.0 16 NULL 0
ip route-static 192.168.0.0 30 NULL 0
ip route-static 192.168.0.0 24 NULL 0
ip route-static 192.168.1.0 24 NULL 0
ip route-static 192.168.2.0 24 NULL 0
ip route-static 192.168.3.0 24 NULL 0
# 配置IP-Prefix路由策略
ip ip-prefix wuchao permit 192.168.0.0 22 greater-equal 24 less-equal 24
# 当有一个不要,其他的都要的,一定要记得写全部的
ip ip-prefix wuchao permit 0.0.0.0 0 less-equal 32
R2配置
1
2
3
4
5
6
7sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
ospf 1 router-id 2.2.2.2
area 0
net 12.0.0.2 0.0.0.0
验证
没有配置前的路由
配置IP-Prefix之后的路由
策略工具
调用工具
Filter-Policy
概述
内容
- 一种常用的路由过滤工具
- 只能过滤路由,不能过滤LSA
- 不能修改路由属性
图示
图表
路由类型 路由传递原理 距离矢量 过滤路由的发送和接收 链路状态 过滤路由表的生产,不影响LSDB的完整性
不同路由类型的Filter-Policy
距离矢量
链路状态
OSPF5类LSA执行的Export才可以起作用
LSA形成LSDB,LSDB生成路由表,在LSDB生成路由表的过程中对路由进行过滤属于入方向的过滤
当前路由器给本区域呢的其他路由器发送DD包,来同步LSDB时候,对路由进行过滤属于出方向过滤
OSPF同一区域
Type 1的LSA泛洪给同一个区域内的所有路由器,在LSDB生成路由表的时候,执行路由过滤策略,此时该路由器的路由表中没有Type 1的路由信息
因为LSDB的路由信息并没有变化,泛洪给同区域内的所有OSPF路由也没有变化,其他的路由器中还是会有Type 1的LSA
OSPF区域间
OSPF区域间路由策略会有Type 3 LSA,而Type 3 LSA是有ABR的路由表生成的,在ABR的LSDB生成路由表之前使用路由过滤策略,此时Type 3 LSA将不包括被过滤的路由,同时其他区域也不包括此条路由
RIP路由过滤
总结
RIP
OSPF
实验
RIP实验
拓扑
配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35# R1配置
sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
int lo 1
ip add 1.0.0.1 24
int lo 2
ip add 2.0.0.1 24
int lo 3
ip add 3.0.0.1 24
acl 2000
rule 1 permit source 1.0.0.0 0.0.0.255
rule 2 permit source 2.0.0.0 0.0.0.255
rip 1
version 2
net 12.0.0.0
net 1.0.0.0
net 2.0.0.0
net 3.0.0.0
filter-policy 2000 export
# R2配置
sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
ip ip-prefix wuchao deny 2.0.0.0 16 greater-equal 24 less-equal 24
ip ip-prefix wuchao permit 0.0.0.0 0 less-equal 32
rip 1
version 2
net 12.0.0.0
filter-policy ip-prefix wuchao import
验证
OSPF同区域实验
拓扑
配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43# R1配置
sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
int lo 0
ip add 11.0.0.1 24
# 过滤自己发给邻居的5类LSA
ip ip-prefix wuchao deny 2.0.0.0 8 greater-equal 24 less-equal 32
ip ip-prefix wuchao permit 0.0.0.0 0 less-equal 32
ip route-static 1.0.0.0 24 NULL 0
ip route-static 2.0.0.0 24 NULL 0
ip route-static 3.0.0.0 24 NULL 0
ip route-static 2.0.0.0 8 NULL 0
ospf 1 router-id 1.1.1.1
area 0
net 12.0.0.1 0.0.0.255
net 11.0.0.0 0.0.0.255
import-route static
filter-policy ip-prefix wuchao export
# R2配置
sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
acl 2000
# 过滤邻居泛洪的5类LSA
rule 1 deny source 1.0.0.0 0.0.0.255
# 过滤邻居泛洪的1类LSA
rule 2 deny source 11.0.0.0 0.0.0.255
rule 3 permit source any
ospf 1 router-id 2.2.2.2
filter-policy 2000 import
area 0
net 12.0.0.2 0.0.0.255
验证
1类2类LSA过滤策略前
1类2类LSA过滤策略后
5类LSA过滤前
5类LSA过滤后
OSPF不同区域间实验
拓扑
配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61# R1配置
sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
int lo 0
ip add 11.0.0.1 24
int lo 2
ip add 21.0.0.1 24
# 将自己的5类LSA屏蔽
acl 2000
rule 1 deny source 1.0.0.0 0.0.0.255
rule 2 permit source any
ip route-static 1.0.0.0 24 NULL 0
ip route-static 2.0.0.0 24 NULL 0
ip route-static 3.0.0.0 24 NULL 0
ip route-static 2.0.0.0 8 NULL 0
ospf 1 router-id 1.1.1.1
import-route static
filter-policy 2000 export
area 0
net 12.0.0.1 0.0.0.255
net 11.0.0.0 0.0.0.255
net 21.0.0.0 0.0.0.255
#R2配置
sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int g0/0/1
ip add 23.0.0.1 24
# 过滤邻居的五类LSA
ip ip-prefix wuchao deny 2.0.0.0 8 greater-equal 24 less-equal 32
ip ip-prefix wuchao permit 0.0.0.0 0 less-equal 32
ospf 1 router-id 2.2.2.2
filter-policy ip-prefix wuchao import
area 0
net 12.0.0.2 0.0.0.255
area 1
net 23.0.0.1 0.0.0.255
#R3配置
sys
sys R3
int g0/0/0
ip add 23.0.0.2 24
ip ip-prefix wuchao deny 3.0.0.0 24
ip ip-prefix wuhcao permit 0.0.0.0 0 less-equal 32
# 过滤area0中的1类LSA
ip ip-prefix wuchao deny 21.0.0.0 24
ospf 1 router-id 3.3.3.3
filter-policy ip-preix wuchao import
area 1
net 23.0.0.2 0.0.0.255
验证
area 0 过滤自己的5类LSA,area1中收不到路由
OSPF中ABR过滤区域0内的5类LSA
OSPF中ABR过滤area 01类LSA影响
OSPF1区域1内过滤area0中1类LSA需要ABR中先过滤,否则不起作用