エリア間の経路は、ABR が作るサマリー LSA(タイプ3)で伝わります。ABR で area filter-list コマンドを使うと、このタイプ3 LSA をプレフィックスリストで選んで止められます。設定で大事なのは、フィルタをどの向き(in/out)に掛けるかです。
area filter-listのinとoutの違い- 特定のエリアへ入る経路を止める設定(in)
- 特定のエリアから出る経路を止める設定(out)
in と out の向き
area エリア番号 filter-list prefix リスト名 in|out の向きは、指定したエリアから見た向きです。
| 指定 | 止める経路 | この記事の例 |
|---|---|---|
in | 指定したエリアへ入るエリア間経路(ほかのエリアの経路を、そのエリアへタイプ3で広告するとき) | エリア23の 3.3.3.3/32 を、エリア12へ入れない |
out | 指定したエリアから出るエリア間経路(そのエリアの経路を、ほかのエリアへタイプ3で広告するとき) | エリア12の 1.1.1.1/32 を、エリア0・エリア23へ出さない |
このフィルタが止めるのは、ABR が作るタイプ3 LSA だけです。エリアの中のタイプ1・2 LSA や、外部経路のタイプ5 LSA には効きません。
検証構成
R2 を ABR にして、エリア12(R1)、エリア23(R3)、エリア0(R5)の3つのエリアにつなぎます。R1 のループバック 1.1.1.1/32 と R3 のループバック 3.3.3.3/32 を、フィルタの対象にします。
OSPF の基本設定
R1
R1(config)#router ospf 1 R1(config-router)# network 1.1.1.1 0.0.0.0 area 12 R1(config-router)# network 192.168.12.0 0.0.0.255 area 12
R2
R2(config)#router ospf 1 R2(config-router)# network 192.168.12.0 0.0.0.255 area 12 R2(config-router)# network 192.168.23.0 0.0.0.255 area 23 R2(config-router)# network 192.168.25.0 0.0.0.255 area 0
R3
R3(config)#router ospf 1 R3(config-router)# network 3.3.3.3 0.0.0.0 area 23 R3(config-router)# network 192.168.23.0 0.0.0.255 area 23
R5
R5(config)#router ospf 1 R5(config-router)# network 192.168.25.0 0.0.0.255 area 0
show ip route ospf:フィルタ前のルーティングテーブル
R1 は 3.3.3.3/32 を、R3 は 1.1.1.1/32 を、R5 は両方を、エリア間経路(O IA)として学習しています。コストの 3 は、ループバック 1 + リンク 1 + リンク 1 です。
R1
R1#show ip route ospf
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/3] via 192.168.12.2, 00:00:01, FastEthernet0/0.12
O IA 192.168.23.0/24 [110/2] via 192.168.12.2, 00:11:11, FastEthernet0/0.12
O IA 192.168.25.0/24 [110/2] via 192.168.12.2, 00:11:08, FastEthernet0/0.12
R3
R3#show ip route ospf
1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/3] via 192.168.23.2, 00:03:28, FastEthernet0/0.23
O IA 192.168.12.0/24 [110/2] via 192.168.23.2, 00:03:28, FastEthernet0/0.23
O IA 192.168.25.0/24 [110/2] via 192.168.23.2, 00:03:24, FastEthernet0/0.23
R5
R5#show ip route ospf
1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/3] via 192.168.25.2, 00:04:03, FastEthernet0/0.25
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/3] via 192.168.25.2, 00:04:03, FastEthernet0/0.25
O IA 192.168.12.0/24 [110/2] via 192.168.25.2, 00:04:03, FastEthernet0/0.25
O IA 192.168.23.0/24 [110/2] via 192.168.25.2, 00:04:03, FastEthernet0/0.25
インバウンド(in)のフィルタ
エリア12へ入る経路のうち、3.3.3.3/32 だけを止めます。3.3.3.3/32 はエリア23の経路なので、R2 はこれをタイプ3 LSA にしてエリア0とエリア12へ広告します。このうちエリア12へ入る向きだけを止めます。
プレフィックスリストを作る
3.3.3.3/32 だけを拒否し、ほかはすべて許可するプレフィックスリストを作ります。プレフィックスリストは最後に「すべて拒否」が暗黙で入るので、2行目の permit 0.0.0.0/0 le 32 がないと、ほかの経路まで止まります。
R2
R2(config)#ip prefix-list TO_AREA12 deny 3.3.3.3/32
R2(config)#ip prefix-list TO_AREA12 permit 0.0.0.0/0 le 32
area filter-list を in で設定する
ABR の R2 で、エリア12に in で適用します。
R2
R2(config)#router ospf 1
R2(config-router)# area 12 filter-list prefix TO_AREA12 in
結果を確認する
しばらくすると、R1 のルーティングテーブルから 3.3.3.3/32 が消えます。エリア0(R5)宛ての広告は止めていないので、R5 では 3.3.3.3/32 は残ります。
R1
R1# show ip route ospf O IA 192.168.23.0/24 [110/2] via 192.168.12.2, 00:11:37, FastEthernet0/0.12 O IA 192.168.25.0/24 [110/2] via 192.168.12.2, 00:11:34, FastEthernet0/0.12
アウトバウンド(out)のフィルタ
エリア12から出る経路のうち、1.1.1.1/32 だけを止めます。R2 は 1.1.1.1/32 をタイプ3 LSA にしてエリア0とエリア23へ広告しますが、out はエリア12から出るすべての向きに効くので、両方への広告が止まります。
プレフィックスリストを作る
R2
R2(config)#ip prefix-list FROM_AREA12 deny 1.1.1.1/32
R2(config)#ip prefix-list FROM_AREA12 permit 0.0.0.0/0 le 32
area filter-list を out で設定する
R2
R2(config)#router ospf 1
R2(config-router)# area 12 filter-list prefix FROM_AREA12 out
結果を確認する
R3 と R5 のルーティングテーブルから、1.1.1.1/32 が消えています。
R3
R3#show ip route ospf O IA 192.168.12.0/24 [110/2] via 192.168.23.2, 00:12:45, FastEthernet0/0.23 O IA 192.168.25.0/24 [110/2] via 192.168.23.2, 00:12:41, FastEthernet0/0.23
R5
R5#show ip route ospf
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/3] via 192.168.25.2, 00:12:49, FastEthernet0/0.25
O IA 192.168.12.0/24 [110/2] via 192.168.25.2, 00:12:49, FastEthernet0/0.25
O IA 192.168.23.0/24 [110/2] via 192.168.25.2, 00:12:49, FastEthernet0/0.25
まとめ
| やりたいこと | 設定(R2) | 結果 |
|---|---|---|
| エリア12へ 3.3.3.3/32 を入れない | area 12 filter-list prefix TO_AREA12 in | R1 だけが 3.3.3.3/32 を学習しない |
| エリア12から 1.1.1.1/32 を出さない | area 12 filter-list prefix FROM_AREA12 out | R3・R5 の両方が 1.1.1.1/32 を学習しない |
向きは「指定したエリアに入る」か「指定したエリアから出る」かで考えます。特定のエリアにだけ見せたくない経路は in、エリアの外へ一切出したくない経路は out を使います。
参考
IP Routing: OSPF Configuration Guide, Cisco IOS Release 15M&T – OSPF ABR Type 3 LSA Filtering(Cisco)
コメント