华为三康技术有限公司
Huawei-3Com Technologies Co., Ltd.
文档编号 Document ID
密级 Confidentiality level
内部公开
文档状态 Document Status
共21页 Total 21 pages
Draft1.00
OSPF的路由过滤
拟制
Prepared by
姜杏春02120
Date
日期
2006-2-8
评审人
Reviewed by
测试中心
Date
日期
批准
Approved by
Date
日期
华为三康技术有限公司
Huawei-3Com Technologies Co., Ltd.
版权所有 侵权必究
All rights reserved
修订
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
Revision Record
日期Date
修订版本
Revision Version
修改章节
Sec No.
修改描述
Change Description
作者
Author
2006-2-8
1.00
initial 初稿完成
姜杏春
目录 Table of Contents
1 应用举例 4
1.1 filter-policy import(OSPF) 4
1.1.1 需求 4
1.1.2 例子 4
1.2 filter-policy export/ import-route(OSPF) 6
1.2.1 需求 6
1.2.2 例子 7
1.3 asbr-summary not-advertise(OSPF) 9
1.3.1 需求 10
1.3.2 例子 10
1.4 filter-policy (area) 12
1.4.1 需求 12
1.4.2 例子 13
1.5 abr-summary not-advertise(area) 15
1.5.1 需求 15
1.5.2 例子 16
2 总结 19
OSPF的路由过滤
1 应用举例
OSPF过滤的方式很多,这里是根据不同命令来举例OSPF是怎样来实现过滤的。如果对OSPF过滤已经有一定的了解,也可以跳过这一章节直接看第二章节了解一下结论即可。
1.1 filter-policy import(OSPF)
1.1.1 需求
路由器A两个接口分别连接着测试仪RouterTester的两个端口,A从RT1学到5条前缀是10.1.1.x的外部路由,现在要从路由表过滤符合10.1.1.x的路由。
1.1.2 例子
路由器A两个接口分别连接着测试仪RouterTester的两个端口,A从RT1学到5条前缀是10.1.1.x的外部路由。
OSPF配置:
ospf 2
area 0.0.0.0
network 102.1.1.0 0.0.0.255
area 0.0.0.1
network 102.1.2.0 0.0.0.255
[NE20D-ospf-2]dis ip ro pro ospf
Public Routing Table : OSPF
Destinations : 8 Routes : 8
OSPF Routing table Status : < Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.4/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.8/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.12/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.16/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
102.1.1.2/32 OSPF 10 1 102.1.1.2 Ethernet0/0/0
配置acl 2000,在OSPF视图下过滤利用filter-policy import命令。
acl number 2000
rule 0 deny source 10.1.1.0 0.0.0.255
rule 1 permit
[NE20D-ospf-2]filter-policy 2000 import
[NE20D-ospf-2]dis ip ro pro ospf
Public Routing Table : OSPF
Destinations : 8 Routes : 8
OSPF Routing table Status : < Active>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost NextHop Interface
102.1.1.2/32 OSPF 10 1 102.1.1.2 Ethernet0/0/0
OSPF Routing table Status : < Inactive>
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.4/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.8/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.12/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
10.1.1.16/30 O_ASE 150 2 102.1.1.2 Ethernet0/0/0
102.1.1.0/24 OSPF 10 1 102.1.1.1 Ethernet0/0/0
102.1.2.0/24 OSPF 10 1 102.1.2.1 Ethernet0/0/1
比较前后路由表发现前缀是10.1.1.x的外部路由的状态由
变为。查看OSPF LSDB发现ASE LSA 仍然存在LSDB中。
[NE20D-ospf-2-area-0.0.0.1]dis ospf 2 lsdb
OSPF Process 2 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 25 36 8000000A 1
Router 102.1.1.2 102.1.1.2 1450 48 80000006 0
Network 102.1.1.1 1.1.1.1 1383 32 80000005 0
Sum-Net 102.1.2.0 1.1.1.1 20 28 80000006 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 25 36 80000001 1
Sum-Net 102.1.1.0 1.1.1.1 25 28 80000001 1
Sum-Net 102.1.1.2 1.1.1.1 25 28 80000001 1
Sum-Asbr 102.1.1.2 1.1.1.1 25 28 80000001 1
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 10.1.1.16 102.1.1.2 199 36 80000006 1
External 10.1.1.12 102.1.1.2 1660 36 80000005 1
External 10.1.1.8 102.1.1.2 40 36 80000006 1
External 10.1.1.4 102.1.1.2 1676 36 80000005 1
External 10.1.1.0 102.1.1.2 1394 36 80000005 1
1.2 filter-policy export/ import-route(OSPF)
1.2.1 需求
从路由器A引入一些外部路由,要求不允许该路由器发布前缀是10.1.1.x的外部路由,使得整个OSPF域内的路由器都不会收到发布者是A的10.1.1.x前缀的ASE。
1.2.2 例子
路由器A为ASBR,将静态路由引入OSPF。
ospf 2
import-route static
area 0.0.0.0
network 102.1.1.0 0.0.0.255
area 0.0.0.1
network 102.1.2.0 0.0.0.255
[NE20D-ospf-2]dis ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
OSPF Process 2 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 7 36 80000007 1
Router 102.1.1.2 102.1.1.2 53 60 8000000B 0
Network 102.1.1.1 1.1.1.1 530 32 80000002 0
Sum-Net 102.1.2.0 1.1.1.1 530 28 80000002 1
Sum-Net 102.1.2.2 1.1.1.1 530 28 80000002 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 102.1.2.2 102.1.2.2 950 48 80000003 0
Router 1.1.1.1 1.1.1.1 7 36 80000007 1
Network 102.1.2.1 1.1.1.1 553 32 80000002 0
Sum-Net 102.1.1.0 1.1.1.1 531 28 80000002 1
Sum-Net 102.1.1.2 1.1.1.1 524 28 80000002 1
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 200.0.0.0 1.1.1.1 8 36 80000001 1
External 10.1.1.5 1.1.1.1 8 36 80000001 1
External 10.1.1.4 1.1.1.1 8 36 80000001 1
External 10.1.1.1 1.1.1.1 9 36 80000001 1
External 10.1.1.3 1.1.1.1 9 36 80000001 1
External 10.1.1.2 1.1.1.1 9 36 80000001 1
配置acl 2000,在OSPF视图下过滤利用filter-policy export命令。
acl number 2000
rule 0 deny source 10.1.1.0 0.0.0.255
rule 1 permit
[NE20D-ospf-2]filter-policy 2000 export
查看过滤后的OSPF LSDB,比较前后,可以看见关于10.1.1.x前缀的ASE已经从LSDB库中消失。
[NE20D]dis ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
OSPF Process 2 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 45 36 80000007 1
Router 102.1.1.2 102.1.1.2 91 60 8000000B 0
Network 102.1.1.1 1.1.1.1 568 32 80000002 0
Sum-Net 102.1.2.0 1.1.1.1 568 28 80000002 1
Sum-Net 102.1.2.2 1.1.1.1 568 28 80000002 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 102.1.2.2 102.1.2.2 988 48 80000003 0
Router 1.1.1.1 1.1.1.1 45 36 80000007 1
Network 102.1.2.1 1.1.1.1 590 32 80000002 0
Sum-Net 102.1.1.0 1.1.1.1 568 28 80000002 1
Sum-Net 102.1.1.2 1.1.1.1 562 28 80000002 1
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 200.0.0.0 1.1.1.1 46 36 80000001 1
同样的需求也可以在OSPF视图利用import-route命令来实现。
acl number 2000
rule 0 deny source 10.1.1.0 0.0.0.255
rule 1 permit
route-policy 1 permit node 1
if-match acl 2000
ospf 2
import-route static route-policy 1
area 0.0.0.0
network 102.1.1.0 0.0.0.255
area 0.0.0.1
network 102.1.2.0 0.0.0.255
1.3 asbr-summary not-advertise(OSPF)
asbr-summary not-advertise(OSPF)命令和filter-policy export(OSPF)命令作用一样,但是asbr-summary not-advertise(OSPF)命令可以在NSSA区域的ABR上可以对7转5的LSA做过滤,阻止本路由器根据nssa产生符合特定条件的ase,从而对NSSA LSA可以实现在ASBR过滤之后的二次过滤。
1.3.1 需求
在NSSA区域引入了一些外部路由,要求对10.1.1.x的外部路由只在该NSSA区域泛洪,不需要泛洪到整个OSPF域中。
1.3.2 例子
路由器A为ABR,其中area 1为NSSA区域,区域中ASBR引入外部路由10.1.1.x。
路由器A的配置:
ospf 2
area 0.0.0.1
network 102.1.2.0 0.0.0.255
nssa
area 0.0.0.0
network 102.1.1.0 0.0.0.255
路由器A的LSDB:
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric Where
Stub 102.1.1.2 102.1.1.2 436 24 0 0 SpfTree
Rtr 102.1.1.2 102.1.1.2 687 60 8000000b 0 SpfTree
Rtr 88.1.1.14 88.1.1.14 525 36 8000000c 0 SpfTree
Net 102.1.1.1 88.1.1.14 1187 32 80000004 0 SpfTree
SNet 102.1.2.0 88.1.1.14 13 28 80000007 1 Inter List
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric Where
Stub 102.1.2.0 88.1.1.14 48 24 0 0 SpfTree
Rtr 88.1.1.14 88.1.1.14 471 48 80000015 0 SpfTree
Rtr 84.2.4.1 84.2.4.1 49 48 8000000b 0 SpfTree
SNet 102.1.1.0 88.1.1.14 13 28 80000007 1 Inter List
SNet 102.1.1.2 88.1.1.14 13 28 80000006 1 Inter List
NSSA 10.1.1.1 84.2.4.1 46 36 80000001 1 Uninitialized
NSSA 10.1.1.2 84.2.4.1 46 36 80000001 1 Uninitialized
NSSA 10.1.1.3 84.2.4.1 46 36 80000001 1 Uninitialized
NSSA 10.1.1.4 84.2.4.1 46 36 80000001 1 Uninitialized
NSSA 10.1.1.5 84.2.4.1 46 36 80000001 1 Uninitialized
NSSA 20.1.1.5 84.2.4.1 46 36 80000001 1 Uninitialized
AS External Database:
Type LinkState ID AdvRouter Age Len Sequence Metric Where
ASE 10.1.1.1 88.1.1.14 45 36 80000001 1 Ase List
ASE 10.1.1.2 88.1.1.14 45 36 80000001 1 Ase List
ASE 10.1.1.3 88.1.1.14 45 36 80000001 1 Ase List
ASE 10.1.1.4 88.1.1.14 45 36 80000001 1 Ase List
ASE 10.1.1.5 88.1.1.14 45 36 80000001 1 Ase List
ASE 20.1.1.5 88.1.1.14 45 36 80000001 1 Ase List
观察LSDB我们可以看出NSSA路由会通过ABR A产生ASE来通告到整个OSPF域中。现在我们可以利用asbr-summary not-advertise(OSPF)命令阻止NSSA转化为ASE,从而让某些路由只在NSSA区域通告而不通告到整个OSPF域中。
我们在A上配置asbr-summary 10.1.1.0 255.255.255.0 not-advertise不让10.1.1.x的路由通告到整个OSPF域中。
ospf 2
asbr-summary 10.1.1.0 255.255.255.0 not-advertise
area 0.0.0.1
network 102.1.2.0 0.0.0.255
nssa
area 0.0.0.0
network 102.1.1.0 0.0.0.255
配置过滤后,我们再来观察LSDB,发现已经没有10.1.1.x路由的ASE了。
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric Where
Stub 102.1.1.2 102.1.1.2 468 24 0 0 SpfTree
Rtr 102.1.1.2 102.1.1.2 719 60 8000000b 0 SpfTree
Rtr 88.1.1.14 88.1.1.14 557 36 8000000c 0 SpfTree
Net 102.1.1.1 88.1.1.14 1219 32 80000004 0 SpfTree
SNet 102.1.2.0 88.1.1.14 45 28 80000007 1 Inter List
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric Where
Stub 102.1.2.0 88.1.1.14 80 24 0 0 SpfTree
Rtr 88.1.1.14 88.1.1.14 503 48 80000015 0 SpfTree
Rtr 84.2.4.1 84.2.4.1 81 48 8000000b 0 SpfTree
SNet 102.1.1.0 88.1.1.14 45 28 80000007 1 Inter List
SNet 102.1.1.2 88.1.1.14 45 28 80000006 1 Inter List
NSSA 10.1.1.1 84.2.4.1 78 36 80000001 1 Uninitialized
NSSA 10.1.1.2 84.2.4.1 78 36 80000001 1 Uninitialized
NSSA 10.1.1.3 84.2.4.1 78 36 80000001 1 Uninitialized
NSSA 10.1.1.4 84.2.4.1 78 36 80000001 1 Uninitialized
NSSA 10.1.1.5 84.2.4.1 78 36 80000001 1 Uninitialized
NSSA 20.1.1.5 84.2.4.1 78 36 80000001 1 Uninitialized
AS External Database:
Type LinkState ID AdvRouter Age Len Sequence Metric Where
ASE 20.1.1.5 88.1.1.14 77 36 80000001 1 Ase List
1.4 filter-policy (area)
1.4.1 需求
路由器A从area 0学到10.1.1.x OSPF域内路由,但是不希望将这10.1.1.x的路由通过A发布到area 1中,area 1的路由器不会收到A发布的10.1.1.x 前缀的summary LSA。
1.4.2 例子
路由器A从测试仪学到10.1.1.x的路由,其中有从area 0学到10.1.1.x的OSPF路由。从LSDB看出有area 0的区域内路由,也有area 0的区域间路由到生成area 1summary LSA。
ospf 2
area 0.0.0.0
network 102.1.1.0 0.0.0.255
area 0.0.0.1
network 102.1.2.0 0.0.0.255
[NE20D-ospf-2]dis ospf lsdb
OSPF Process 2 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.1.1.5 10.1.1.5 252 48 80000002 0
Router 10.1.1.4 10.1.1.4 281 60 80000002 0
Router 10.1.1.3 10.1.1.3 347 60 80000002 0
Router 10.1.1.2 10.1.1.2 414 60 80000002 0
Router 10.1.1.1 10.1.1.1 536 72 80000002 0
Router 1.1.1.1 1.1.1.1 1613 36 80000008 1
Router 102.1.1.2 102.1.1.2 348 72 80000014 0
Network 102.1.1.1 1.1.1.1 926 32 80000003 0
Sum-Net 102.1.2.0 1.1.1.1 926 28 80000003 1
Sum-Net 102.1.2.2 1.1.1.1 926 28 80000003 1
Sum-Net 10.1.1.14 102.1.1.2 1255 28 80000001 1
Sum-Net 10.1.1.10 102.1.1.2 1186 28 80000001 1
Sum-Net 10.1.1.6 102.1.1.2 1078 28 80000001 1
Sum-Net 10.1.1.22 102.1.1.2 754 28 80000001 1
Sum-Net 10.1.1.18 102.1.1.2 1320 28 80000001 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 102.1.2.2 102.1.2.2 1714 48 8000000E 0
Router 1.1.1.1 1.1.1.1 1617 36 80000008 1
Network 102.1.2.1 1.1.1.1 951 32 80000003 0
Sum-Net 12.18.114.0 1.1.1.1 1010 28 80000001 2
Sum-Net 102.1.1.0 1.1.1.1 929 28 80000003 1
Sum-Net 102.1.1.2 1.1.1.1 921 28 80000003 1
Sum-Net 10.1.1.12 1.1.1.1 22 28 80000001 2
Sum-Net 10.1.1.8 1.1.1.1 22 28 80000001 2
Sum-Net 10.1.1.5 1.1.1.1 22 28 80000001 6
Sum-Net 10.1.1.4 1.1.1.1 22 28 80000001 2
Sum-Net 10.1.1.1 1.1.1.1 22 28 80000001 2
Sum-Net 10.1.1.3 1.1.1.1 22 28 80000001 4
Sum-Net 10.1.1.2 1.1.1.1 23 28 80000001 3
Sum-Net 10.1.1.20 1.1.1.1 23 28 80000001 2
Sum-Net 10.1.1.16 1.1.1.1 23 28 80000001 2
配置acl 2000,在area 1视图下过滤利用filter-policy import命令。
ospf 2
area 0.0.0.0
network 102.1.1.0 0.0.0.255
area 0.0.0.1
filter 2000 import
network 102.1.2.0 0.0.0.255
配置过滤后,查看LSDB发现area 1的LSDB前缀10.1.1.x的summary LSA已经删除了。
[NE20D-ospf-2-area-0.0.0.1]dis ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
OSPF Process 2 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 10.1.1.5 10.1.1.5 328 48 80000002 0
Router 10.1.1.4 10.1.1.4 357 60 80000002 0
Router 10.1.1.3 10.1.1.3 423 60 80000002 0
Router 10.1.1.2 10.1.1.2 490 60 80000002 0
Router 10.1.1.1 10.1.1.1 613 72 80000002 0
Router 1.1.1.1 1.1.1.1 1690 36 80000008 1
Router 102.1.1.2 102.1.1.2 424 72 80000014 0
Network 102.1.1.1 1.1.1.1 1002 32 80000003 0
Sum-Net 102.1.2.0 1.1.1.1 1002 28 80000003 1
Sum-Net 102.1.2.2 1.1.1.1 1002 28 80000003 1
Sum-Net 10.1.1.14 102.1.1.2 1331 28 80000001 1
Sum-Net 10.1.1.10 102.1.1.2 1262 28 80000001 1
Sum-Net 10.1.1.6 102.1.1.2 1154 28 80000001 1
Sum-Net 10.1.1.22 102.1.1.2 830 28 80000001 1
Sum-Net 10.1.1.18 102.1.1.2 1396 28 80000001 1
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 102.1.2.2 102.1.2.2 34 48 8000000F 0
Router 1.1.1.1 1.1.1.1 1692 36 80000008 1
Network 102.1.2.1 1.1.1.1 1026 32 80000003 0
Sum-Net 12.18.114.0 1.1.1.1 1085 28 80000001 2
Sum-Net 102.1.1.0 1.1.1.1 1004 28 80000003 1
Sum-Net 102.1.1.2 1.1.1.1 996 28 80000003 1
同样的需求也可以通过在area 0视图下利用filter-policy export命令过滤。
[NE20D-ospf-2-area-0.0.0.0]filter 2000 export
1.5 abr-summary not-advertise(area)
1.5.1 需求
同1.3,在不支持filter-policy (area)这条命令的设备,我们可以巧妙利用abr-summary not-advertise(area)来对summary lsa过滤。
1.5.2 例子
路由器A从测试仪学到10.1.1.x的路由,其中有从area 0学到10.1.1.x的OSPF路由。从LSDB看出有area 0的区域内路由,也有area 0的区域间路由到生成area 1summary LSA。
ospf 2
area 0.0.0.0
network 102.1.1.0 0.0.0.255
area 0.0.0.1
network 102.1.2.0 0.0.0.255
LSDB:
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric Where
Stub 102.1.1.2 102.1.1.2 307 24 0 0 SpfTree
Stub 10.1.1.1 10.1.1.1 305 24 0 0 SpfTree
Stub 10.1.1.2 10.1.1.2 305 24 0 0 SpfTree
Stub 10.1.1.3 10.1.1.3 305 24 0 0 SpfTree
Stub 10.1.1.4 10.1.1.4 305 24 0 0 SpfTree
Stub 10.1.1.5 10.1.1.5 305 24 0 0 SpfTree
Rtr 102.1.1.2 102.1.1.2 713 60 80000008 0 SpfTree
Rtr 88.1.1.14 88.1.1.14 184 36 80000009 0 SpfTree
Rtr 10.1.1.1 10.1.1.1 806 60 80000001 0 Clist
Rtr 10.1.1.2 10.1.1.2 694 60 80000001 0 Clist
Rtr 10.1.1.3 10.1.1.3 972 60 80000001 0 Clist
Rtr 10.1.1.4 10.1.1.4 489 60 80000001 0 Clist
Rtr 10.1.1.5 10.1.1.5 602 48 80000001 0 Clist
Net 102.1.1.1 88.1.1.14 184 32 80000002 0 SpfTree
SNet 102.1.2.0 88.1.1.14 151 28 80000003 1 Inter List
SNet 10.1.1.100 102.1.1.2 173 28 80000001 1 Uninitialized
SNet 10.1.1.104 102.1.1.2 312 28 80000001 1 Uninitialized
SNet 10.1.1.108 102.1.1.2 145 28 80000001 1 Uninitialized
SNet 10.1.1.112 102.1.1.2 137 28 80000001 1 Uninitialized
SNet 10.1.1.116 102.1.1.2 711 28 80000001 1 Uninitialized
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric Where
Stub 102.1.2.0 88.1.1.14 1351 24 0 0 SpfTree
Rtr 88.1.1.14 88.1.1.14 184 48 8000000f 0 SpfTree
Rtr 84.2.4.1 84.2.4.1 613 48 80000004 0 Clist
SNet 102.1.1.0 88.1.1.14 151 28 80000003 1 Inter List
SNet 102.1.1.2 88.1.1.14 151 28 80000002 1 Inter List