前面我们学习了路由匹配工具,然后可以配合其它工具针对匹配到的路由进行操作。
一、Filter-Policy过滤策略
Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。
如图所示,R1、R2、R3之间运行BGP路由协议,路由在各个设备之间传递,当需要根据实际需求过滤某些路由信息的时候可以使用Filter-Policy实现。
在学习前面我们要有一个概念,数据或者路由信息传递是有方向性的,而且具有相对性。如R1访问R3,流量路径在R1接口上是export出口,在R2上是import和export,在R3上是import方向。
二、Filter-Policy在距离矢量路由协议中的应用
前面我们学习了RIP路由协议,这个是属于动态路由协议里的距离矢量路由协议,路由器间直接交互路由信息。距离矢量协议是基于路由表生成路由的,因此过滤器会影响从邻居接收的路由和向邻居发布的路由。
如果要过滤掉上游设备到下游设备的路由,只需要在上游设备配置filter-policy export或者在下游设备上配置filter-policy import。
我们上面说了有出口和入口那就有两个方式:
-
在AR1的G0口export方向 -
在AR2的G0口import方向
# 基础RIP配置省略,参考历史文章
# RIP配置,过滤策略在RIP视图使用,方向指定export
rip 1
version 2
network 1.0.0.0
network 10.0.0.0
network 192.168.1.0
network 192.168.2.0
filter-policy ip-prefix deny1 export
# 配置前缀列表deny1 节点10拒绝1网段,节点20允许所有
ip ip-prefix deny1 index 10 deny 192.168.1.0 24
ip ip-prefix deny1 index 20 permit 0.0.0.0 0
# 在AR3查看路由表
<AR3>dis ip routing-table pro rip
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : RIP
Destinations : 4 Routes : 4
RIP routing table status : <Active>
Destinations : 4 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 RIP 100 2 D 10.1.23.2 GigabitEthernet
0/0/1
2.2.2.2/32 RIP 100 1 D 10.1.23.2 GigabitEthernet
0/0/1
10.1.12.0/24 RIP 100 1 D 10.1.23.2 GigabitEthernet
0/0/1
192.168.2.0/24 RIP 100 2 D 10.1.23.2 GigabitEthernet
0/0/1
RIP routing table status : <Inactive>
Destinations : 0 Routes : 0
查看路由表发现没有192.168.1.0/24,其它的都正常。也可以采用第二种方式在AR2上配置import方向的过滤。
三、Filter-Policy在链路状态路由协议中的应用
在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计算出路由表。但是Filter-Policy只能过滤路由信息,无法过滤LSA。以最常见的OSPF为例,各路由器通过交互LSA,自行计算出最优路由加入路由表,因此过滤列表是在交互完LSA,计算出路由后,加入路由表这个过程进行过滤。
Filter-Policy对OSPF计算出来的路由(加载到路由表之前)进行过滤,而不会对LSA进行过滤。
简单说就是在链路状态协议中是不能过滤接收和发送的路由,比如下面的示例只能拒绝1网段加入路由表,而且不会影响通告给AR3。
示例:
# AR2的配置OSPF
ospf 1
filter-policy ip-prefix deny1 import
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.23.0 0.0.0.255
# 通过前缀列表匹配路由信息
ip ip-prefix deny1 index 1 deny 192.168.1.0 24 greater-equal 24 less-equal 32
ip ip-prefix deny1 index 10 permit 0.0.0.0 0 less-equal 32
# AR2上的LSA是不受影响的
Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 773
Len : 72
Options : E
seq# : 80000007
chksum : 0x14f4
Link count: 4
* Link ID: 1.1.1.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
* Link ID: 10.1.12.1
Data : 10.1.12.1
Link Type: TransNet
Metric : 1
* Link ID: 192.168.1.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
* Link ID: 192.168.2.1
Data : 255.255.255.255
Link Type: StubNet
Metric : 0
Priority : Medium
# OSPF的路由表也在,但是不会加入全局路由表中
[AR2]dis ospf routing
OSPF Process 1 with Router ID 2.2.2.2
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
2.2.2.2/32 0 Stub 2.2.2.2 2.2.2.2 0.0.0.0
10.1.12.0/24 1 Transit 10.1.12.2 2.2.2.2 0.0.0.0
10.1.23.0/24 1 Transit 10.1.23.2 2.2.2.2 0.0.0.0
1.1.1.1/32 1 Stub 10.1.12.1 1.1.1.1 0.0.0.0
3.3.3.3/32 1 Stub 10.1.23.3 3.3.3.3 0.0.0.0
192.168.1.1/32 1 Stub 10.1.12.1 1.1.1.1 0.0.0.0
192.168.2.1/32 1 Stub 10.1.12.1 1.1.1.1 0.0.0.0
# 全局路由表
[AR2]dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 3 Routes : 3
OSPF routing table status : <Active>
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 1 D 10.1.12.1 GigabitEthernet
0/0/0
3.3.3.3/32 OSPF 10 1 D 10.1.23.3 GigabitEthernet
0/0/1
192.168.2.1/32 OSPF 10 1 D 10.1.12.1 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
这种情况下就是AR2在全局最优路由表没有192.168.1.0/24,AR3正常获取到192.168.1.0/24路由但是无法通信。
过滤列表可以用于控制路由协议是否接收或发布路由信息,结合ACL访问控制列表和前缀列表实现,在OSPF/RIP路由协议中引用。
四、路由重分布中的应用
# IS-IS配置引入ospf 1,然后调用过滤策略对导入的ospf路由重新发布到IS-IS时进行过滤
isis 1
is-level level-2
network-entity 49.0001.0000.0002.00
filter-policy ip-prefix deny1 export
import-route ospf 1
# OSPF导入isis路由不进行限制
ospf 1
import-route isis 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.12.0 0.0.0.255
# 定义前缀列表匹配192.16.1.0/24
ip ip-prefix deny1 index 1 deny 192.168.1.0 24 greater-equal 24 less-equal 32
ip ip-prefix deny1 index 10 permit 0.0.0.0 0 less-equal 32
AR3只有2网段路由信息。
五、基础配置
# 在OSPF中的应用,设置OSPF对接收的路由进行过滤
[Huawei-ospf-100] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name [ secondary ] } import
# 设置对引入的路由在向外发布时进行过滤。
[Huawei-ospf-100] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ]
# IS-IS
[Huawei-isis-1] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } import
[Huawei-isis-1] filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ]
总结:过滤列表用于控制路由协议发送和接收的路由信息,针对距离矢量路由协议和链路状态路由协议稍微有点不同。原理是先使用匹配工具匹配到,然后在路由协议的import或者export方向调用即可。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布