两套路由协议一互通全网段跟着全通?华为OSPF路由过滤按网段掐断
本文整理自华为官方发布的典型配置案例,命令与步骤均按原始文档呈现,供现场实施参考。
协议互引是把双刃剑:OSPF和RIP两个路由域在边界设备上互相引入路由,全网确实通了,可原本不想放的网段也跟着全通了——财务网段、合作方网段全在路由表里晃,访客侧一查一个准。互通是需求,隔离也是需求,中间差的正是路由过滤这一道闸。
OSPF的路由过滤用的是filter-policy,分两个方向,作用点不一样:import方向是在本机收路由时动手,被匹配命中的路由不进本机路由表,只影响自己,不影响邻居;export方向是对引入的外部路由动手——配合import-route把RIP等协议路由引入OSPF时,在引入动作上按规则过滤,注意这个参数只能在ASBR上生效。还有三条铁律要记:路由过滤只过滤路由表里的相关路由,并不是过滤OSPF通告的LSA;通信是双向的,把某一目的网段过滤后,本设备下联的其它网段无法访问这个网段,对方也回不来;配合ACL使用时,ACL末条规则必须是允许所有源地址通过,否则等于把所有网段路由全部过滤掉,网络直接断片。
以官方组网为例:DeviceE是OSPF与RIP的边界,先做协议互引:
[DeviceE] ospf 1
[DeviceE-ospf-1] import-route direct
[DeviceE-ospf-1] import-route rip 1
[DeviceE-ospf-1] quit
[DeviceE] rip 1
[DeviceE-rip-1] import-route direct
[DeviceE-rip-1] import-route ospf 1
[DeviceE-rip-1] quit
要求PC4所在网段(172.16.1.0/24)无法访问PC1、PC2、PC3。在DeviceE上建基本ACL,先deny目标网段,再permit放行其余,然后挂到OSPF引入RIP的出口上:
[DeviceE] acl number 2000
[DeviceE-acl4-basic-2000] rule 0 deny source 172.16.1.0 0.0.0.255
[DeviceE-acl4-basic-2000] rule 5 permit
[DeviceE-acl4-basic-2000] quit
[DeviceE] ospf 1
[DeviceE-ospf-1] filter-policy 2000 export rip 1
[DeviceE-ospf-1] quit
OSPF域内部同理。要求PC1网段无法访问PC2,就在路径上的DeviceC用import方向过滤;要求PC2、PC3网段无法访问PC5,就在DeviceD照同样写法再来一份:
[DeviceC] acl number 2000
[DeviceC-acl4-basic-2000] rule 0 deny source 10.10.2.0 0.0.0.255
[DeviceC-acl4-basic-2000] rule 5 permit
[DeviceC-acl4-basic-2000] quit
[DeviceC] ospf 1
[DeviceC-ospf-1] filter-policy 2000 import
[DeviceC-ospf-1] quit
效果验证直截了当:从DeviceF用源地址172.16.1.1去Ping PC1、PC2、PC3的网关地址,全部超时不通;从DeviceC、DeviceD按各自需求分别Ping,目标网段不通而其余照常。路由表里查不到被过滤的条目,但协议邻接关系一切正常——这正是路由过滤与接口ACL的区别:闸门装在路由学不学这一层,不碰数据转发本身。
按网段收口路由传播,比出事后翻防火墙日志省心得多。给多部门、多协议混跑的客户做路由加固时,filter-policy的import与export是按谁能学我、我要学谁两张清单逐台落的,边界清楚,扩容才不乱。欢迎搜索关注贵州诚鑫致达科技,了解更多路由加固实战配置。