当前位置: 首页 > news >正文

OSPF协议详解4:实验 - OSPF区域、网络类型与高级路由控制实践

在这里插入图片描述

本文内容涵盖OSPF普通区域与特殊区域(Stub、Totally Stubby、NSSA、Totally NSSA)的配置与LSA行为分析。同时,深入探讨了不同接口网络类型(广播、点到点、非广播、点到多点)对DR/BDR选举和计时器的影响。此外,文档还详细阐述了默认路由的生成、域间和外部路由汇总,以及域内、域间和外部路由过滤等高级路由控制技术,并通过配置示例和show命令输出进行了验证。

实验配置基于Cisco CSR1000V的IOSXE 17.03.08a作为路由器的镜像,实验拓扑如上。

1. OSPF区域

1.1 普通区域

为了使OSPF运行起来,至少需要配OSPF进程和运行OSPF的接口。

  • 配置运行OSPF的接口:
    • 可以通过在OSPF进程下通告网段,在这个网段下的接口都会运行OSPF。
    • 或是在接口下配置OSPF,则这个接口所属的网段会被通告到OSPF。
  • 配置RID:
    • 如果是手工配置了RID,则使用手工配置的RID。
    • 如果没有配置RID。
      • 如果配置了Loopback接口,则选择IP最大的Loopback接口地址。
      • 如果没有配置Loopback接口,则选择IP最大的物理接口地址。
    • 一般选定了RID,即使是RID所属的接口Down了,RID也保持不变。
    • 只有重启OSPF进程或是路由器重启,才会重新选取RID。
  • 配置运行OSPF的接口:
    • 在OSPF进程下network接口所属的网段和其所属的区域。
    • 或是在接口下配置接口所属的OSPF进程和区域。
R3(config-router)# router ospf 1
R3(config-router)# router-id 1.1.1.1
R3(config-router)# network 172.16.0.0 0.0.0.255 area 0R3(router)# interface GigabitEthernet1
R3(router-if)# ip ospf 1 area 0R3# show ip ospf interface brief 
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          1     0               1.1.1.1/32         1     LOOP  0/0
Gi2          1     0               172.16.0.5/30      1     DR    0/0
Gi1          1     0               172.16.0.1/30      1     DR    0/0R3# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           1   FULL/BDR        00:00:38    172.16.0.1      GigabitEthernet1

1.2 特殊区域

虽然要求链路两端的配置要一致,但在实验中,只在ABR上设置好区域,它所连的非骨干区域就已经被限制了。在清理完OSPF进程后,邻居关系依然存在。但实际上还是要保持一致的。

1.2.1 Stub区域

  • 查看拓扑信息会看到本区域是Stub。
  • 会有一条ABR自动下发的默认路由。
  • 3类LSA是存在的,默认路由也属于3类SLA。
# 配置区域3为Stub
R4(config-router)# network 172.16.3.0 0.0.0.255 area 3
R4(config-router)# area 3 stub R31#show ip ospf topology-info Area 3It is a stub area# 从ABR处学到了默认路由        
R31#show ip route ospf
O*IA  0.0.0.0/0 [110/2] via 172.16.3.1, 00:04:58, GigabitEthernet1# Stub区域包括3类LSA
R31#show ip ospf databaseSummary Net Link States (Area 3)Link ID         ADV Router      Age         Seq#       Checksum
0.0.0.0         1.1.1.4         528         0x80000001 0x0081B5
1.1.1.1         1.1.1.4         528         0x80000001 0x005DD4# 默认路由是3类LSA
R31#show ip ospf database summary 0.0.0.0 OSPF Router with ID (1.1.1.31) (Process ID 1)Summary Net Link States (Area 3)LS age: 613Options: (No TOS-capability, DC, Upward)LS Type: Summary Links(Network)Link State ID: 0.0.0.0 (summary Network Number)Advertising Router: 1.1.1.4LS Seq Number: 80000001Checksum: 0x81B5Length: 28Network Mask: /0MTID: 0         Metric: 1 

1.2.2 完全Stub区域

  • 与Stub区域的区别是,只能收到一条默认路由的3类LSA。
  • 在查看拓扑信息与Stub区域显示的一样。并不会标准no-summary。
R4(config-router)# area 3 stub no-summary# 查看3类LSA,只有一条默认路由的
R31#show ip ospf database summary OSPF Router with ID (1.1.1.31) (Process ID 1)Summary Net Link States (Area 3)LS age: 211Options: (No TOS-capability, DC, Upward)LS Type: Summary Links(Network)Link State ID: 0.0.0.0 (summary Network Number)Advertising Router: 1.1.1.4LS Seq Number: 80000002Checksum: 0x7FB6Length: 28Network Mask: /0MTID: 0         Metric: 1 

1.2.3 NSSA区域

  • ASBR在将BGP重分布进OSPF后生成了一条7类LSA。
  • 在区域2的其他路由器上已经可以看见O N2的路由了。
  • 连接到Area 0的ABR将7类LSA转换成5类LSA。
  • 没有自动生成默认路由。有3类LSA。
# ASBR的OSPF重分布BGP的配置
R22#show run | s r os
router ospf 1area 2 nssaredistribute bgp 10# 在ASBR处,将OSPF和BGP进行双向重分布。
# 可以看见生成了一条7类LSA,Metric类型为2,Metric值为1。
R22#show ip ospf database nssa-external OSPF Router with ID (1.1.1.22) (Process ID 1)Type-7 AS External Link States (Area 2)LS age: 436Options: (No TOS-capability, Type 7/5 translation, DC, Upward)LS Type: AS External LinkLink State ID: 200.0.0.200 (External Network Number )Advertising Router: 1.1.1.22LS Seq Number: 80000001Checksum: 0x65B7Length: 36Network Mask: /32Metric Type: 2 (Larger than any link state path)MTID: 0 Metric: 1 Forward Address: 1.1.1.22External Route Tag: 200# 路由表里最优路径是从BGP处学来了,因为管理距离为20。
R22#show ip route 200.0.0.200
Routing entry for 200.0.0.200/32Known via "bgp 10", distance 20, metric 0Tag 200, type externalRedistributing via ospf 1Advertised by ospf 1 subnetsLast update from 10.0.200.2 00:13:58 agoRouting Descriptor Blocks:* 10.0.200.2, from 10.0.200.2, 00:13:58 agoopaque_ptr 0x7F652AD37430 Route metric is 0, traffic share count is 1AS Hops 1Route tag 200MPLS label: none# 在区域2的其他的路由器上可以看见一条O N2的路由。
R21#show ip route ospf | in N2N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
O N2     200.0.0.200 [110/1] via 172.16.2.6, 00:14:30, GigabitEthernet2R21#show ip route 200.0.0.200
Routing entry for 200.0.0.200/32Known via "ospf 1", distance 110, metric 1Tag 200, type NSSA extern 2, forward metric 2Last update from 172.16.2.6 on GigabitEthernet2, 00:13:15 agoRouting Descriptor Blocks:* 172.16.2.6, from 1.1.1.22, 00:13:15 ago, via GigabitEthernet2Route metric is 1, traffic share count is 1Route tag 200# NSSA Area是有3类LSA的。
R21#show ip ospf database Summary Net Link States (Area 2)Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.1         1.1.1.2         607         0x80000059 0x004A88
1.1.1.2         1.1.1.2         607         0x80000059 0x002CA7
1.1.1.3         1.1.1.2         607         0x80000059 0x002CA5
1.1.1.4         1.1.1.2         607         0x80000059 0x0022AE
1.1.1.31        1.1.1.2         607         0x80000059 0x001D97# R2是连接Area 0的ABR,在路由表里依然是 O N2。
R2# show ip route 200.0.0.200
Routing entry for 200.0.0.200/32Known via "ospf 1", distance 110, metric 1Tag 200, type NSSA extern 2, forward metric 3Last update from 172.16.2.2 on GigabitEthernet3, 00:17:59 agoRouting Descriptor Blocks:* 172.16.2.2, from 1.1.1.22, 00:17:59 ago, via GigabitEthernet3Route metric is 1, traffic share count is 1Route tag 200# ABR负责将7类路由转换为5类路由。 
R2#  show ip ospf databaseType-7 AS External Link States (Area 2)Link ID         ADV Router      Age         Seq#       Checksum Tag
200.0.0.200     1.1.1.22        1060        0x80000001 0x0065B7 200       Type-5 AS External Link StatesLink ID         ADV Router      Age         Seq#       Checksum Tag
200.0.0.200     1.1.1.2         1058        0x80000001 0x0072C8 200  # 在Area 0其他路由器上,刚才那条 O N2就已经转换为 O E2的路由了。
R4# show ip route 200.0.0.200
Routing entry for 200.0.0.200/32Known via "ospf 1", distance 110, metric 1Tag 200, type extern 2, forward metric 4Last update from 172.16.0.13 on GigabitEthernet2, 00:23:10 agoRouting Descriptor Blocks:* 172.16.0.13, from 1.1.1.2, 00:23:10 ago, via GigabitEthernet2Route metric is 1, traffic share count is 1Route tag 200

1.2.4 完全NSSA区域

  • 完全NSSA区域只有一条3类LSA,是ABR下放的默认路由。
  • 外部路由器可以访问完全NSSA区域,但不可以访问其他区域路由器。
  • 可以将默认路由重分布到BGP,外部路由器和其他区域(非NSSA)路由器就可以互访了。
  • NSSA区域因为没有自动下方默认路由,又不接收5类LSA,所以其他区域的外部路由无法进行访问。
# 配置完全NSSA区域
R12# show run | s r os
router ospf 1area 1 nssa no-summary# 只有一条O IA的默认路由。
R12#show ip route ospf
O*IA  0.0.0.0/0 [110/3] via 172.16.1.9, 00:05:11, GigabitEthernet1R12#show ip route 0.0.0.0
Routing entry for 0.0.0.0/0, supernetKnown via "ospf 1", distance 110, metric 3, candidate default path, type inter areaLast update from 172.16.1.9 on GigabitEthernet1, 00:03:35 agoRouting Descriptor Blocks:* 172.16.1.9, from 1.1.1.1, 00:03:35 ago, via GigabitEthernet1Route metric is 3, traffic share count is 1# 将默认路由宣告到BGP中,外部路由器就可以学到这条默认路由了。
R13#show run | s r b
router bgp 10network 0.0.0.0R100#show ip route
B*    0.0.0.0/0 [20/3] via 10.0.100.1, 00:00:18

1.2.5 外部路由类型

外部路由默认是类型2的,也就是O E2和O N2,特点是重分布进来的Metric值,随着传播并不会改变。类型1的路由的Metric值会包括在OSPF域内经过的路径的Cost。

# 在ASBR上只需要将重分布的类型改为1就可以了。
R22(config-router)#redistribute bgp 10 metric-type ?1  Set OSPF External Type 1 metrics2  Set OSPF External Type 2 metrics# 在Area 2的另一台路由器上看就已经是类型1的外部路由了。
R21#show ip route 200.0.0.200
Routing entry for 200.0.0.200/32Known via "ospf 1", distance 110, metric 3Tag 200, type NSSA extern 1Last update from 172.16.2.6 on GigabitEthernet2, 00:00:29 agoRouting Descriptor Blocks:* 172.16.2.6, from 1.1.1.22, 00:00:29 ago, via GigabitEthernet2Route metric is 3, traffic share count is 1Route tag 200# 在下一台路由器上看,Metric值已经开始累计了。
R2#show ip route 200.0.0.200
Routing entry for 200.0.0.200/32Known via "ospf 1", distance 110, metric 4Tag 200, type NSSA extern 1Last update from 172.16.2.2 on GigabitEthernet3, 00:02:01 agoRouting Descriptor Blocks:* 172.16.2.2, from 1.1.1.22, 00:02:01 ago, via GigabitEthernet3Route metric is 4, traffic share count is 1Route tag 200

2. 接口网络类型配置

在本文1.1的基础配置下,OSPF已经可以建立起邻居了。可以看到我分配是/30位的网段,但是依然显示是选举了DR的。这也就印证了之前说的,对于以太网接口默认的网络类型是广播网络。接口下可以配置下面4种网络类型,在点到多点的后面还可以指定是非广播的网络。

2.1 不同网络类型配置

可以看到广播网络的Hello和Dead间隔为10秒和40秒。让我们将更改一下网络类型再看一下。

  • 点到点:邻居的状态处,发现已经没有DR/BDR的标识,说明点到点网络并不需要选举DR/BDR。Hello和Dead间隔为10秒和40秒。
  • 非广播:需要选举DR/BDR,但是需要在OSPF进程下手工指定邻居的链路地址。Hello和Dead间隔为30秒和120秒。
  • 点多多点:不需要选举DR/BDR。Hello和Dead间隔为30秒和120秒。
R3(config-if)#ip ospf network ?broadcast            Specify OSPF broadcast multi-access networknon-broadcast        Specify OSPF NBMA networkpoint-to-multipoint  Specify OSPF point-to-multipoint networkpoint-to-point       Specify OSPF point-to-point networkR3(config-if)#ip ospf network point-to-multipoint ?non-broadcast  Specify non-broadcast point-to-mpoint network<cr>           <cr>R3#show ip ospf interface GigabitEthernet1 | in TimerTimer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5# 配置点到点网络
R3(config-if)#ip ospf network point-to-pointR3# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           0   FULL/  -        00:00:38    172.16.0.1      GigabitEthernet1R3# show ip ospf interface GigabitEthernet1 | in TimerTimer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5# 配置非广播网络
R3(config-if)#ip ospf network non-broadcast
R3(config)#router ospf 1
R3(config-router)#neighbor 172.16.0.1R3#show ip ospf nei
Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           1   FULL/BDR        00:01:57    172.16.0.1      GigabitEthernet1R3#show ip ospf interface GigabitEthernet1 | in TimerTimer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5# 配置点到多点网络
R3(config-if)#ip ospf network point-to-multipointR3#show ip ospf neighbor 
Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           0   FULL/  -        00:01:54    172.16.0.1      GigabitEthernet1R3#show ip ospf interface GigabitEthernet1 | in TimerTimer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5

2.2 有DR时的接口优先级配置

在需要选举DR和BDR的网络里,可以配置接口的优先级。在选举DR/BDR时,最先看的是优先级。在优先级相同的情况下才会对比RID的大小。

在没配置接口优先级的时候,链路两端的路由器的优先级默认都是1。这时,RID大的成为DR。在RID小的路由器R1上配置优先级255。可以看到DR/BDR并没有立刻改变,因为之前有说到DR/BDR的选举是没有抢占机制的。

重启OSPF进程,使得从新选举DR/BDR,这时我们看到R1已经成为了DR,虽然它的RID比R3的小。

R3#show ip ospf interface GigabitEthernet1 | in PriorityTransmit Delay is 1 sec, State DR, Priority 1# 配置接口优先级最大
R1(config-if)#ip ospf priority 255R1#show ip ospf interface GigabitEthernet1 | in PriorityTransmit Delay is 1 sec, State BDR, Priority 255# 重启OSPF进程
R3#clear ip ospf process 
Reset ALL OSPF processes? [no]: yesR1#show ip ospf interface GigabitEthernet1 | in PriorityTransmit Delay is 1 sec, State DR, Priority 255

3. 路由相关配置

3.1 默认路由

  • 本地有默认路由,可以直接向其他普通区域下方默认路由。
  • 本地没有默认路由,需要加always参数。
  • 可以通过加metric参数来改变通过的默认路由的Metric。
  • 如果想有条件地宣告默认路由,后面可以加挂route-map。譬如某个接口是Up的,或是某条前缀是有效的。
R1(config-router)#default-information originate ?always       Always advertise default routemetric       OSPF default metricmetric-type  OSPF metric type for default routesroute-map    Route-map reference<cr>         <cr># 在Area 1上看到一条O E2的默认路由,Metric为1。
R11#show ip route 0.0.0.0
Routing entry for 0.0.0.0/0, supernetKnown via "ospf 1", distance 110, metric 1, candidate default pathTag 1, type extern 2, forward metric 1Last update from 172.16.1.1 on GigabitEthernet1, 00:00:48 agoRouting Descriptor Blocks:* 172.16.1.1, from 1.1.1.1, 00:00:48 ago, via GigabitEthernet1Route metric is 1, traffic share count is 1Route tag 1# 更变默认的Metric值,可以看到Metric已经变成100了。
R1(config-router)#default-information originate always metric 100
R11#show ip route | in 0.0.0.0
O*E2  0.0.0.0/0 [110/100] via 172.16.1.1, 00:00:45, GigabitEthernet1# 默认是类型2的外部路由,可以改成类型1的。可以看到变成O E1了,而且Metric加了1。
R1(config-router)#default-information originate always metric-type 1 
R11#show ip route | in 0.0.0.0
O*E1  0.0.0.0/0 [110/101] via 172.16.1.1, 00:00:29, GigabitEthernet1

3.2 NSSA区域默认路由

因为其他特殊区域会自动生成类型3的默认路由LSA,只有NSSA区域不会自动生成默认路由LSA。由于NSSA区域不接受5类的LSA,所以在NSSA的ABR上无法使用上述3.1里的方法。可以在NSSA区域下发7类LSA的默认路由。而且它不会再被ABR转换为5类LSA再传回去。

R2(config-router)#area 2 nssa default-information-originate # 在NSSA区域的路由器上查看7类LSA。发现有“No Type 7/5 translation”的标记。
R21#   show ip ospf database nssa-external 0.0.0.0OSPF Router with ID (1.1.1.21) (Process ID 1)Type-7 AS External Link States (Area 2)LS age: 180Options: (No TOS-capability, No Type 7/5 translation, DC, Upward)LS Type: AS External LinkLink State ID: 0.0.0.0 (External Network Number )Advertising Router: 1.1.1.2LS Seq Number: 80000001Checksum: 0xE8C3Length: 36Network Mask: /0Metric Type: 2 (Larger than any link state path)MTID: 0 Metric: 1 Forward Address: 0.0.0.0External Route Tag: 0

3.3 域间路由汇总

在普通区域向骨干区域通告路由的时候可以进行路由汇总,因为域间的路由通告更像是距离矢量型的路由协议。每个区域内的路由器只知道本区域内的全景,通过SPF算法动态计算本区域的拓扑,因为无法在域内进行路由的汇总。

  • 默认的行为就是advertise,生成的汇总路由会通告到其他区域。
  • 汇总路由的Metric默认是明细路由里Metric的最小值。但是可以手工指定汇总路由的Cost。
  • not-advertise的功能与其说是路由汇总,不如说是路由过滤。
    • 正常情况下,其他区域的1类和2类LSA到Area 0后会变成3类LSA。
    • 在not-advertise的情况下,汇总路由不会将匹配到的在Area 1的明细路由的1类LSA和2类LSA转换成Area 0下的3类LSA,因此ABR也无法将其泛洪给其他路由器。
  • 只有在ABR上至少有一条汇总路由的明细路由,这条汇总路由才生效。
R1(config-router)#area 1 range 172.16.1.0 255.255.255.0 ?advertise      Advertise this range (default)cost           User specified metric for this rangenot-advertise  DoNotAdvertise this range<cr>           <cr># 汇总路由会自动生成一条指向Null0的路由
R1#show ip route
O        172.16.1.0/24 is a summary, 00:00:05, Null0# 在相邻的Area 0路由器上可以看到这条汇总的O IA路由,Metric为2。
R4#show ip route
O IA     172.16.1.0/24 [110/2] via 172.16.0.5, 00:06:20, GigabitEthernet1# 可以在汇总的同时添加Cost。
R1(config-router)#area 1 range 172.16.1.0 255.255.255.0 advertise cost 100# 这时再看汇总的Metric就变成101了。
R4#show ip route
O IA     172.16.1.0/24 [110/101] via 172.16.0.5, 00:00:10, GigabitEthernet1# 在ABR上看在没有no-advertise之前,可以看到Area 1的1类和2类LSA变成了如下Area 0下的3类LSA。
R1#show ip ospf database 
Summary Net Link States (Area 0)Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.11        1.1.1.1         526         0x80000003 0x00E83E
1.1.1.12        1.1.1.1         526         0x80000003 0x00E83C
1.1.1.13        1.1.1.1         526         0x80000004 0x00DC46
172.16.1.0      1.1.1.1         767         0x80000001 0x00D2AA
172.16.1.8      1.1.1.1         767         0x80000001 0x007404# 在not-advertise之后,在ABR上看,Area 0的3类LSA已经不包括上面显示的最后两条了。在R1的路由表里也不存在一条172.16.1.0/24的路由。
R1(config-router)#area 1 range 172.16.1.0 255.255.255.0 not-advertise

3.4 外部路由汇总

在ASBR上重分布外部路由的时候,可以进行路由汇总。

  • 默认就是advertise,如果选not-advertise,效果跟3.3中讲述的一样的。
  • 如果是在NSSA区域的ASBR进行的路由汇总,而且希望这个汇总路由停留在NSSA区域,则可以加上nssa-only的参数。
    • 在7类LSA里有一个Propagate的比特,如果置位则在NSSA的ABR上进行7类转5类LSA的动作。如果不置位,则不会进行转换。这个参数就是不置位这个比特。
    • 查看OSPF数据库时,P比特显示为是否进行"Type 7/5 translation"。
  • tag就是给重分布的路由打标签,这是通用的功能,为了进行这些路由设置一些策略。
R13(config-router)#summary-address 100.0.0.0 255.255.255.0 ?not-advertise  Do not advertise or translatenssa-only      Limit summary to NSSA areastag            Set tag<cr>           <cr># 没汇总之前,可以在ASBR所在区域内的其他路由器上看到明细的外部路由
R11# show ip route
O E2     100.0.0.100 [110/1] via 172.16.1.11, 01:48:31, GigabitEthernet2
O E2     100.0.0.101 [110/1] via 172.16.1.11, 00:20:34, GigabitEthernet2
O E2     100.0.0.102 [110/1] via 172.16.1.11, 00:19:33, GigabitEthernet2# 在ASBR上进行外部路由的汇总,并打上标签。
R13(config-router)#summary-address 100.0.0.0 255.255.255.0 tag 100100# 在ASBR所在区域内的其他路由器上就只有这一条汇总路由了,而且它被打上了预设的标签。
R11# show ip route100.0.0.0/24 is subnetted, 1 subnets
O E2     100.0.0.0 [110/1] via 172.16.1.11, 00:00:41, GigabitEthernet2R11#show ip route 100.0.0.0 255.255.255.0
Routing entry for 100.0.0.0/24Known via "ospf 1", distance 110, metric 1Tag 100100, type extern 2, forward metric 1Last update from 172.16.1.11 on GigabitEthernet2, 00:02:03 agoRouting Descriptor Blocks:* 172.16.1.11, from 1.1.1.13, 00:02:03 ago, via GigabitEthernet2Route metric is 1, traffic share count is 1Route tag 100100# 在NSSA的ASBR上,查看7类LSA,
R22#show ip ospf database nssa-external 
LS age: 824Options: (No TOS-capability, Type 7/5 translation, DC, Upward)LS Type: AS External LinkLink State ID: 200.0.0.200 (External Network Number )Advertising Router: 1.1.1.22LS Seq Number: 8000002AChecksum: 0x8FE4Length: 36Network Mask: /32Metric Type: 1 (Comparable directly to link state metric)MTID: 0 Metric: 1 Forward Address: 1.1.1.22External Route Tag: 200

3.5 域内路由过滤

域内路由过滤只能阻止将LSA生成的OSPF路由加到全局路由表中,但是不会影响LSA的传播,域内的其他路由器依然保有所有的LSA并能生成域内的拓扑全景。这里我只举一个例子。

  • 先匹配要过滤掉的路由前缀,使用prefix list和route-map。
  • OSPF进程下下发列表在in方向调用route-map。
  • 全局路由表的路由被干掉了,但是LSDB的3类LSA还在。
# 列出要deny掉的路由
R3#show ip route
O IA     172.16.1.0/30 [110/2] via 172.16.0.1, 00:29:57, GigabitEthernet1
O IA     172.16.1.8/29 [110/3] via 172.16.0.1, 00:29:57, GigabitEthernet1
O IA     172.16.2.0/30 [110/2] via 172.16.0.9, 3d01h, GigabitEthernet2
O IA     172.16.2.4/30 [110/3] via 172.16.0.9, 3d01h, GigabitEthernet2
O IA     172.16.2.8/30 [110/3] via 172.16.0.9, 3d01h, GigabitEthernet2
O IA     172.16.2.12/30 [110/4] via 172.16.0.9, 3d00h, GigabitEthernet2
O IA     172.16.3.0/30 [110/3] via 172.16.0.9, 3d01h, GigabitEthernet2[110/3] via 172.16.0.1, 00:44:53, GigabitEthernet1# 用Prefix list匹配上面所有的前缀,在用route-map匹配prefix list。
ip prefix-list DENY_Inter_Area_Link seq 10 permit 172.16.1.0/24 ge 25
ip prefix-list DENY_Inter_Area_Link seq 20 permit 172.16.2.0/24 ge 25
ip prefix-list DENY_Inter_Area_Link seq 30 permit 172.16.3.0/24 ge 25route-map FILTER_INBOUND deny 10 match ip address prefix-list DENY_Inter_Area_Link
route-map FILTER_INBOUND permit 20 # OSPF进程下使用distribute-list。
R3(config-router)#distribute-list route-map FILTER_INBOUND in# 可以看到路由表里的这些路由都没有了。
R3#show ip route
O E2     100.0.0.0 [110/1] via 172.16.0.1, 00:01:06, GigabitEthernet1172.16.0.0/16 is variably subnetted, 6 subnets, 2 masks
C        172.16.0.0/30 is directly connected, GigabitEthernet1
L        172.16.0.2/32 is directly connected, GigabitEthernet1
O        172.16.0.4/30 [110/2] via 172.16.0.1, 00:01:06, GigabitEthernet1
C        172.16.0.8/30 is directly connected, GigabitEthernet2
L        172.16.0.10/32 is directly connected, GigabitEthernet2
O        172.16.0.12/30 [110/2] via 172.16.0.9, 00:01:06, GigabitEthernet2200.0.0.0/32 is subnetted, 1 subnets
O E1     200.0.0.200 [110/5] via 172.16.0.9, 00:01:06, GigabitEthernet2# 但在LSDB里面这些3类LSA还存在,也会泛洪给其他路由器。
R3#show ip ospf databaseSummary Net Link States (Area 0)Link ID         ADV Router      Age         Seq#       Checksum
172.16.1.0      1.1.1.1         861         0x80000002 0x00D0AB
172.16.1.8      1.1.1.1         861         0x80000002 0x007205
172.16.2.0      1.1.1.2         922         0x80000084 0x00BA3D
172.16.2.4      1.1.1.2         170         0x80000084 0x009C56
172.16.2.8      1.1.1.2         170         0x80000084 0x00747A
172.16.2.12     1.1.1.2         170         0x80000084 0x005693
172.16.3.0      1.1.1.4         452         0x80000085 0x00A152

3.6 域间路由过滤

因为之前说,域间或是外部的LSA的传递,感觉上更像是距离矢量型的路由。在ABR上我们使用filter-list来实现这个功能,且路由过滤是双向的,可以限制in和out方向。举个例子,譬如想限制Area 2的链路的LSA进入到Area 1内,则需要在连接Area 1的ASR上做路由过滤。

# 使用prefix list来匹配要拒绝的前缀,并放行其他所有。
ip prefix-list DENY_Area2_Link seq 10 deny 172.16.2.0/24 ge 25 le 32
ip prefix-list DENY_Area2_Link seq 20 permit 0.0.0.0/0 le 32# OSPF进程下掉filter list,因为我们想要阻止特定前缀进入到Area 1,因此选in方向。
R1(config-router)#area 1 filter-list prefix DENY_Area2_Link ?in   Filter networks sent to this areaout  Filter networks sent from this area# 在Area 1的其他路由器上看,已经没有这些路由了,LSDB里的3类LSA也没有了。
R11# show ip route
O IA     172.16.0.0/30 [110/2] via 172.16.1.1, 00:00:48, GigabitEthernet1
O IA     172.16.0.4/30 [110/2] via 172.16.1.1, 00:00:48, GigabitEthernet1
O IA     172.16.0.8/30 [110/3] via 172.16.1.1, 00:00:48, GigabitEthernet1
O IA     172.16.0.12/30 [110/3] via 172.16.1.1, 00:00:48, GigabitEthernet1
C        172.16.1.0/30 is directly connected, GigabitEthernet1
L        172.16.1.2/32 is directly connected, GigabitEthernet1
C        172.16.1.8/29 is directly connected, GigabitEthernet2
L        172.16.1.9/32 is directly connected, GigabitEthernet2
O IA     172.16.3.0/30 [110/3] via 172.16.1.1, 00:00:48, GigabitEthernet1R11# show ip ospf database Summary Net Link States (Area 1)Link ID         ADV Router      Age         Seq#       Checksum
172.16.0.0      1.1.1.1         105         0x80000001 0x00DDA0
172.16.0.4      1.1.1.1         105         0x80000001 0x00B5C4
172.16.0.8      1.1.1.1         105         0x80000001 0x0097DD
172.16.0.12     1.1.1.1         105         0x80000001 0x006F02
172.16.3.0      1.1.1.1         105         0x80000001 0x00C6B3

3.7 外部路由过滤

  • 可以在重分布外部路由的时候,挂一个route-map。
  • OSPF进程下使用distribute-list。
# 重分布时挂route-map
R13(config-router)#redistribute bgp 10 subnets route-map ?WORD  Pointer to route-map entries# OSPF进程下使用distribute-list,它再调用ACL,Prefix-List和Route-Map。
R13(config-router)#distribute-list ?<1-199>      IP access list number<1300-2699>  IP expanded access list numberWORD         Access-list namegateway      Filtering incoming updates based on gatewayprefix       Filter prefixes in routing updatesroute-map    Filter prefixes based on the route-map

具体的ACL,Prefix-List和Route-Map和上面大同小异。

📚 延伸阅读

更多内容持续更新于我的博客:https://www.zenseek.site

http://www.dtcms.com/a/453867.html

相关文章:

  • 单词搜索(DFS)
  • 绵阳房产网站建设网站建设 创业
  • static-bind 概念及题目
  • 中卫企业管理培训网站wordpress离线更新
  • [Linux系统编程——Lesson3.进程概念 ]
  • SOLIDWORKS VBA 自学笔记018、复制字符串到剪贴板(代码示例)
  • CSP-J 2024 复赛题
  • 【算法训练营 · 汇总篇】数组、链表、哈希表、字符串、栈与队列
  • 网站备案万网如何推广一个新的app
  • 移动应用开发网站wordpress返回500
  • 茶叶公司网站源码辽阳建设网站
  • 网站下载免费的视频软件在百度上做广告推广要多少钱
  • gitee设置不公开邮箱地址,推送报错解决方案
  • 网站不备案怎么回事龙华新区网站建设
  • CoroutineScope(SupervisorJob() + Dispatchers.IO) 详解
  • 开篇词:为什么要学习系统分析师?核心考点有哪些?
  • 制作网页与网站微信小程序开发需要什么技术
  • 建设官网的网站网站修改用什么工具
  • 参数校验:jakarta.validation
  • 网站策划厂表白网站源码大全
  • 数据结构(陈越,何钦铭)期中考试
  • 网站发展历程360浏览器主页
  • 建设网站平台的章程建设银行明细网站能查多久
  • 算术操作符 逆向汇编二
  • 《Vuejs设计与实现》第 5 章(非原始值响应式方案)下 Set 和 Map 的响应式代理
  • javascript基础入门菜鸟,javascript基础入门教程
  • 网站没有index.html深圳网站建设创想营销
  • 小米网站开发语言系统开发过程中的第一个文档
  • 分布式专题——35 Netty的使用和常用组件辨析
  • Java Caffeine 高性能缓存库详解与使用案例