ルートマップの設定
ルートマップはさまざまな目的で使用でき、一部のルーティングプロトコルは他のプロトコルよりも多くの用途をサポートしています。最も一般的な用途は、別のルーティングプロトコルへのルート再配布を微調整することです。
ルートマップの permit 句と deny 句
ルートマップは、1 つ以上の permit 句または deny 句で構成されます。これらの句の順序は重要です。ルートはマップのトップダウンで評価され、最初の一致が優先されます。ルートがどの句とも一致しない場合、ルートマップと一致しないと見なされます。
各 permit 句には、0 個以上の match ステートメントおよび set ステートメントを含めることができます。match ステートメントはどのルートが句と一致するのかを決定しますが、set ステートメントはルートのいくつかの特性(ルートメトリックなど)を変更します。set ステートメントは必要ありません。ルートを変更することなく、再配布(または別のサービス)のためにルートを照合できます。
各 deny 句には、0 個以上の match ステートメントを含めることができます。ただし、「拒否された」ルートは単にルートマップと一致しないため、set アクションを適用できないことから、set 句を含めても意味がありません。
ルートマップの match ステートメントと set ステートメント
各ルート マップ句には、次の 2 種類の値があります。
-
match 値は、この句が適用されるルートを選択します。
-
set 値は、ルートの一部の属性を変更します。
たとえば、再配布される各ルートについて、ルータは最初にルートマップの句の一致基準を評価します。ルートが基準に一致する場合、そのルートは permit 句または deny 句に従って再配布または拒否されます。permit 句と一致する場合、ルートの属性の一部は、set コマンドからの値によって変更される可能性があります。ルートが基準に一致しない場合、この句はルートに適用されず、システムはルートマップの次の句でルートを評価します。ルートマップのスキャンは、ルートと一致する句が見つかるまで、もしくはルートマップの最後に到達するまで続行します。一致する句がない場合、ルートはルートマップに一致しないと見なされます(拒否アクションと同等)。
1 つの句内の match ステートメントおよび set ステートメントについては、次のようになります。
-
複数の match ステートメントは AND 演算されます。つまり、ルートが句に一致するには、そのルートが各ステートメントを満たす必要があります。
-
1 つの match ステートメントに含まれる複数の値は OR 演算されます。つまり、ルートがある match 句内のいずれかの値と一致する場合、そのルートはその句と全体として一致すると見なされます。
-
match ステートメントがない場合、すべてのルートが句と一致します。
-
ルートマップの permit 句に set ステートメントがない場合、機能(再配布など)は、ルートの現在の属性を変更せずに、ルートに適用されます。
-
deny 句内の set ステートメントは無視されます。「拒否された」ルートは単にルートマップと一致しないため、set アクションを適用できないことから、set 句を含めても意味がありません。
-
match ステートメントまたは set ステートメントがない空の句は、それより前の句と一致しなかったすべてのルートと一致します。次に例を示します。
-
空の permit 句を使用すると、変更を加えずに残りのルートの再配布が可能になります。
-
空の deny 句では、残りのルートを再配布できません。これは、ルートマップがすべてスキャンされたときに明示的な一致が見つからなかった場合のデフォルトアクションです。
-
ルートマップの設定
ルートマップはさまざまな目的で使用でき、一部のルーティングプロトコルは他のプロトコルよりも多くの用途をサポートしています。最も一般的な用途は、別のルーティングプロトコルへのルート再配布を微調整することです。
ルートマップは、1 つ以上の permit 句または deny 句で構成されます。これらの句の順序は重要です。ルートはマップのトップダウンで評価され、最初の一致が優先されます。ルートがどの句とも一致しない場合、ルートマップと一致しないと見なされます。
各 permit 句には、0 個以上の match ステートメントおよび set ステートメントを含めることができます。match ステートメントはどのルートが句と一致するのかを決定しますが、set ステートメントはルートのいくつかの特性(ルートメトリックなど)を変更します。set ステートメントは必要ありません。ルートを変更することなく、再配布(または別のサービス)のためにルートを照合できます。
各 deny 句には、0 個以上の match ステートメントを含めることができます。ただし、「拒否された」ルートは単にルートマップと一致しないため、set アクションを適用できないことから、set 句を含めても意味がありません。
match ステートメントと set ステートメントの評価方法の詳細については、ルートマップの match ステートメントと set ステートメント を注意深く参照してください。
始める前に
アクセスリスト、AS パスアクセスリスト、コミュニティリスト、ポリシーリスト、プレフィックスリストといった他のさまざまなオブジェクトをルートマップで使用して、一致基準を定義することができます。ルートマップを作成する前に、これらのオブジェクトを作成する必要があります。
ACL 照合の場合、IPv4 アドレスには標準 ACL または拡張 ACL を使用できますが、IPv6 アドレスに使用できるのは拡張 ACL のみです。match 句は IPv4 または IPv6 のみに基づいているため、ACL に match ステートメントの正しいアドレススキームがあることを確認してください。
また、他のルーティングプロトコルと比較すると BGP の一致および設定基準が異なることに注意してください。ルートマップを使用するルーティングプロセスに関して正しい一致/設定基準を選択していることを確認してください。
手順
ステップ 1 |
をクリックします。 で [設定の表示(View Configuration)] |
ステップ 2 |
コンテンツテーブルから を選択します。 |
ステップ 3 |
次のいずれかを実行します。
参照されていないオブジェクトを削除するには、オブジェクトの [ごみ箱(trash can)] アイコン()をクリックします。 |
ステップ 4 |
[CLI テンプレート(CLI Template)] として [ルートマップ(Route Map)] を選択します。 |
ステップ 5 |
スマート CLI オブジェクトの [名前(Name)] を入力します。この名前は、CLI テンプレートの最初の行(route-map コマンド内)のルートマップ名としても入力されることに注意してください。 |
ステップ 6 |
最初の句を作成します。 |
ステップ 7 |
[無効を表示(Show Disabled)] をクリックし、句の match ステートメントを設定します。 |
ステップ 8 |
(任意、permit 句のみ)許可された(つまり、一致した)ルートについて、set ステートメントを設定してルート属性を変更できます。ルートを変更する必要はありません。たとえば、ルートを変更せずに再配布することができます。 |
ステップ 9 |
permit/deny 句を追加してルートマップを完成させます。 句を追加するには、permit 行または deny 行の左横)をクリックします。[複製(Duplicate)] コマンドをクリックした句の直後に新しい redistribution sequence-number 句が追加されます。 (ルートマップの句は、オブジェクトに表示される順序ではなく、シーケンス番号の順序で評価されますが、新しい句を順番に挿入することで、オブジェクトの編集が容易になります。オブジェクト内で句を移動することはできません。 句を複製すると新しい空の句が挿入され、それらは事前設定された特性を持ちません。「複製」を作成したら、必要に応じて、上記の説明に従って設定してください。 |
ステップ 10 |
[OK] をクリックしてオブジェクトを保存します。 ルートマップを必要とする機能のために、ルーティングプロセス設定(または FlexConfig オブジェクト)でオブジェクトを使用できるようになりました。 |