OSPFv2/v3でルートフィルタリングを行う。
構成
上図の通り、R2のLoopback1のインタフェース情報をフィルタリングし、Area 0にルート情報が流れ込んでこないようにする。検証はCisco CMLで行う。R1~R2のバージョンは15.9(3)M4を使用。
初期コンフィグ(フィルタリング前)
動作確認(フィルタリング前)
フィルタリング前はフィルタリング対象のルート情報もルーティングテーブルに存在することを確認する。OSPFでルート情報を学習できていればOKだが、念のためLSDBもチェックする。
R1#show ip ospf nei
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 254 FULL/BDR 00:00:39 10.0.10.2 GigabitEthernet0/0
R1#show ipv6 ospf nei
OSPFv3 Router with ID (1.1.1.1) (Process ID 51)
Neighbor ID Pri State Dead Time Interface ID Interface
2.2.2.2 254 FULL/BDR 00:00:35 2 GigabitEthernet0/0
R1#show ip route ospf | begin Gateway
Gateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets
O IA 2.2.2.2 [110/2] via 10.0.10.2, 02:18:24, GigabitEthernet0/0
22.0.0.0/32 is subnetted, 1 subnets
O IA 22.22.22.22 [110/2] via 10.0.10.2, 02:18:24, GigabitEthernet0/0
R1#show ipv6 route ospf
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
RL - RPL, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
lA - LISP away, a - Application
OI 2001::2/128 [110/1]
via FE80::2, GigabitEthernet0/0
OI 2001::3/128 [110/1]
via FE80::2, GigabitEthernet0/0
R1#show ip ospf database summary --->IPv4エリア間ルートのLSDB
OSPF Router with ID (1.1.1.1) (Process ID 51)
Summary Net Link States (Area 0)
LS age: 1632
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 2.2.2.2 (summary Network Number)
Advertising Router: 2.2.2.2
LS Seq Number: 80000005
Checksum: 0xF235
Length: 28
Network Mask: /32
MTID: 0 Metric: 1
LS age: 56
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 22.22.22.22 (summary Network Number)
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0x5F7C
Length: 28
Network Mask: /32
MTID: 0 Metric: 1
R1#show ipv6 ospf database inter-area prefix --->IPv6エリア間ルートのLSDB
OSPFv3 Router with ID (1.1.1.1) (Process ID 51)
Inter Area Prefix Link States (Area 0)
LS age: 1480
LS Type: Inter Area Prefix Links
Link State ID: 1
Advertising Router: 2.2.2.2
LS Seq Number: 80000003
Checksum: 0xA2DD
Length: 44
Metric: 0
Prefix Address: 2001::2
Prefix Length: 128, Options: None
LS age: 118
LS Type: Inter Area Prefix Links
Link State ID: 2
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0xB6C9
Length: 44
Metric: 0
Prefix Address: 2001::3
Prefix Length: 128, Options: None
R2#show ip ospf nei
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 255 FULL/DR 00:00:38 10.0.10.1 GigabitEthernet0/0
R2#show ipv6 ospf nei
OSPFv3 Router with ID (2.2.2.2) (Process ID 51)
Neighbor ID Pri State Dead Time Interface ID Interface
1.1.1.1 255 FULL/DR 00:00:33 2 GigabitEthernet0/0
ルートフィルタリング
ルートフィルタリングはリンクステート型のプロトコルであるOSPFでは原則使用することはできないが、例外としてABRでは他エリアのルートをディスタンスベクターで学習しているため、ルートフィルタリングが行える。
OSPFではルートフィルタリングを設定するにあたり、filter-listという構文を使用し、フィルタリングするルート情報をプレフィックスリストで定義する。
設定後はclear ip ospf <プロセスID> process等のコマンドは不要で、設定が即時反映される(ルートフィルタリングが発動する)。設定時はOSPFネイバーがダウンしなかったので、通信影響無しで設定可能だと思われる(日中でも保守作業できそうに思える)。
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#ip prefix-list FILTER-OSPF seq 10 deny 22.22.22.22/32
R2(config)#ip prefix-list FILTER-OSPF seq 20 permit 0.0.0.0/0 le 32 --->全IPv4ルート情報
R2(config)#
R2(config)#ipv6 prefix-list FILTER-OSPFv3 seq 10 deny 2001::3/128
R2(config)#ipv6 prefix-list FILTER-OSPFv3 seq 20 permit ::/0 le 128 --->全IPv6ルート情報
R2(config)#
R2(config)#router ospf 51
R2(config-router)#area 1 filter-list prefix FILTER-OSPF out
R2(config-rtr)#exit
R2(config)#ipv6 router ospf 51
R2(config-rtr)#area 1 filter-list prefix FILTER-OSPFv3 out
R2(config-rtr)#end
R2#wr
動作確認
設定後はプレフィクスリスト「FILTER-OSPF」と「FILTER-OSPFv3」で定義した22.22.22.22/32と2001::3/128のルート情報がR1で学習できなくなっていることを確認する。
R1#show ip route ospf | begin Gateway
Gateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets
O IA 2.2.2.2 [110/2] via 10.0.10.2, 02:36:18, GigabitEthernet0/0
R1#show ipv6 route ospf
IPv6 Routing Table - default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
RL - RPL, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
lA - LISP away, a - Application
OI 2001::2/128 [110/1]
via FE80::2, GigabitEthernet0/0
R1#show ip ospf database summary --->IPv4エリア間ルートのLSDB
OSPF Router with ID (1.1.1.1) (Process ID 51)
Summary Net Link States (Area 0)
LS age: 2024
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 2.2.2.2 (summary Network Number)
Advertising Router: 2.2.2.2
LS Seq Number: 80000005
Checksum: 0xF235
Length: 28
Network Mask: /32
MTID: 0 Metric: 1
R1#show ipv6 ospf database inter-area prefix --->IPv6エリア間ルートのLSDB
OSPFv3 Router with ID (1.1.1.1) (Process ID 51)
Inter Area Prefix Link States (Area 0)
LS age: 1781
LS Type: Inter Area Prefix Links
Link State ID: 1
Advertising Router: 2.2.2.2
LS Seq Number: 80000003
Checksum: 0xA2DD
Length: 44
Metric: 0
Prefix Address: 2001::2
Prefix Length: 128, Options: None
以上
コメント