目次
概要
OSPFでのディストリビュートリストのルートフィルタの動作がRIP/EIGRPの場合と違っていることを、シンプルなネットワーク構成をもとにして実機で確認します。
ここでは、ディストリビュートリストの設定のみを行っていきますが、プレフィクスリストの場合も同様です。
ネットワーク構成
OSPFのディストリビュートリストのルートフィルタの動作について、Ciscoルータで実際に確認します。下記のネットワーク構成で考えます。
初期設定
R1 初期設定抜粋
interface Serial1/0 ip address 10.1.12.1 255.255.255.0 clock rate 64000 ! interface Serial1/1 ip address 10.1.13.1 255.255.255.0 clock rate 64000 ! router ospf 100 router-id 1.1.1.1 log-adjacency-changes network 10.1.12.0 0.0.0.255 area 0 network 10.1.13.0 0.0.0.255 area 0
R2 初期設定抜粋
interface Loopback0 ip address 172.16.1.2 255.255.255.0 ip ospf network point-to-point ! interface Loopback1 ip address 172.16.2.2 255.255.255.0 ip ospf network point-to-point ! interface Loopback2 ip address 172.16.3.2 255.255.255.0 ip ospf network point-to-point ! interface Serial0/0 ip address 10.1.12.2 255.255.255.0 ! router ospf 100 router-id 2.2.2.2 log-adjacency-changes network 10.1.12.0 0.0.0.255 area 0 network 172.16.0.0 0.0.255.255 area 0
R3 初期設定抜粋
interface Loopback0 ip address 192.168.1.3 255.255.255.0 ip ospf network point-to-point ! interface Loopback1 ip address 192.168.2.3 255.255.255.0 ip ospf network point-to-point ! interface Loopback2 ip address 192.168.3.3 255.255.255.0 ip ospf network point-to-point ! interface Serial0/0 ip address 10.1.13.3 255.255.255.0 ! router ospf 100 router-id 3.3.3.3 log-adjacency-changes network 10.1.13.0 0.0.0.255 area 0 network 192.168.0.0 0.0.255.255 area 0
このネットワーク構成でR1でOSPFのルートフィルタの動作を確認します。フィルタをかけていないときのR1のルーティングテーブルは次のようになります。
R1 ルーティングテーブル
R1#show ip route ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets O 172.16.1.0 [110/782] via 10.1.12.2, 00:04:21, Serial1/0 O 172.16.2.0 [110/782] via 10.1.12.2, 00:04:21, Serial1/0 O 172.16.3.0 [110/782] via 10.1.12.2, 00:04:21, Serial1/0 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial1/1 C 10.1.12.0 is directly connected, Serial1/0 O 192.168.1.0/24 [110/782] via 10.1.13.3, 00:04:21, Serial1/1 O 192.168.2.0/24 [110/782] via 10.1.13.3, 00:04:21, Serial1/1 O 192.168.3.0/24 [110/782] via 10.1.13.3, 00:04:23, Serial1/1
また、R1のLSDBのサマリーは次の出力です。
R1 LSDBサマリー
R1#show ip ospf database OSPF Router with ID (1.1.1.1) (Process ID 100) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 354 0x80000005 0x0054F1 4 2.2.2.2 2.2.2.2 351 0x80000003 0x000EE0 5 3.3.3.3 3.3.3.3 285 0x80000007 0x009247 5
現在の構成は、シングルエリアでなおかつマルチアクセスのネットワークがありません。そのため、R1のLSDBは各ルータが生成したLSAタイプ1のみで構成されていることがわかります。
インタフェースを対象としたoutのフィルタ
まずは、OSPFでは機能しないインタフェースを対象としたout方向のフィルタの設定を行います。R1のSerial1/0のoutで、192.168.1.0/24を送信しないようなフィルタを設定します。R1で、次のようにコマンドを入力していきます。
R1 Serial1/0のoutで192.168.1.0/24をフィルタ
access-list 1 deny 192.168.1.0 access-list 1 permit any ! router ospf 100 distribute-list 1 out serial 1/0
outでインタフェースを指定すると、「% Interface not allowed with OUT for OSPF」というエラーメッセージが出てきて、コマンドは受け付けられません。次のようにインタフェースを指定しないで設定すれば、コマンド自体は受け付けられます。
R1 インタフェースを指定せずにoutのディストリビュートリスト
router ospf 100 distribute-list 1 out
ただし、コマンドが受け付けられても、実際には想定したようなフィルタは一切かかっていません。R2のルーティングテーブルを見ると、192.168.1.0/24のルートが載せられています。
R2 ルーティングテーブル
R2#show ip route ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets C 172.16.1.0 is directly connected, Loopback0 C 172.16.2.0 is directly connected, Loopback1 C 172.16.3.0 is directly connected, Loopback2 10.0.0.0/24 is subnetted, 2 subnets O 10.1.13.0 [110/845] via 10.1.12.1, 00:14:59, Serial0/0 C 10.1.12.0 is directly connected, Serial0/0 O 192.168.1.0/24 [110/846] via 10.1.12.1, 00:14:59, Serial0/0 O 192.168.2.0/24 [110/846] via 10.1.12.1, 00:14:59, Serial0/0 O 192.168.3.0/24 [110/846] via 10.1.12.1, 00:15:00, Serial0/0
インタフェースを省略すると、全インタフェースが対象です。しかし、OSPFではインタフェースを対象としたディストリビュートリストは機能していないことがわかります。
OSPFのディストリビュートリストでoutの後は、ルーティングプロトコルを指定すると、再配送時のルートフィルタを行うことができます。
inのフィルタ
次にディストリビュートリストをinで適用してフィルタします。R1で172.16.3.0/24のルートをディストリビュートリストのinによって、フィルタします。R1で、次のように設定します。
R1 Serial1/0のinで172.16.3.0/24をフィルタ
access-list 2 deny 172.16.3.0 access-list 2 permit any ! router ospf 100 distribute-list 2 in serial 1/0
そして、R1のルーティングテーブルを見ると、172.16.3.0/24のルートがなくなっています。
R1 ルーティングテーブル
R1#sh ip route ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 2 subnets O 172.16.1.0 [110/782] via 10.1.12.2, 00:00:16, Serial1/0 O 172.16.2.0 [110/782] via 10.1.12.2, 00:00:16, Serial1/0 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial1/1 C 10.1.12.0 is directly connected, Serial1/0 O 192.168.1.0/24 [110/782] via 10.1.13.3, 00:00:16, Serial1/1 O 192.168.2.0/24 [110/782] via 10.1.13.3, 00:00:16, Serial1/1 O 192.168.3.0/24 [110/782] via 10.1.13.3, 00:00:16, Serial1/1
ただし、LSA自体はフィルタしていません。この状態で、R1のLSDBのサマリーを確認します。
R1 LSDBサマリー
R1#show ip ospf database OSPF Router with ID (1.1.1.1) (Process ID 100) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 1839 0x80000005 0x0054F1 4 2.2.2.2 2.2.2.2 1836 0x80000003 0x000EE0 5 3.3.3.3 3.3.3.3 1770 0x80000007 0x009247 5
「Age」の部分を除いて、初期状態のときとLSDBのサマリーはいっさい変わっていません。LSAのフィルタではなく、ルーティングテーブルにルートを登録するときにフィルタをかけています。なお、inでインタフェースを指定したときは、出力インタフェースが指定したインタフェースであるルートが対象です。次のように設定を変更すれば、フィルタはかからなくなります。
R1 フィルタを適用するインタフェースの変更
R1(config)#router ospf 100 R1(config-router)#no distribute-list 2 in serial 1/0 R1(config-router)#distribute-list 2 in serial 1/1 R1(config-router)#do show ip route ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets O 172.16.1.0 [110/782] via 10.1.12.2, 00:00:30, Serial1/0 O 172.16.2.0 [110/782] via 10.1.12.2, 00:00:30, Serial1/0 O 172.16.3.0 [110/782] via 10.1.12.2, 00:00:30, Serial1/0 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial1/1 C 10.1.12.0 is directly connected, Serial1/0 O 192.168.1.0/24 [110/782] via 10.1.13.3, 00:00:30, Serial1/1 O 192.168.2.0/24 [110/782] via 10.1.13.3, 00:00:30, Serial1/1 O 192.168.3.0/24 [110/782] via 10.1.13.3, 00:00:31, Serial1/1
これは、R1では172.16.3.0/24のルートの出力インタフェースがSerial1/0であるためです。また、インタフェースの指定を省略すれば全インタフェースが対象となります。そのため、172.16.3.0/24のルートはルーティングテーブルに載らなくなります。
R1 フィルタするインタフェースの省略
R1(config-router)#no distribute-list 2 in serial 1/1 R1(config-router)#distr R1(config-router)#distribute-list 2 in R1(config-router)#do show ip rou ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 2 subnets O 172.16.1.0 [110/782] via 10.1.12.2, 00:00:03, Serial1/0 O 172.16.2.0 [110/782] via 10.1.12.2, 00:00:03, Serial1/0 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial1/1 C 10.1.12.0 is directly connected, Serial1/0 O 192.168.1.0/24 [110/782] via 10.1.13.3, 00:00:03, Serial1/1 O 192.168.2.0/24 [110/782] via 10.1.13.3, 00:00:03, Serial1/1 O 192.168.3.0/24 [110/782] via 10.1.13.3, 00:00:03, Serial1/1
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]