このドキュメントでは、ルートにフィルタを適用するさまざまな方法と、フィルタ適用の効果について説明します。このドキュメントで扱うフィルタは、ルータ インターフェイスを通じての更新を防止するフィルタ、ルーティング更新でルートのアドバタイジングを制御するフィルタ、ルーティング更新の処理を制御するフィルタです。
ルート フィルタリングは、ルート テーブルに登録されたり、アドバタイジングでルート テーブルから送出されるルートを規制することによって動作するため、リンク ステート ルーティング プロトコルとディスタンス ベクター プロトコルでは効果が異なります。ディスタンス ベクター プロトコルを実行しているルータは、ルート テーブルの内容に基づいてルートをアドバタイズします。このため、ルート フィルタは、ルータがネイバーにアドバタイズするためのルートに、影響を与えます。
一方、リンク ステート プロトコルを実行するルータはネイバーのアドバタイズされるルート エントリではなくリンク ステート データベースの情報に基づいて、ルートを決定します。ルート フィルタはリンク ステート アドバタイズメントまたはリンク ステート データベースに影響しません。したがって、このドキュメントの情報は、Routing Information Protocol(RIP)、RIP バージョン 2、Interior Gateway Routing Protocol(IGRP)、Enhanced IGRP(EIGRP)などのディスタンス ベクター IP ルーティング プロトコルにだけ適用されます。
このドキュメントに関しては個別の前提条件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このマニュアルの情報は、特定のラボ環境に置かれたデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。実稼動中のネットワークで作業をしている場合、実際にコマンドを使用する前に、その潜在的な影響について理解しておく必要があります。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
passive interface コマンドを使用すると、ルータがルータ インターフェイスからルーティング アップデートを送信することを防止できます。ルーティング アップデート メッセージがルータ インターフェイスから送信されないようにすると、ネットワークの他のシステムはダイナミックにルートを学習しなくなります。passive interface コマンドの使用例については、『IP ルーティングのプロトコルを選ばない機能の設定』の「パッシブ インターフェイスの例」の項を参照してください。
RIP および IGRP では、passive interface コマンドは、ルータが特定のネイバーにアップデートを送信することを停止しますが、ルータはそのネイバーからのルーティング アップデートのリスニングと使用を継続します。ただし、EIGRP では、passive interface コマンドは、「EIGRP での受動インターフェイス機能の動作」で説明するように、プロトコルに異なる影響を与えます。
ルーティング アップデートのルートのアドバタイズと処理を制御するには、distribute-list コマンドを使用します。distribute-list コマンドには、distribute-list in と distribute-list out の 2 つがあります。これらは構文は似ていますが、それぞれで使用可能なオプションと動作は大きく異なります。
distribute-list in コマンドは、着信ルーティング アップデートで処理されるルートを制御するために使用します。このコマンドの例については、「distribute-list in の使用」の項を参照してください。
distribute-list out コマンドは、発信ルーティング アップデートに含まれるルートを制御するために使用します。例については、「distribute-list out の使用」の項を参照してください。
distribute-list in コマンドの構文を次に示します。
distribute-list アクセスリスト番号 in [インターフェイス名]
access-list-number は、着信ルーティング アップデートの内容が照合される標準の IP アクセスリストです。[interface-name] 引数はオプションで、アップデートが予想されるインターフェイスを指定します。access-list-number で参照されるアクセスリストはアップデートの内容に適用され、ルーティング アップデート パケットの送信元または宛先に適用されるのではないことに注意してください。ルータは、アクセス リストに基づいて、ルーティング テーブルに内容を含めるかどうかを決定します。以下に、いくつかの例を示します。
access-list 1 permit 1.0.0.0 0.255.255.255 router rip distribute-list 1 in !--- The distribute-list command is given !--- under the router configuration mode.
すべての着信 RIP 更新は、アクセスリスト 1 でチェックされ、1.xxx.xxx.xxx 形式に一致したルートだけがルーティング テーブルに格納されます。
特定のルーティング プロセスでは、インターフェイスごとに 1 つの着信インターフェイス固有配布リストと、1 つのグローバルに定義された配布リストを定義できます。たとえば、次の組み合わせが可能です。
access-list 1 permit 1.0.0.0 0.255.255.255 access-list 2 permit 1.2.3.0 0.0.0.255 router rip distribute-list 2 in ethernet 0 distribute-list 1 in
このシナリオでは、ルータはアップデートを受信するインターフェイスを確認します。それが Ethernet 0 である場合、ルーティング テーブルに配置される前にアクセス リスト 2 が適用されます。このチェックに基づいて、ネットワークが拒否されると、このネットワークに対してさらに詳しい確認は行われません。ただし、配布リスト 2 がネットワークを許可すると、配布リスト 1 もチェックされます。両方の配布リストがネットワークを許可すると、テーブルに配置されます。複数の配布リストが使用される場合は次のアルゴリズムが適用されます。
着信更新から次のネットワークを抽出します。
着信先のインターフェイスをチェックします。
そのインターフェイスに適用される配布リストがありますか。
はい:ネットワークはリストによって拒否されますか。
はい:ネットワークはルーティング テーブルに登録されません。ステップ 1 に戻ります。
いいえ:ネットワークは許可されます。ステップ 4 に進みます。
いいえ:ステップ 4 に進みます。
グローバル配布リストがありますか。
はい:ネットワークはリストによって拒否されますか。
はい:ネットワークはルーティング テーブルに登録されません。ステップ 1 に戻ります。
いいえ:ネットワークはルーティング テーブルに登録されます。ステップ 1 に戻ります。
いいえ:ネットワークはルーティング テーブルに登録されます。ステップ 1 に戻ります。
distribute-list out コマンドの構文を次に示します。
distribute-list アクセスリスト番号 out [インターフェイス名|ルーティング プロセス|自律システム番号]
access-list-number は、発信ルーティング アップデートの内容が照合される標準の IP アクセスリストです。[interface-name] 引数はオプションで、アップデートが送信されるインターフェイスを指定します。[routing process|autonomous-system-number]引数は、別のルーティングプロセスまたは自律システム番号からの再配布が指定されている場合に使用されます。リストは指定されたプロセスから現在のプロセスにインポートされるすべてのルートに適用されます。
以下に、いくつかの例を示します。
access-list 1 permit 1.0.0.0 0.255.255.255 router rip default-metric 1 redistribute igrp 20 distribute-list 1 out igrp 20
ここでは、igrp 20 からのルートが RIP に再配布されます。元々igrp 20から送信された送信ルーティングアップデートは、access-list 1に対してチェックされます。1.xxx.xxx.xxx形式に一致するルートのみが送信されます。
異なるインターフェイスに適用される場合、またはグローバルに適用される場合は、特定のルーティング プロセスに複数の配布リストを指定できることに注意してください。特定のルーティング プロトコルで、インターフェイスごとに 1 つのインターフェイス固有の配布リストと各プロセス/自律システムの対に 1 つのプロトコル固有の配布リストを定義できます。
注:インターフェイス固有の配布リストは、インターフェイスごとに方向ごとに1つ定義することができます。つまり、同じインターフェイスで、インバウンド方向(distribute-list in)に 1 つ distribute-list in を定義し、アウトバウンド方向(distribute-list out)に 1 つの distribute-list in を定義できます。
access-list 1 permit 1.0.0.0 0.255.255.255 access-list 2 permit 1.2.3.0 0.0.0.255 router rip distribute-list 2 out ethernet 0 distribute-list 1 out
このシナリオでは、ルータはイーサネット 0 から 1.2.3.0 サブネットに関連するルートだけを送信し、1.0.0.0 内のネットワークに関するアップデートは、1.2.3.0 サブネットを含む残りのインターフェイスにフラッディングされます。複数の配布リストを使用する場合は、次のアルゴリズムを使用します。
発信更新を受信する次のネットワークを選択します。
送出先のインターフェイスをチェックします。
そのインターフェイスに適用される配布リストがありますか。
はい:ネットワークはリストによって拒否されますか。
はい:ネットワークは公開されません。ステップ 1 に戻ります。
いいえ:ネットワークは公開されます。ステップ 4 に進みます。
いいえ:ステップ 4 に進みます。
ルートの派生元のルーティング プロセスまたは AS をチェックします。
そのプロセスまたは AS に適用される配布リストがありますか。
はい:ネットワークはリストによって拒否されますか。
はい:ネットワークは公開されません。ステップ 1 に戻ります。
いいえ:ネットワークは公開されます。ステップ 6 に進みます。
いいえ:ステップ 6 に進みます。
グローバル配布リストがありますか。
はい:ネットワークはリストによって拒否されますか。
はい:ネットワークは公開されません。ステップ 1 に戻ります。
いいえ:ネットワークは公開されます。ステップ 1 に戻ります。
いいえ:ネットワークは機能します。ステップ 1 に進みます。
配布リストのチェックは、ルータがルーティング テーブルまたはアップデートにルートを加える前に、ディスタンス ベクター ルートに対して行われる多数のチェックの 1 つにすぎないことに注意してください。望ましさ、ポリシー、スプリット ホライズン、およびその他の要素についてもチェックを行います。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
10-Aug-2005 |
初版 |