拓扑概述如下:
问题点:
(图片可放大查看)
(1)对于蓝色框中的业务直连路由进行汇总,SW2只学习到汇总路由。
(2)对于紫色框中的业务直连路由保持原样,SW2仍学习到明细路由。
第 1 步,搭建实验拓扑
# 拉通OSPF部分
interface Vlanif1
ip address 12.1.1.1 255.255.255.0
ospf 1
area 0.0.0.0
network 12.1.1.1 0.0.0.0
# 业务直连部分(以1段为例,其它类推)
interface Vlanif11
ip address 10.0.0.1 255.255.255.248
interface GigabitEthernet0/0/11
port link-type access
port default vlan 11
# ……
SW2主要配置:
interface Vlanif1
ip address 12.1.1.2 255.255.255.0
ospf 1
area 0.0.0.0
network 12.1.1.2 0.0.0.0
实现效果是每台PC都能ping通自己网关,不能ping通SW2的接口地址12.1.1.2。
第 2 步,SW1中OSPF引入直连路由
# SW1
ospf 1
import-route direct
第 3 步,使用asbr-summary汇总
# SW1
ospf 1
asbr-summary 10.0.0.0 255.255.255.0
此后我们跑去SW2看路由表,就会看到10.0.0.0/24段的已完成汇总,不涉及到的业务直连网段依然是以明细的形存在于路由表中。
第 4 步,使用静态路由引入做汇总
# SW1
ospf 1
undo asbr-summary 10.0.0.0 255.255.255.0
我再把10.0.0.0/24网段的静态路由整理下,实际变成一条黑洞路由,指令如下。
# SW1
ip route-static 10.0.0.0 255.255.255.0 NULL0
# SW1
ospf 1
undo import-route direct
import-route static
第 5 步,同时引入直连和静态
# SW1
# 这条静态上一步已经有了
ip route-static 10.0.0.0 255.255.255.0 NULL0
ospf 1
import-route direct
import-route static
第 6 步,带策略的静态路由引入
ip ip-prefix STATICED index 10 permit 10.0.0.0 24 greater-equal 24 less-equal 32
名为STATICED的ip前缀列表,索引10有一项,它允许路由的前24位严格匹配10.0.0,而路由掩码可以在32位到24位之间。我命名它为STATICED是表达已经写过静态汇总路由了。
# 路由策略节点10,拒绝掉那些已写静态黑洞路由做汇总的直连网段。
route-policy STATICED deny node 10
if-match ip-prefix STATICED
# 路由策略节点20,放通节点10没匹配中的其它直连网段。
route-policy STATICED permit node 20
# 注1:节点20在华为设备,默认动作是放行,友商设备则不一定。
# 注2:关于这种策略要在哪里拒绝,哪里放行,实施方式并不统一,可尝试不通写法。
好了,最后就是在OSPF引入直连路由的时候,调用这个STATICED路由策略。
ospf 1
import-route direct route-policy STATICED
import-route static
好了!算是把这需求给满足了。此后,直连路由引入可逐步继续梳理变成静态路由汇总引入。稳步推进!