例:ルート フィルタ リストの構成
Junos OSでは、ポリシー ステートメントで使用するルート フィルターを以前からサポートしてきました。ポリシーが変更されるたびに、ルート フィルターをポリシーと共にインラインで処理する必要があります。多数のルート フィルターを含むポリシーは、読み込みに時間がかかります。
この例では、ルート フィルター リストを作成し、そのリストをポリシー ステートメントで使用する方法を示します。ルート フィルター リストを使用すると、特定のポリシーのリロードに必要な時間が短縮されます。
処理するルート フィルターの数が少ない場合に、個々のルート フィルター エントリーの代わりにルート フィルター リストを使用しても、速度上のメリットはありません。速度の利点は、主にポリシー内に数百または数千のルート フィルターがリストされている環境で見られます。
要件
BGP や OSPF などのルーティング プロトコルで設定され、ピアとルート情報をアクティブに交換するルーター。
ルート フィルター リストで構成されるルーターは、Junos OS Release 15.2 以降を実行している必要があります。
概要
route-filter-list
ステートメントでは、ルーティング ポリシーで使用するルート フィルターの事前定義リストを作成できます。[edit policy-options]
階層レベルでリストを設定します。設定されたルート フィルター リストは、[edit policy-options policy-statement policy-statement-name term term-name from]
階層レベルのポリシー ステートメントの from
セクションで一致条件として参照されます。
この例では、設定しているルーターは、BGPネイバー192.0.2.1からいくつかのルートを受信しています。これは、 show route receive-protocol bgp 192.0.2.1
操作コマンドの出力に表示されます。
user@router> show route receive-protocol bgp 192.0.2.1
inet.0: 17 destinations, 18 routes (16 active, 0 holddown, 1 hidden)
Prefix Nexthop MED Lclpref AS path
* 198.151.100.0/29 192.0.2.1 103 I
* 198.151.100.8/29 192.0.2.1 103 I
* 203.0.113.0/29 192.0.2.1 103 I
* 203.0.113.8/29 192.0.2.1 103 I
* 203.0.113.16/29 192.0.2.1 103 I
設定
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
set policy-options route-filter-list rf-list-1 203.0.113.0/29 exact set policy-options route-filter-list rf-list-1 203.0.113.8/29 exact set policy-options route-filter-list rf-list-1 203.0.113.16/29 orlonger accept set policy-options policy-statement rf-test-policy term term2 from route-filter 198.51.100.0/29 upto 198.51.100.0/30 set policy-options policy-statement rf-test-policy term term2 from route-filter 198.51.100.8/29 upto 198.51.100.8/30 accept set policy-options policy-statement rf-test-policy term term2 from route-filter-list rf-list-1 set policy-options policy-statement rf-test-policy then reject set protocols bgp group test-group import rf-test-policy
手順
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの「設定モードでのCLIエディターの使用」を参照してください。
次のステップバイステップの手順では、次のことを行うために必要な手順について説明します。
rf-list-1
という名前のルート フィルター リストを構成し、後でルート ポリシーで使用するためにリストを設定します。ルート フィルターを使用する
rf-test-policy
という名前のルーティング ポリシー ステートメントと、構成済みのルート フィルター リストを構成します。インポート フィルターとして
rf-test-policy
を使用するように BGP を設定します。
後でルート ポリシーで使用するために、
rf-list-1
という名前のルート フィルター リストを構成します。[edit policy-options] user@router# set route-filter-list rf-list-1
リスト
rf-list-1
を入力します。リスト内のステートメントの1つにアクションが設定されていることに注意してください。このアクションは、受信した宛先プレフィックスと一致するとすぐに実行されます。
[edit policy-options] user@router# set route-filter-list rf-list-1 203.0.113.0/29 exact user@router# set route-filter-list rf-list-1 203.0.113.8/29 exact user@router# set route-filter-list rf-list-1 203.0.113.16/29 orlonger accept
ルート フィルターを使用する
rf-test-policy
という名前のルーティング ポリシー ステートメントと、構成済みのルート フィルター リストを構成します。このポリシーの全体的なアクションは
reject.
個々のルート フィルターおよびルート フィルター リストの要素で、アクションがaccept
に構成されています。個々のルート フィルター ステートメントおよびルート フィルター リストの要素で構成されたアクションは、受信した宛先プレフィックスが一致した直後に実行されます。[edit policy-options] user@router# set policy-statement rf-test-policy term term2 from route-filter 198.51.100.0/29 upto 198.51.100.0/30 user@router# set policy-statement rf-test-policy term term2 from route-filter 198.51.100.8/29 upto 198.51.100.8/30 accept user@router# set policy-statement rf-test-policy term term2 from route-filter-list rf-list-1 user@router# set policy-statement rf-test-policy then reject
BGPを設定して、設定したポリシーをインポート・フィルタとして使用し、一部のルートを選択的に許可し、他のルートのルーティング・テーブルへの追加を拒否します。
[edit protocols bgp group test-group] user@router# set import rf-test-policy
検証
- 構成されたルート フィルター リストの確認
- 設定されたポリシーステートメントの検証
- ポリシーステートメントがBGPプロトコルのインポートポリシーとして適用されていることの確認
- ルート フィルター リストが想定どおりに動作していることを確認する
構成されたルート フィルター リストの確認
目的
ルート フィルター リストが正しく構成されていることを確認するために、[edit]
階層レベルで show policy-options route-filter-list route-filter-list-name
コマンドを発行します。
アクション
[edit] user@routershow policy-options route-filter-list rf-list-1 203.0.113.0/29 exact; 203.0.113.8/29 exact; 203.0.113.16/29 orlonger accept;
意味
出力は、保存されている設定が正しいことを示しています。
設定されたポリシーステートメントの検証
目的
ポリシーステートメントが正しく設定されていることを確認するために、[edit]
階層レベルで show policy-options policy-statement policy-statement-name
コマンドを発行します。
アクション
[edit] user@router# show policy-options policy-statement rf-test-policy from { route-filter 198.51.100.0/29 upto 198.51.100.0/30; route-filter 198.51.100.8/29 upto 198.51.100.8/30 accept; route-filter-list rf-list-1; } then reject;
意味
出力では、保存されている設定が正しいことが確認されます。
ポリシーステートメントがBGPプロトコルのインポートポリシーとして適用されていることの確認
目的
設定したポリシーステートメントがBGPプロトコルのインポートポリシーとして適用されていることを確認するには、[edit]
階層レベルでshow protocols bgp import
コマンドを発行します。
アクション
[edit] user@router# show protocols bgp import import rf-test-policy;
意味
出力は、保存されている設定が正しいことを確認します。
まだ行っていない場合は、[edit]
階層レベルで commit
コマンドを発行して、設定をアクティブにすることができます。
ルート フィルター リストが想定どおりに動作していることを確認する
目的
構成の確認とコミットが完了したので、 show route receive-protocol bgp 192.0.2.1
操作コマンドを発行してルート フィルター リストの動作を確認します。
アクション
この出力を、ルート フィルター リストとポリシー ステートメントを設定する前に発行された同じコマンドの出力と比較すると、一部のルートがルーティング テーブルにインストールされていないことがわかります。
user@router> show route receive-protocol bgp 192.0.2.1
inet.0: 14 destinations, 15 routes (13 active, 0 holddown, 1 hidden)
Prefix Nexthop MED Lclpref AS path
* 198.151.100.8/29 192.0.2.1 103 I
* 203.0.113.16/29 192.0.2.1 103 I
意味
出力は、以前にインストールされた5つのBGPルートのうち3つがポリシーステートメント rf-test-policy
によって拒否されたことを示しています。前のリストから残っているルートは、フィルター定義の一部としてリストされた accept
アクションを持つ2つだけです。他のルートは policy-statement
のアクションによって拒否されました。