Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページで
 

例:内部ピアに最適な外部ルートを告知するルーティングポリシーの設定

RFC1771で規定されているBGPプロトコル仕様では、BGPピアは、総合的に最適なルートでなくても(言い換えれば、最適なルートが内部経路であっても)、より優先度の高い外部ルートを内部ピアにアドバタイズすることが定められています。実際のところ、デプロイされたBGP実装はこのルールに従いません。使用から逸脱する理由は、以下のとおりです:

  • アドバタイズされた情報量を最小限に抑える。BGPが、利用可能なパスの数に応じてスケーリングする。

  • ルーティングと転送ループを回避する。

しかし、RFC1771で規定されている「最適な外部ルートを広告する」という動作が有益となるシナリオがいくつかあります。パス情報を制限することは、パス多様性が復元時間を削減する可能性があるため、必ずしも望ましくありません。また、最適な外部パスをアドバタイズすると、RFC3345、Border Gateway Protocol(BGP)永続ルート発振条件に記載されているように、内部BGP(IBGP)ルート発振の問題に対応することができます。

ステートadvertise-externalメントは、BGPスピーカーの動作を変更し、最適な総合パスが内部パスであっても、IBGPピアに最適な外部パスをアドバタイズします。

注:

このステートadvertise-externalメントは、グループとネイバーレベルの両方でサポートされています。ネイバーレベルでステートメントを設定する場合、グループ内のすべてのネイバーに設定する必要があります。そうでない場合は、グループは自動的に別のグループに分割されます。

conditionalオプションは、ルート選択プロセスが、複数出口識別子(MED)メトリックが評価された場合のみに限り、外部ルートがアドバタイズされるよう、advertise-external設定の動作を制限します。そのため、例えばASパスがアクティブパスよりもより悪い(長い)場合、外部ルートはアドバタイズされません。conditionalオプションは、最適な外部パスとアクティブなパスが等しい場合に、外部パスのアドバタイズメントをルート選択プロセスのMEDステップまで制限します。最適な外部パスを選択するのに使用される基準は、conditionalオプションがどのように設定されていても同じであることに注意してください。

Junos OSは、広告されたルートの状態にマッチするBGPエクスポートポリシーの設定もサポートしています。以下のように、アクティブまたは非アクティブなルートのいずれかを次のようにマッチすることができます。

この修飾子は、エクスポートポリシーのコンテキストで使用される場合にのみマッチします。非アクティブなルートを広告できるプロトコルによってルートがアドバタイズされる場合、state inactiveadvertise-inactiveadvertise-externalステートメントの結果としてアドバタイズされたルートに一致します。

例えば、以下の設定は、ユーザー定義コミュニティーとのadvertise-external設定によりアドバタイズされたルートをマークするために、内部ピアに対するBGPへのBGPエクスポートポリシーとして使用できます。そのコミュニティーは、受信ルーターで使用し、転送テーブルからそのルートをフィルターして除外することができます。そういったメカニズムを使うことで、送信者によって転送用に使用されないアドバタイズパスが転送ループにつながるのではないかという懸念に対応できます。

要件

Junos OS 9.3以降が必要です。

概要

この例では、3つのルーティングデバイスを示しています。デバイスR2には、デバイスR1への外部BGP(EBGP)接続があります。デバイスR2には、デバイスR3へのIBGP接続があります。

デバイスR1は、172.16.6.0/24をアドバタイズします。デバイスR2は、デバイスR1のルートのインポートポリシーでローカルプリファレンスを設定する必要はありません。そのため、172.16.6.0/24では100がデフォルトループです。

デバイスR3は、200のローカルプリファレンスで172.16.6.0/24をアドバタイズします。

advertise-externalステートメントがデバイスR2で設定されていない場合、172.16.6.0/24はデバイスR2によってデバイスR3に対してアドバタイズされません。

advertise-externalステートメントがデバイスR2で設定されている場合、172.16.6.0/24はデバイスR2によってデバイスR3に対してアドバタイズされます。

デバイスR3へのセッションのデバイスR2で設定advertise-external conditionalされている場合、172.16.6.0/24はデバイスR2によってデバイスR3に対してアドバタイズされません。デバイスR3でthen local-preference 200設定を削除し、デバイスR2にpath-selection as-path-ignore設定を追加する(そのため、ルート選択プロセスのMEDステップまでパス選択基準を同一にする)場合、172.16.6.0/24はデバイスR2によってデバイスR3に対してアドバタイズされます。

注:

ルートリフレクタでadvertise-externalステートメントを設定するには、no-client-reflectステートメントでクラスタ内リフレクションを無効にする必要があり、クライアントクラスタは、冗長ルートアドバタイズメントの送信を防止するために完全にメッシュ化する必要があります。

ルーティング・デバイスがクラスタのルート・リフレクタとして設定されている場合,ルート・リフレクタが広告するルートは,同じクラスタ識別子を持つ内部ピアから受信するか,両方のピアにクラスタ識別子が設定されていなければ内部ルートとみなされます。内部ピアから受信した,別のクラスタに属する,つまりクラスタ識別子の異なるルートは,外部ルートとみなされます。

トポロジー

図 1は、サンプルのネットワークを示しています。

図 1: 外部アドバタイズに対するBGPトポロジー外部アドバタイズに対するBGPトポロジー

CLIクイック構成は、図 1でのすべてのデバイスの設定を示しています。

セクション#configuration148__policy-advertise-external-stは、デバイスR2の手順を説明します。

設定

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。

デバイスR1

デバイスR2

デバイスR3

手順

ステップバイステップでの手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用する を参照してください。

デバイスR2 を設定するには:

  1. デバイスインターフェイスを設定します。

  2. OSPFまたは別の内部ゲートウェイプロトコル(IGP)を設定します。

  3. デバイスR1へのEBGP接続を設定します。

  4. デバイスR3へのIBGP接続を設定します。

  5. IBGPグループピアリングセッションにadvertise-externalステートメントを追加します。

  6. 自律システム(AS)番号とルーターIDを設定します。

結果

設定モードから、show interfacesshow protocolsshow policy-options、およびshow routing-options のコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

BGPアクティブパスの検証

目的

デバイスR2では、172.16.6.0/24プレフィックスがルーティングテーブルに存在することを確認します。

アクション

意味

デバイスR2は、デバイスR1とデバイスR3の両方から172.16.6.0/24ルートを受信します。デバイスR3からのルートは、アスタリスク(*)によって指定されたように、アクティブなパスです。アクティブなパスには、ローカルプリファレンスがあります。2つのルートのローカルプリファレンスが等しい場合でも、デバイスR3からのルートは、ASパスが最短であるため、アクティブなままになります。

外部ルートアドバタイズメントの検証

目的

デバイスR2では、172.16.6.0/24ルートがデバイスR3に対してアドバタイズされていることを確認します。

アクション

意味

デバイスR2は、デバイスR3に対して172.16.6.0/24ルートをアドバタイズしています。

デバイスR3でのルートの検証

目的

172.16.6.0/24プレフィックスがデバイスR3のルーティングテーブルに存在することを確認します。

アクション

意味

デバイスR3には、172.16.6.0/24に対する静的ルートとBGPルートがあります。

ルートが到達可能ではない場合、またはNexthopが解決できない場合、BGPルートがデバイスR3では非表示になっていることに注意してください。この要件を満たすために、この例ではデバイスR3(static route 0.0.0.0/0 next-hop 10.0.0.5)の静的デフォルトルートを含めています。

条件付きオプションでの実験

目的

BGPパス選択アルゴリズムのコンテキストで、conditionalオプションがどのように機能するかをご覧ください。

アクション

  1. デバイスR2で、conditionalオプションを追加します。

  2. デバイスR2では、172.16.6.0/24ルートがデバイスR3に対してアドバタイズされているかどうかを確認します。

    予想通り、ルートはもうアドバタイズされなくなります。この結果が出るまでには数秒かかる場合があります。

  3. デバイスR3で、then local-preferenceポリシーアクションを無効にします。

  4. デバイスR2で、2つのパスのローカルプリファレンスが等しいことを確認します。

  5. デバイスR2で、ステートas-path-ignoreメントを追加します。

  6. デバイスR2では、172.16.6.0/24ルートがデバイスR3に対してアドバタイズされているかどうかを確認します。

    想定のとおり、ASパス長が無視され、かつローカルの基本設定が同じになるため、ルートがアドバタイズされます。