Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

マルチプロトコルBGP

マルチプロトコル BGP を理解する

マルチプロトコルBGP(MP-BGP)は、BGP の拡張機能で、BGP が複数のネットワーク層やアドレスファミリーのルーティング情報を伝送できるようにします。MP-BGP は、マルチキャストルーティングに使用するユニキャストルートを、ユニキャストIP転送に使用するルートとは別に、転送することができます。

MP-BGP を有効にするためには、ステートfamily inetメントを含めることで、ユニキャスト IPv4 以外のアドレスファミリーのネットワーク層到達可能性情報(NLRI)を伝送するように、BGP を設定する必要があります。

MP-BGP が IPv6 アドレスファミリーのために、NLRI を伝送できるようにするには、ステートfamily inet6メントを使用します:

ルーターのみで、MP-BGP が IPv4 アドレスファミリーのためのレイヤ 3 仮想プライベートネットワーク(VPN)NLRI を伝送できるようにするには、family inet-vpnステートメントを使用します。

ルーターのみで、MP-BGP が IPv6 アドレスファミリーのためのレイヤ 3 VPN NLRI を伝送できるようにするには、ステートfamily inet6-vpnメントを使用します。

ルーターのみで、MP-BGP が IPv4 アドレスファミリーのためのマルチキャスト VPN NLRI を伝送できるようにし、VPN シグネリングを有効にするには、family inet-mvpnステートメントを使用します。

MP-BGP が、IPv6 アドレスファミリーのためのマルチキャスト VPN NLRI を伝送できるようにし、VPN シグネリングを有効にするには、family inet6-mvpnステートメントを使用します。

マルチプロトコル BGP ベースのマルチキャスト VPN の詳細については、Junos OS マルチキャストプロトコルユーザ・ガイドラインを参照してください。

これらのステートメントを含めることができる階層レベルの一覧は、これらのステートメントのステートメント概要セクションを参照してください。

注:

その[edit protocols bgp family]階層レベルで指定されたアドレスファミリーを変更した場合、ルーティング・デバイスの現在の BGP セッションはすべて削除され、その後、再確立されます。

Junos OS Release 9.6 以降では、特定の BGP アドレスファミリーに対してループ値を指定することができます。

デフォルトでは、BGP ピアは、ユニキャスト転送の目的で使用するユニキャストルートのみを伝送します。BGP ピアが、マルチキャストルートのみを伝送するように設定するには、multicastオプションを指定します。BGP ピアが、ユニキャストとマルチキャストの両方のルートを伝送するように設定するには、anyオプションを指定します。

MP-BGP が設定されている場合、BGP は、異なるルーティングテーブルに MP-BGP ルートをインストールします。各ルーティングテーブルは、プロトコルファミリーまたはアドレスファミリーインジケーター(AFI)と、それに続くアドレスファミリー識別子(SAFI)によって識別されます。

次のリストは、可能なすべての AFI と SAFI の組み合わせを示しています。

  • AFI=1、SAFI=1、IPv4 ユニキャスト

  • AFI=1、SAFI=2、IPv4 マルチキャスト

  • AFI=1、SAFI=128、L3VPN IPv4 ユニキャスト

  • AFI=1、SAFI=129、L3VPN IPv4 マルチキャスト

  • AFI=2、SAFI=1、IPv6 ユニキャスト

  • AFI=2、SAFI=2、IPv6 マルチキャスト

  • AFI=25、SAFI=65、BGP-VPLS/BGP-L2VPN

  • AFI=2、SAFI=128、L3VPN IPv6 ユニキャスト

  • AFI=2、SAFI=129、L3VPN IPv6 マルチキャスト

  • AFI=1、SAFI=132、RT-Constrain

  • AFI=1、SAFI=133、フローの仕様

  • AFI=1、SAFI=134、フローの仕様

  • AFI=3、SAFI=128、CLNS VPN

  • AFI=1、SAFI=5、NG-MVPN IPv4

  • AFI=2、SAFI=5、NG-MVPN IPv6

  • AFI=1、SAFI=66、MDT-SAFI

  • AFI=1、SAFI=4、ラベル付き IPv4

  • AFI=2、SAFI=4、ラベル付き IPv6 (6PE)

inet.2 ルーティングテーブルにインストールされたルートは、マルチキャストソースへのルートであることを示す SAFI を使用しているため、MP-BGP ピアにのみエクスポートすることができます。inet.0 ルーティング テーブルにインストールされたルートは、標準 の BGP ピアにのみエクスポートできます。

inet.2 のルーティングテーブルは、inet.0 にあるルートのサブセットである必要があります。というのも、ユニキャストトラフィックを送信できないマルチキャストソースへのルートがあるという可能性は低いからです。inet.2 ルーティング テーブルには、マルチキャストのリバースパス転送チェックに使用されるユニキャストルートと、MP-BGP によって NLRI マルチキャストアップデートから学習した追加の到達可能性情報が格納されています。inet.2 のルーティングテーブルは、( anyに NLRI を設定することで)MP-BGP を設定した場合、自動的に作成されます。

MP-BGP を有効にすると、次のことが可能になります。

BGPピアセッションで受信するプレフィックス数の制限について

BGP ピアセッションで受信するプレフィックスの数を制限し、注入されたプレフィックスの数が設定された制限値を超えた場合に、レート制限メッセージを記録することができます。また、プレフィックス数が制限を超えた場合、ピアリングを解消することができます。

BGP セッションで受信できるプレフィックス数に制限を設定するには、ステートprefix-limitメントを含めます。

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

このmaximum numberでは、1~4,294,967,295 の範囲で値を指定します。指定された最大プレフィックス数を超えた場合、システムログメッセージが送信されます。

そのステートteardownメントを含む場合、最大プレフィックス数を超えた時点でセッションは破棄されます。パーセンテージを指定した場合、プレフィックス数が指定された最大限の割合を超えた場合、メッセージが記録されます。セッションが中断された後、(ステートidle-timeoutメントを除く)短い時間で再確立されます。そのidle-timeoutステートメントを含める場合、指定された時間、または永久にセッションを停止することができます。このforeverを指定した場合、セッションは、clear bgp neighborコマンド出した後にのみ再確立されます。ステートdrop-excess <percentage>メントを含めてパーセンテージを指定すると、プレフィックス数がパーセンテージを超えた場合に、超過したルートを停止します。その記hide-excess <percentage>述を含み、パーセンテージを指定すると、プレフィックス数がパーセンテージを超えた場合、超過した経路を非表示にすることができます。割合が変更された場合は、自動的に経路が再評価されます。

注:

Junos OS Release 9.2 以降では、BGP ピア セッションで受け入れ可能なプレフィックス数に制限を設定することもできます。詳細については、BGP ピアセッションで受け入れるプレフィックス数の制限についてを参照してください。

BGP ピアセッションで受け入れるプレフィックス数の制限について

Junos OS Release 9.2 以降では、BGP ピア セッションで受け入れ可能なプレフィックス数を制限することができます。その指定した制限を超えた場合、システムログメッセージが送信されます。また、指定したプレフィックス数の上限を超えた場合に、BGP セッションをリセットするように指定することもできます。

BGP ピア セッションで受け入れ可能なプレフィックス数に制限を設定するには、accepted-prefix-limitのステートメントを含めます:

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

このmaximum numberでは、1~4,294,967,295 の範囲で値を指定します。

受け入れたプレフィックスの数が設定した制限を超えた場合、BGP ピア セッションをリセットするためのteardownステートメントを使用します。また、受け入れたプレフィックスの数が、その上限のパーセンテージを超えた場合は、システムログメッセージを送信するために、1 から 100 までのパーセント値を含めることができます。デフォルトでは、リセットされた BGP セッションは短時間で再確立されます。指定した期間に BGP セッションを再確立しないようにするためのidle-timeoutステートメントを使用します。タイムアウトの値は、1 分から 2400 分まで設定できます。そのforeverオプションを含めると、そのclear bgp neighborコマンドを発行するまで BGP セッションが再確立されません。ステートdrop-excess <percentage>メントを含めてパーセンテージを指定すると、プレフィックス数がパーセンテージを超えた場合に、超過したルートを停止します。その記hide-excess <percentage>述を含み、パーセンテージを指定すると、プレフィックス数がパーセンテージを超えた場合、超過した経路を非表示にすることができます。割合が変更された場合は、自動的に経路が再評価されます。

注:

ノンストップアクティブルーティング(NSR)が有効で、バックアップのルーティングエンジンに切り替えた場合、停止した BGP ピアは自動的に再起動されます。そのステートidle-timeout foreverメントが設定されていても、ピアは再起動されます。

注:

その代わりに、BGP ピア セッションで受信できる(受け入れるのではなく)プレフィックスの数の制限を設定することもできます。詳細については、BGPピアセッションで受信するプレフィックス数の制限についてを参照してください。

BGP ルーティングテーブルグループの設定

BGP セッションが、ユニキャストまたはマルチキャスト NLRI を受信すると、適切なテーブル(ユニキャストにはinet.0またはinet6.0、マルチキャストにはinet.2または inet6.2)にルートをインストールします。ユニキャストプレフィックスを、ユニキャストテーブルとマルチキャストテーブルの両方に追加するには、BGP ルーティングテーブルグループを設定することができます。これは、マルチキャスト NLRI ネゴシエーションを実行できない場合に有効です。

BGP のルーティングテーブルグループを設定するには、ステートrib-groupメントを使用します:

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

他の AS にある PE ルーティングデバイスへのルートの解決

ラベル付きルートを、ルート解決のためのinet.3ルーティングテーブルに配置することができます。次に、これらのルートは、リモート PE が別の自律システム(AS)にまたがって配置されている場合、プロバイダエッジ(PE)のルーティングデバイスの接続のために解決されます。PE ルーティングデバイスが、VPN ルーティングおよび転送(VRF)のルーティングインスタンスにルートをインストールするためには、ネクストホップが、inet.3のテーブルに格納されているルートに解決する必要があります。

そのinet.3のルーティングテーブルにルートを解決するには、そのresolve-vpnのステートメントを使用します:

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

ラベル付きルート、およびラベルなしルートの許可

単一セッションで、ラベル付きルートとラベルなしルートの両方を交換することができます。ラベル付きルートは、inet.3 または inet.6.3 ルーティングテーブルに配置され、ラベル付きユニキャストルートおよびラベルなしユニキャストルートの両方を、ルーティングデバイスによって送信または受信することができます。

ラベル付きルートとラベルなしルートの両方を交換できるようにするには、ribのステーメントを使用します。

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

例:IPv4 トランスポート上の IPv6 BGP ルートの設定

この例では、両方のサイドに IPv4 インターフェイスが設定されている IPv4 接続上で、IPv6 と IPv4 の両方のプレフィックスをエクスポートする方法を示します。

要件

この例を構成する前に、デバイスの初期化以上の特別な構成は必要ありません。

概要

IPv6 の BGP プレフィックスをエクスポートする際には、以下の点に注意してください。

  • BGP は、の IPv4 にマッピングされた IPv6 プレフィックスを使ってネクストホップのプレフィックスを導き出します。例えば、IPv4 のネクストホッププレフィックスは、IPv6 のネクストホッププレフィックス ::ffff:10.19.1.1 に10.19.1.1変換されます。

    注:

    IPv6 BGP プレフィックスをエクスポートするには、IPv4 にマッピングされた IPv6 ネクストホップへのアクティブなルートがある必要があります。

  • リンク上に IPv6 接続を設定する必要があります。接続は、IPv6 トンネルまたはデュアルスタックの設定のいずれかである必要があります。この例では、デュアルスタッキングを使用しています。

  • IPv4 にマッピングされた IPv6 のプレフィックスを設定する際には、96 ビットより長いマスクを使用します。

  • 通常の IPv6 プレフィックスを使用したい場合は、スタティックルートを設定します。この例では、スタティックルートを使用しています。

図 1はサンプルのトポロジーを示しています。

図 1: IPv4 トランスポート上の IPv6 BGP ルートを設定するトポロジーIPv4 トランスポート上の IPv6 BGP ルートを設定するトポロジー

設定

CLIクイックコンフィギュレーション

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

デバイス R1

デバイス R2

デバイスR3

デバイス R1 の設定

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

次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、そのJunos OS CLI User Guide. の Using CLI Editor in Configuration Mode を参照してください。

Device R1 を設定するには:

  1. IPv4 アドレスと IPv6 アドレスの両方を含むインターフェースを設定します。

  2. EBGP を設定します。

  3. BGP が IPv4 ユニキャストルートと IPv6 ユニキャストルートを伝送できるようになっています。

    IPv4 ユニキャストルートは、デフォルトで有効になっています。ここでは念のために、設定を示しておきます。

  4. ルーティングポリシーを設定します。

  5. いくつかのスタティックルートを設定します。

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

結果

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

デバイスの設定が完了したら、設定モードから commit を入力します。デバイス R2 と デバイス R3 の設定を繰り返し、必要に応じてインターフェイス名と IP アドレスを変更します。

検証

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

ネイバーステータスの確認

目的

BGP が IPv6 のユニキャストルートを伝送できるようになっていることを確認します。

対処

動作モードから show bgp neighbor コマンドを入力します。

意味

出力にinet6-unicastが多数出現していることは、BGP が IPv6 ユニキャストルートを伝送できるようになっていることを示しています。

ルーティング テーブルのチェック

目的

デバイス R2 の inet6.0 ルーティングテーブルに BGP ルートがあることを確認します。

対処

動作モードから show route protocol bgp inet6.0 コマンドを入力します。

BGP IPv6セッション上でのIPv4ルートのアドバタイズの概要

IPv6ネットワークでは、BGPは通常、BGPピア間のIPv6セッション上で、IPv6ネットワーク層の到達可能性情報を告知します。以前のリリースでは、Junos OSは、inet6ユニキャスト、inet6マルチキャスト、またはinet6のラベル付きユニキャストのアドレスファミリーのみの交換に対応していました。この機能は、すべてのBGP アドレスファミリーの交換を可能にします。コアにIPv6が含まれるデュアルスタック環境において、この機能は、BGPがIPv6のBGPセッション上でIPv4のネクストホップを持つIPv4ユニキャストの到達可能性を告知することを可能にします。

この機能は、両方のエンドポイントでIPv4が設定されているBGP IPv6セッションのみに対応しています。そのlocal-ipv4-addressには、IBGPまたはマルチホップEBGPセッション向けの、ループバックアドレスまたは任意のipv4アドレスを指定できますBGPコンフェデレーションに属していないシングルホップの外部BGPスピーカーの場合、設定されたローカルIPv4アドレスが直接接続されていないと、BGPセッションが閉じられて待機状態になり、エラーが発生してshow bgp neighborコマンドの出力に表示されます。

IPv6セッション上でIPv4ルートのアドバタイズを有効にするには、次のようにlocal-ipv4-addressを設定します。

注:

BGPは、inet6ユニキャスト、inet6マルチキャスト、inet6ラベル付きユニキャストのアドレスファミリーを、IPv6 BGPセッション上でアドバタイズする機能をすでに有しているため、それをアドレスファミリーには設定することはできません。

設定された local-ipv4-address は、BGPがセルフネクストホップでルートをアドバタイズする場合のみに使用されます。IBGPがEBGPピアから学習したルートをアドバタイズしたり、ルートリフレクターがそのクライアントにBGPルートをアドバタイズする場合、BGPはルートのネクストホップを変更せず、設定されたを無視しlocal-ipv4-address、元のIPv4ネクストホップを使用します。

例:IPv6 BGPセッション上でのIPv4 ルートのアドバタイズ

この例では、IPv6 BGPセッション上で、IPv4ルートをアドバタイズする方法を説明しています。コアにIPv6があるデュアルスタック環境では、リモートのIPv4ホストへの到達を必要とします。従って、BGPは、IPv4をIPv4ネクストホップで、BGPセッション上のBGPピアにアドバタイズします。その場合、IPv6の送信元と宛先のアドレスを使用します。この機能は、BGPが、IPv6 BGPセッション上で、IPv4ネクストホップを使用して、IPv4ユニキャストの到着可能性をアドバタイズすることを可能にします。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • デュアルスタッキング機能を備えた3つのルーター

  • すべてのデバイスで、Junos OS Release 16.1以降が作動していること

IPv6 BGPセッション上でのIPv4アドバタイズメントを有効にする前に、以下を実行してください。

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

  2. すべてのデバイスで、デュアルスタッキングを設定します。

概要

リリース16.1以降、Junos OSは、BGPがIPv6 BGPセッション上で、IPv4ネクストホップを使用し、IPv4ユニキャストの到達可能性をアドバタイズすることを可能にします。以前のJunos OSリリースで、BGPは、IPv6 BGPセッション上で、inet6ユニキャスト、inet6マルチキャスト、およびinet6ラベル付きユニキャストアドレスファミリーのみをアドバイタイズできました。この機能は、BGPがIPv6セッション上で、すべてのBGPアドレスファミリーを交換することを可能にします。BGPを有効にして、BGPピアにIPv4ネクストホップをIPv6セッション上で使用し、IPv4ルートをアドバタイズすることができます。設定されたlocal-ipv4-addressは、BGPがセルフネクストホップでルートをアドバタイズする場合のみに使用されます。

注:

BGPは、inet6ユニキャスト、inet6マルチキャスト、inet6ラベル付きユニキャストのアドレスファミリーを、IPv6 BGPセッション上でアドバタイズする機能をすでに有しているため、それをアドレスファミリーには設定することはできません。

トポロジー

図 2では、IPv6外部BGPセッションは、ルーターR1とR2の間で作動しています。IPv6 IBGPセッションは、ルーターR2とルーターR3の間で確立されています。IPv4スタティックルートは、R1のBGPに再配送されています。IPv6 BGPセッション上で、IPv4ルートを再配送するには、新たな機能を、[edit protocols bgp address family]の階層レベルのすべてのルーター上で有効にしなければなりません。

図 2: IPv6 BGPセッション上での IPv4ルートのアドバタイズIPv6 BGPセッション上での IPv4ルートのアドバタイズ

設定

CLIクイックコンフィギュレーション

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピー アンド ペーストして、設定モードから commit を入力します。

ルーター R1

ルーターR2

ルーターR3

ルーターR1の設定

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、CLI User GuideUsing the CLI Editor in Configuration Mode を参照します。

ルーターR1の設定を行うには以下を実行してください。

注:

適切なインターフェイス名、アドレス、およびその他のパラメーターを変更した後、他のルーターに対してこの手順を繰り返します。

  1. インターフェイスにIPv4とIPv6のアドレスを設定します。

  2. ループバックアドレスを設定します。

  3. アドバタイズの必要があるIPv4スタティックルートを設定します。

  4. BGPホストの自律システムを設定します。

  5. 外部エッジルーターにEBGPを設定します。

  6. 機能を有効にして、BGP IPv6セッション上でIPv4アドレス140.1.1.1をアドバタイズします。

  7. ポリシーp1を定義して、すべてのスタティックルートを受信します。

  8. ポリシーp1をEBGPグループのebgp-v6に適用します。

結果

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

デバイスの設定が完了したら、設定をコミットします。

検証

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

BGPセッションが稼働していることを確認

目的

設定したインターフェイスでBGPが作動し、また、各ネイバーアドレスでBGPセッションがアクティブになっていることを確認します。

対処

運用モードから、ルーターR1のshow bgp summaryコマンドを実行します。

意味

BGPセッションが起動・作動し、BGPピアリングが確立されています。

IPv4アドレスがアドバタイズされていることを確認

目的

設定したIPv4アドレスが、設定したBGPネイバーにルーターR1によってアドバタイズされていることを確認します。

対処

運用モードから、ルーターR1のshow route advertising-protocol bgp ::150.1.1.2コマンドを実行します。

意味

IPv4スタティックルートは、BGPネイバールーターR2にアドバタイズされています。

BGPネイバールーターR2がアドバタイズされたIPv4アドレスを受信していることを確認

目的

ルーターR2が、ルーターR1によりIPv6上でBGPネイバーにアドバタイズされているIPv4アドレスを受信していることを確認します。

対処
意味

ルーターR2のルーティングテーブルでのスタティックIPv4ルートの存在は、それが、ルーターR1からアドバタイズされたIPv4ルートを受信していることを示しています。

IPv6 をネクストホップとする IPv4 ルートの BGP への再配分を理解する

主に IPv6 トラフィックを伝送するネットワークでは、必要に応じて IPv4 ルートをルーティングする必要があります。例えば、インターネットサービスプロバイダーが、IPv6 のみのネットワークを構築しているが、まだ IPv4 のトラフィックをルーティングする顧客がいる場合などです。この場合、そのような顧客に対応するために、IPv4 のトラフィックを IPv6 のネットワーク上に転送する必要があります。RFC 5549 の IPv6 のネクストホップで IPv4 ネットワーク層の到達可能性に関する情報を告知で説明するように、IPv4 トラフィックは、カスタマー構内設備(CPE)デバイスから IPv4-over-IPv6 のゲートウェイにトンネルリンクされます。これらのゲートウェイは、エニーキャストアドレスを介して CPE デバイスに通知されます。ゲートウェイデバイスは、リモート CPE デバイスへの動的 IPv4-over-IPv6 トンネルを作成し、トラフィックを誘導するために、IPv4 の集合経路を告知します。

注:

動的 IPv4-over-IPv6 トンネル機能は、Junos OS Release 17.3R1 の統合型 ISSU をサポートしていません。

プログラム可能なインターフェイスを搭載したルートリフレクタ(RR)は、IBGP を介してゲートウェイルーターに接続され、IPv6 アドレスをネクストホップとするルートをホストします。これらの RR は、トンネル情報をネットワークに注入するために、IPv4 /32 アドレスを告知します。ゲートウェイルーターは、通信回線を介して利用可能な顧客プロバイダー・エッジへの動的 IPv4-over-IPv6 トンネルを作成します。また、ゲートウェイルーターは、トラフィックを誘導するために、IPv4 の集合経路を告知します。そして、RR はトンネル送信元ルートを ISP に告知します。RR がトンネルルートを削除すると、BGP もルートを断つのでトンネルが削除され、CPE は到達できないようにされます。また、ゲートウェイ・ルーターは、すべての集合経路が削除された場合、IPv4 の集合型ルートと IPv6 トンネル送信元ルートを切断します。ゲートウェイルーターは、アンカーのパケット転送エンジンのラインカードがダウンした場合、ルート切断を送信するため、他のゲートウェイルーターにトラフィックをリダイレクトします。

IPv6 をネクストホップとする IPv4 ルートをサポートするために、次の拡張機能が導入されます:

BGP ネクストホップ符号化

BGP では、IPv6 ネクストホップで IPv4 ルートを送信するために使用されるネクストホップ符号化機能が搭載されます。リモートピアでこの機能が利用できない場合、BGP はこの符号化機能に基づいてピアをグループ化し、符号化機能のない BGP ファミリーをネゴシエートされたネットワーク層到達可能性情報(NLRI)リストから削除します。Junos OS では、inet.0 などの解決テーブルは 1つしか使用できません。IPv6 のネクストホップを持つ IPv4 の BGP ルートを許可するために、BGP は新しい解決ツリーを作成します。この機能により、Junos OS のルーティングテーブルに複数の解決ツリーを持たせることができます。

RFC 5549 の IPv6 のネクストホップで IPv4 ネットワーク層の到達可能性に関する情報を告知の他に、RFC 5512で規定されている新しいカプセル化コミュニティである、BGP カプセル化後続アドレスファミリー識別子(SAFI)と BGP トンネル・カプセル化属性を導入し、ネクストホップアドレスのアドレスファミリーを決定します。カプセル化コミュニティは、イングレスノードが作成する必要があるトンネルタイプを示しています。BGP は、IPv6 のネクストホップアドレスと V4oV6 のカプセル化コミュニティーを持つ IPv4 ルートを受信すると、IPv4-over-IPv6 の動的トンネルを作成します。BGP が、カプセル化コミュニティーのないルートを受信した場合、V4oV6 トンネルを作成せずに BGP ルートを解決します。

新しい拡張カプセル化をサポートするために、[edit policy-statement policy name term then]の階層レベルで、新しいポリシーアクションdynamic-tunnel-attributes dyan-attributeを利用できます。

トンネルローカライゼーション

動的トンネルインフラストラクチャーは、トンネルローカリゼーションによって強化され、より多くのトンネルをサポートします。アンカーに障害が発生した場合、トラフィックを処理するための回復力を提供するために、トンネルをローカライズする必要があります。1台以上のシャーシが互いにバックアップを取り、ルーティングプロトコルプロセス(rpd)によって、障害ポイントからバックアップシャーシへとトラフィックを誘導します。シャーシは、個々のループバックアドレスではなく、これらの集合型プレフィックスのみをネットワークに告知します。

トンネル処理

IPv6 トンネル上の IPv4 では、トンネルアンカーリングとともに、動的トンネルインフラストラクチャーを使用して、必要なシャーシに幅広く対応しています。トンネルの状態はパケット転送エンジンに限定され、他のパケット転送エンジンがトンネルアンカーにトラフィックを誘導します。

トンネルイングレス

トンネルイングレスまたはトンネルのカプセル化により、ネットワークトラフィックをお客様サイトに転送します。トラフィックがシャーシに入るパケット転送エンジンに、トンネル状態が存在する場合、ルーティングプロトコルプロセス(rpd)は、IPv6 トンネル上の IPv4 ルートを再分配するために、次の手順に従います。
図 3: 同じ PFE でトンネルの状態が利用可能な場合のトンネルイングレス処理同じ PFE でトンネルの状態が利用可能な場合のトンネルイングレス処理
図 4: トンネルの状態が、異なるPFEに存在する場合のトンネルイングレス処理トンネルの状態が、異なるPFEに存在する場合のトンネルイングレス処理
  1. IPv6 ヘッダー内に IPv4 トラフィックをカプセル化します。

    カプセル化の前に、最大伝送単位(MTU)の適用を実行します。DF-bitカプセル化されたパケットのサイズがトンネルの MTU を超え、IPv4 パケットのが設定されていない場合、パケットはフラグメント化され、これらのフラグメントがカプセル化されます。

  2. 内部パケット・ヘッダーに、ハッシュベースのトラフィック負荷分散を使用します。

  3. 宛先 IPv6 アドレスにトラフィックを転送します。IPv6 のアドレスは、IPv6 ヘッダーから取得します。

トンネルイグレス

トンネルイグレスは、カスタマー構内機器からネットワーク側にトラフィックを転送します。
図 5: 同じ PFE でトンネルの状態が利用可能な場合のトンネルイグレス処理同じ PFE でトンネルの状態が利用可能な場合のトンネルイグレス処理
図 6: リモート PFE でトンネル状態が利用可能な場合のトンネルイグレス処理リモート PFE でトンネル状態が利用可能な場合のトンネルイグレス処理
  1. IPv6 パケット内に存在する IPv4 パケットを、カプセル化解除します。

  2. なりすまし防止チェックを行い、IPv6 と IPv4 のペアがトンネルの設定に使用された情報と一致していることを確認します。

  3. カプセル化解除されたパケットの IPv4 ヘッダーから IPv4 の宛先アドレスを検索し、指定された IPv4 アドレスにパケットを転送します。

トンネル負荷分散とアンカーパケット転送エンジンの障害処理

パケット転送エンジンの障害は、パケット転送エンジンに固定されたトンネルトラフィックの空値ルートフィルタリングを避けるために、迅速に対応する必要があります。トンネルのローカライズでは、BGP 広告を使用してグローバルに障害を修復します。トンネルのトラフィックは、障害ポイントから、同一のトンネルの状態を持つ他のバックアップ シャーシに迂回されます。トラフィックの負荷分散のために、シャーシは、それぞれのプレフィックスセットに対して異なる複数の出口識別子(MED)値を告知するように設定され、4 分の 1 のトンネルのトラフィックだけが各シャーシを通過するようになっています。CPE のトラフィックも同様に、各シャーシに同じエニーキャストアドレスのセットを設定し、各シャーシに向けて 4 分の 1 のトラフィックだけを誘導することで処理されます。

アンカーパケット転送エンジンは、トンネルのすべての処理を行う単一のエンティティです。アンカーのパケット転送エンジの選択は、静的プロビジョニングによって行われ、パケット転送エンジン の物理インターフェイスに関連付けられています。1 つのパケット転送エンジンがダウンした場合、デーモンは、ラインカード上のすべてのパケット転送エンジンがダウンしたことをマークし、この情報を、ルーティングプロトコルプロセスのルーティングプロトコルプロセスやその他のデーモンに通知します。ルーティングプロトコルのプロセスは、故障したパケット転送エンジンに固定されているプレフィックスと、故障したパケット転送エンジンに割り当てられた IPv6 アドレスの BGP 切断を送信します。これらの広告は、他のバックアップシャーシにトラフィックを迂回させます。故障したパケット転送エンジンが再び起動した場合、シャーシはパケット転送エンジンをとマークし、ルーティングプロトコルのプロセスを更新upします。ルーティングプロトコルプロセスは、BGP の更新をピアにトリガーして、特定のパケット転送エンジンに固定されたトンネルが、トラフィックのルーティングに利用できるようになることを示します。このプロセスは、大規模なトンネル設定では数分かかることがあります。そのため、トラフィックを元のシャーシに戻す際に、トラフィックの損失を最小限に抑えられるように、システムにAckメカニズムが組み込まれています。

トンネルのループバックストリーム統計情報

動的トンネルのインフラストラクチャーでは、パケット転送エンジンのループバックストリームを使用して、カプセル化後のパケットをループします。このループバックストリームの帯域幅は限られているため、トンネルループバックストリームのパフォーマンスを監視する必要があります。

ループバックストリームの統計情報を監視するには、運用コマンドshow pfe statistics traffic detailを使用して、転送レート、ドロップパケットレート、バイトレートなどの集合型ループバックストリームの統計情報を表示します。

IPv6 ネクストホップアドレスを持つ IPv4 ルートを再分配するための BGP の設定

リリース 17.3R1 以降、Junos OS デバイスは、通常は IPv4 トラフィックを転送できない IPv6 専用ネットワーク上で、IPv4 トラフィックを転送できるようになっています。RFC 5549 で説明されているように、IPv4 トラフィックは CPE デバイスから IPv4-over-IPv6 ゲートウェイにトンネリングされます。これらのゲートウェイは、エニーキャストアドレスを介して CPE デバイスに通知されます。ゲートウェイデバイスは、通信回線を介して利用可能なカスタマー構内機器への動的 IPv4-over-IPv6 トンネルを作成し、トラフィックを誘導するために、IPv4 集約ルートを告知します。プログラム可能なインターフェイスを持つルートリフレクターは、ネットワークにトンネル情報を注入します。ルートリフレクターは、IBGP を介してゲートウェイルーターに接続されており、ゲートウェイルーターは、IPv6 アドレスをネクストホップとして、ホストルートの IPv4 アドレスを告知します。

注:

動的 IPv4-over-IPv6 トンネル機能は、Junos OS Release 17.3R1 の統合型 ISSU をサポートしていません。

IPv6 のネクストホップアドレスを持つ IPv4 ルートを配信するための BGP の設定を始める前に、以下のことを実行します。

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

  2. OSPF、またはその他の IGP プロトコルを設定します。

  3. MPLS と LDP を設定します。

  4. BGP を設定します。

BGP を設定して、IPv6 のネクストホップアドレスを持つ IPv4 ルートを配信するには、次の手順に従います。

  1. IPv6 ピアを持つ BGP グループが、IPv6 セッション上で、IPv4 アドレスファミリーをルーティングするための拡張ネクストホップ符号化オプションを設定します。
  2. 動的な IPv4-over-IPv6 トンネルを設定し、その属性を定義することで、IPv6 のみのネットワーク上で IPv4 トラフィックを転送します。IPv4 トラフィックは、CPE デバイスから IPv4-over-IPv6 ゲートウェイにトンネリンされます。
  3. トンネルの属性を設定します。

    例えば、次のような属性を持つ動的トンネルfirst_tunnel、を設定します。

  4. 設定した動的トンネル属性プロファイルを、プレフィックスリストまたはルートフィルタに関連づけるためのポリシーを定義します。

    例えば、特定のルート 2.2.2.2/32 に向かうトラフィックにのみ動的トンネル first_tunnel 属性を関連付けるために、dynamic_tunnel_policy ポリシーを定義します。

  5. 定義したポリシーをエクスポートします。

    例えば、設定した dynamic_tunnel_policy ポリシーをエクスポートします。

レイヤー 2 VPN と VPLS シグナリングの有効化

BGP でレイヤ 2 VPN および VPLS の NLRI メッセージを伝達できるようにすることができます。

VPN と VPLS のシグナルを有効にするには、family ステートメントを含めます。

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

プレフィックスの最大数を設定するには、ステートprefix-limitメントを含めます。

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。

最大プレフィックス数を設定すると、その数に達したときにメッセージが記録されます。ステートteardownメントを含む場合、最大プレフィックス数に達した時点でセッションは破棄されます。パーセンテージを指定した場合、プレフィックス数がそのパーセンテージに達するとメッセージが記録されます。一度壊したセッションは、短時間で再確立されます。指定された時間、または永遠にセッションを停止させるためにidle-timeoutステートメントを含めます。を指定した場合foreverclear bgp neighborコマンドを使用した後にのみセッションが再確立されます。ステートdrop-excess <percentage>メントを含み、パーセンテージを指定すると、プレフィックス数がパーセンテージを超えた場合に、超過したルートをドロップします。その記hide-excess <percentage>述を含み、パーセンテージを指定すると、プレフィックス数がパーセンテージを超えた場合、超過した経路を非表示にすることができます。割合が変更された場合は、自動的に経路が再評価されます。

トラフィック フィルタリングのための BGP フロー ルートについて

フロー ルートは、IP パケットの照合条件のアグリゲーションです。フロー ルートは、フロー仕様の NLRI(ネットワーク レイヤー到達可能性情報)メッセージを使用してネットワークを通じて伝達され、フロー ルーティング テーブル instance-name.inetflow.0にインストールされます。パケットは、特定の照合条件が満たされた場合にのみフロー ルートを通過できます。

フロー ルートとファイアウォール フィルターは、コンポーネントに基づいてパケットをフィルタリングし、一致するパケットに対してアクションを実行するという点で似ています。フロー ルートは、ファイアウォール フィルターと同様に、トラフィック フィルタリングとレート制限機能を提供します。さらに、フロー ルートをさまざまな自律システムに伝達できます。

フロー ルートは、フロー仕様 NLRI メッセージを介して BGP によって伝達されます。BGP を有効にしてこれらの NLRI を伝達する必要があります。

Junos OS リリース 15.1 以降では、既存の inet-flow および inetvpn-flow ファミリーに対するノンストップ アクティブ ルーティング(NSR)サポートを拡張し、draft-ietf-idr-bgp-flowspec-oid-01 に従って BGP flowspec のルート検証を拡張する変更が実装されています。この機能強化の一環として、2 つの新しいステートメントが導入されています。「enforce-first-as」「no-install」をご覧ください。

注:

Junos OS リリース 16.1 以降では、IPv6 のサポートが BGP フロー仕様まで拡張され、IPv6 および VPN-IPv6 パケットのトラフィック フロー仕様ルールの伝搬が可能になります。BGP フロー仕様では、ノンストップ アクティブ ルーティング(NSR)中の分散型サービス拒否攻撃を緩和するために、トラフィック フィルタリング ルールの調整を自動化します。

Junos OS リリース 16.1R1 以降、BGP フロー仕様ではトラフィック マーキング extended-community フィルタリング アクションがサポートされています。IPv4 トラフィックの場合、Junos OS はトランジット IPv4 パケットの DiffServ コード ポイント(DSCP)ビットを拡張コミュニティの対応する値に変更します。IPv6 パケットの場合、Junos OS は、IPv6 パケットを送信するフィールドの traffic class 最初の 6 ビットを拡張コミュニティの対応する値に変更します。

Junos OS リリース 17.1R1 以降、BGP は、PTX3000 上に第 3 世代 FPC(FPC3-PTX-U2 および FPC3-PTX-U3)がインストールされている PTX シリーズ ルーター上でフロー仕様のネットワーク レイヤー到達可能性情報(NLRI)メッセージを伝送できます。PTX3000 では FPC3-SFF-PTX-U0 および FPC3-SFF-PTX-U1 がインストールされています。BGP の一部としてファイアウォール フィルター情報を伝達することで、自律システム全体でサービス拒否(DOS)攻撃に対してファイアウォール フィルターを動的に適用できます。

Junos OS リリース 17.2R1 以降、BGP は、第 3 世代 FPC がインストールされている PTX1000 ルーター上で、フロー仕様のネットワーク レイヤー到達可能性情報(NLRI)メッセージを送信できます。BGP の一部としてファイアウォール フィルター情報を伝達することで、自律システム全体でサービス拒否(DOS)攻撃に対してファイアウォール フィルターを動的に適用できます。

cRPDリリース20.3R1以降、BGPフロー仕様NLRIを介して伝達されたフロールートとポリシールールは、cRPD環境のLinux Netfilterフレームワークを介してLinuxカーネルにダウンロードされます。

フロー ルートの照合条件

フロー ルートに対してステートメント内のアクションが実行される前に、 then パケットが一致する必要がある条件を指定します。ステートメント内のすべての条件は、 from 実行するアクションと一致する必要があります。一致条件を指定する順序は重要ではありません。パケットは一致する条件のすべての条件を一致させる必要があるためです。

照合条件を設定するには、ステートメントを match 階層レベルに [edit routing-options flow] 含めます。

表 1 は、フロー ルートの一致条件について説明します。

表 1: フロー ルートの一致条件

照合条件

説明

destination prefix prefix-offset number

IP 宛先アドレス フィールド。

モード用に prefix-offset 設定 enhanced-ip された拡張 MPC を備えた Junos デバイスでのみ使用可能なオプション フィールドを使用して、Junos OS が IPv6 プレフィックスの照合を開始する前にスキップする必要があるビット数を指定できます。

destination-port number

TCP または UDP(User Datagram Protocol)宛先ポート フィールド。同じ条件で条件とdestination-port照合条件のport両方を指定することはできません。

数値の代わりに、次のいずれかのテキスト シノニムを指定できます(ポート番号も表示されます)。afs(1483)、 bgp (179) biff 、(512)、 bootpc (68)、(67) bootpscmd 、(514) cvspserver 、(2401) dhcp 、(67)、(53) domain 、(21) eklogin 05、 ekshell (2106)、 exec (512)、 finger (79)、 ftp (21) ftp-data 、(20) http 、(80)、 https (443) ident 、(113)、(143) imapkerberos-sec (88)、(543) kpasswdklogin 、(761) krb-prop 、(754) krbupdate 、(760) kshell 、(544) ldap 、(513) loginmobileip-agent 、(434) mobilip-mn 、(435) msdp 、(639) netbios-dgm 、(138)、(137) netbios-ns 、(139) netbios-ssn 、(2049) nfsd 、(119) nntp 、(518) ntalkntp 、(12)pop3 (110) pptp 、(1723) printer 、(515)、 radacct (1813)、 radius (1812) rip 、(520) rkinit 、(2108)、(25) smtpsnmp 、(161)、(162) snmptrap 、(444) snpp 、(108) socks 0、(22) sshsunrpc (111)、 syslog (514)、 tacacs-ds (65)、 talk (517)、 telnet (23) tftp 、(69) timed 、(525)、 who (513) xdmcp 、(177)、(2103) zephyr-clt 、またはzephyr-hm(2104)

dscp number

DSCP(差別化サービス コード ポイント) DiffServ プロトコルは、IP ヘッダーでサービスタイプ(ToS)バイトを使用します。このバイトの最上位 6 ビットが DSCP を形成します。

DSCP は、16 進形式または 10 進形式で指定できます。

flow-label numeric-expression

フロー ラベル値を照会します。このフィールドの値は、0 から1048575の範囲です。

この一致条件は、モード用に設定された enhanced-ip 拡張 MPC を持つ Junos デバイスでのみサポートされます。この照合条件は IPv4 ではサポートされていません。

fragment type

フラグメント タイプ フィールド。キーワードは、関連するフラグメントタイプによってグループ化されます。

  • dont-fragment

    注:

    このオプションは、IPv6 ではサポートされていません。

  • first-fragment

  • is-fragment

  • last-fragment

  • not-a-fragment

この一致条件は、モード用に設定された enhanced-ip 拡張 MPC を持つ Junos OS デバイスでのみサポートされます。

icmp-code numbericmp6-code icmp6-code-value;

ICMP コード フィールド。この値またはキーワードは、より icmp-type具体的な情報を提供します。値の意味は関連するicmp-type値に依存するため、とともにicmp-code指定icmp-typeする必要があります。

数値の代わりに、次のいずれかのテキストシノニムを指定できます(フィールド値も表示されます)。キーワードは、関連付けられている ICMP タイプによってグループ化されます。

  • パラメータの問題:ip-header-bad (0)、 required-option-missing (1)

  • リダイレクト:redirect-for-host(1)、 redirect-for-network (0)、 redirect-for-tos-and-host (3)、 redirect-for-tos-and-net (2)

  • 時間超過:ttl-eq-zero-during-reassembly(1)、 ttl-eq-zero-during-transit (0)

  • 到達 不能:communication-prohibited-by-filtering(13)、(10) destination-host-prohibited 、(7) destination-host-unknowndestination-network-prohibited (9)、 destination-network-unknown (6)、 fragmentation-needed (4)、 host-precedence-violation (14)、 host-unreachablehost-unreachable-for-TOS (12)、 network-unreachable (0)、 network-unreachable-for-TOS (11)、(3) port-unreachable 、(15) precedence-cutoff-in-effect 、(2) protocol-unreachable 、(8) source-host-isolatedsource-route-failed (5)

icmp-type number icmp6-type icmp6-type-value

ICMP パケット タイプ フィールド。通常は、この一致を match ステートメントと protocol 組み合わせて指定して、ポートで使用されているプロトコルを決定します。

数値の代わりに、次のいずれかのテキストシノニムを指定できます(フィールド値も表示されます)。echo-reply(0)、(8) echo-request 、(16) info-replyinfo-request (15)、 mask-request (17)、 mask-reply (18)、 parameter-problem (12)、 redirect (5) router-advertisement 、(9) router-solicit 、(10)、(4) source-quenchtime-exceeded (11)、(13) timestamp 、(14) timestamp-reply 、( unreachable3)

packet-length number

IP パケットの全長。

port number

TCP または UDP 送信元または宛先ポート フィールド。一致条件と or 照合条件のport両方をdestination-portsource-port同じ条件で指定することはできません。

数値の代わりに、 の下にリストされている destination-portテキストシノニムのいずれかを指定できます。

protocol number

IP プロトコル フィールド。数値の代わりに、次のいずれかのテキストシノニムを指定できます(フィールド値も表示されます)。ah, egp(8)、(50) esp 、(47) greicmp (1)、 igmp (2)、 ipip (41) ipv6 、(89) ospf 、(103) pimrsvp (46)、(6) tcp 、または udp (17)

この一致条件は、モード用に設定された enhanced-ip 拡張 MPC を持つ Junos デバイスでのみ、IPv6 でサポートされます。

source prefixprefix-offset number

IP 送信元アドレス フィールド。

モード用に prefix-offset 設定 enhanced-ip された拡張 MPC を備えた Junos デバイスでのみ使用可能なオプション フィールドを使用して、Junos OS が IPv6 プレフィックスの照合を開始する前にスキップする必要があるビット数を指定できます。

source-port number

TCP または UDP 送信元ポート フィールド。同じ条件で port 条件と source-port 照合条件を指定することはできません。

数値フィールドの代わりに、 の下にリストされている destination-portテキストシノニムのいずれかを指定できます。

tcp-flag type

TCP ヘッダー形式。

フロー ルートのアクション

パケットがフロー ルートで設定した条件と一致する場合に実行するアクションを指定できます。アクションを設定するには、ステートメントを then 階層レベルに [edit routing-options flow] 含めます。

表 2 は、フロー ルート アクションについて説明します。

表 2: フロー ルート アクション修飾子

アクションまたはアクション修飾子

説明

アクション

accept

パケットを受け入れます。これがデフォルトです。

discard

インターネット制御メッセージ プロトコル(ICMP)メッセージを送信せずに、通知なくパケットを破棄します。

community

ルート内のすべてのコミュニティを指定されたコミュニティに置き換えます。

マーク

このフローに一致するトラフィックに DSCP 値を設定します。0~63 の値を指定します。このアクションは、モード用に設定された enhanced-ip 拡張 MPC を備えた Junos デバイスでのみサポートされます。

next term

評価の次の一致条件に進みます。

routing-instance extended-community

パケットの転送先となるルーティング インスタンスを指定します。

rate-limit bits-per-second

フロー ルートの帯域幅を制限します。ビット/秒(bps)で制限を表します。Junos OSリリース16.1R4以降、レート制限範囲は[0~1000000000000]です。

sample

フロー ルート上のトラフィックをサンプルします。

フロー ルートの検証

Junos OS は、フロー ルーティング テーブルが検証手順を使用して検証された場合にのみ、フロー ルートをフロー ルーティング テーブルにインストールします。ルーティング エンジンは、ルートをフロー ルーティング テーブルにインストールする前に検証を実行します。

BGP ネットワーク レイヤー到達可能性情報(NLRI)メッセージを使用して受信したフロー ルートは、フロー プライマリ インスタンス ルーティング テーブル instance.inetflow.0にインストールされる前に検証されます。検証手順については、draft-ietf-idr-flow-spec-09.txt、 フロー仕様ルールの普及に記載されています。BGP NLRI メッセージを使用してフロー ルートの検証プロセスをバイパスし、独自のインポート ポリシーを使用できます。

検証操作をトレースするには、階層レベルで validation ステートメントを [edit routing-options flow] 含めます。

BGP フロー仕様アルゴリズム バージョン 7 以降のサポート

デフォルトでは、Junos OS は BGP フロー仕様ドラフトのバージョン 6 で定義された用語順序付けアルゴリズムを使用します。Junos OS リリース 10.0 以降では、BGP フロー仕様のバージョン 7 で最初に定義され、RFC 5575「 フロー仕様ルートの普及」でサポートされている用語順序アルゴリズムに準拠するようにルーターを設定できます。

ベスト プラクティス:

BGP フロー仕様ドラフトのバージョン 7 で最初に定義された用語順序アルゴリズムを使用するように Junos OS を設定することをお勧めします。また、ルーター上で設定されたすべてのルーティング インスタンスで同じ用語順序アルゴリズムを使用するように Junos OS を設定することをお勧めします。

インターネット ドラフトのバージョン 7 で最初に定義されたフロー仕様アルゴリズムを使用するように BGP を設定するには、階層レベルでステートメントを[edit routing-options flow term-order]含めますstandard

バージョン 6 で定義されている用語順序アルゴリズムを使用して元に戻すには、階層レベルでステートメントを[edit routing-options flow term-order]含めますlegacy

注:

設定された項順序には、ローカル有意性しかありません。つまり、用語の順序は、リモートBGPピアに送信されたフロールートでは伝播しません。その用語の順序は、その用語の順序は、独自の用語順序設定によって完全に決定されます。そのため、リモート ピアの用語順序設定を認識していない場合は、順序依存アクション next term を設定する際に注意する必要があります。ローカル next term は、リモート ピア上の next term 設定と異なる場合があります。

注:

Junos OS Evolvedでは、 next term アクションの最後の期間として表示できません。アクションとして指定されているが next term 、一致条件が設定されていないフィルタ条件はサポートされていません。

Junos OS リリース 16.1 以降では、特定のインターフェイスで受信したトラフィックにフィルターを適用 flowspec しないオプションがあります。フィルタの先頭に新しい条件が追加され、 flowspec これらの特定のインターフェイスで受信したパケットを受け入れます。新しい項は、フロー指定フィルタの一部として転送テーブル フィルタにアタッチされた条件の除外リストを作成する変数です。

特定のflowspecインターフェイスで受信したトラフィックにフィルターを適用しないようにするには、まず階層レベルにファミリー inet フィルタ グループ group-id ステートメントを含めて、このようなインターフェイス上で設定group-idしてから、階層レベルで[edit interfaces]ステートメントを含flow interface-group group-id excludeめてインターフェイス グループにフィルタをアタッチflowspecする[edit routing-options]必要があります。ステートメントを使用して、ルーティング インスタンスset routing-options flow interface-group group-idごとに 1 つだけgroup-idを設定できます。

例:BGP によるフロー指定ルートの伝送の有効化

この例では、BGP がフロー指定のネットワーク層到達性情報(NLRI)のメッセージを伝送できるようにする方法を示しています。

要件

開始する前に、以下を実行します。

  • デバイスインターフィスを設定します。

  • 内部ゲートウェイプロトコル(IGP)を設定します。

  • BGP を設定します。

  • ルーティングテーブルから、ルート(ダイレクトルートもしくは IGP ルート)をエクスポートするルーティングポリシーを設定します。

概要

BGP の一部としてファイアウォール フィルター情報を伝送させることで、サービス拒否(DOS)攻撃に対するファイアウォール フィルターを自律システム間で動的に伝送させることができます。フロー ルートはフロー指定 NLRI にカプセル化され、フィルターに類似する情報を共有しながらネットワークや VPN(仮想プライベート ネットワーク)を通じて伝送されます。フロー ルートは、パケットに対する整合条件とその結果のアクションの集合体です。ファイアウォール フィルターと同様に、トラフィックのフィルタリングとレート制限の機能を提供します。ユニキャスト フロー ルートは、デフォルト インスタンス、VRF(VPN ルーティングと転送)インスタンス、および仮想ルーター インスタンスでサポートされています。

インポートとエクスポートに関するポリシーは、ほかの BGP ファミリーに適用する場合と同様に、 inet flow ファミリー またはファミリー inet-vpn flow の NLRI に適用して、受け入れまたはアドバタイズするフロー ルートに影響を与えることができます。唯一の違いは、フロー ポリシーの設定に from ステートrib inetflow.0メントを含める必要があることです。このステートメントにより、フロー ルートにポリシーが適用されるようになります。ただし、then reject または then accept ステートメントのみがあり、from ステートメントがないポリシーは例外となります。そして、ポリシーは IP ユニキャストと IP フローを含むすべてのルートに影響します。

フロー ルート フィルターは、まずルーターに静的に設定され、整合条件のセットとそれに続くアクションが設定されます。family inet flowそして、この BGP 対応デバイスとピアの間には、 に加えて family inet unicast(または )family inet-vpn flowが設定されます。

デフォルトでは、静的に設定されたフロー ルート(ファイアウォール フィルター)は、 family inet flowまたは の family inet-vpn flowNLRI をサポートする他の BGP 対応デバイスにアドバタイズされます。

受信側の BGP 対応デバイスは、ファイアウォール フィルターをフロー ルーティング テーブル にインストールする前に、検証処理を行いますinstance-name.inetflow.0。検証手順は RFC 5575 に規定されており、Dissemination of Flow Specification Rules にも記載されています。

受信側の BGP 対応デバイスは、次の条件を満たせばフロー ルートを受け入れます。

  • フロー ルートの起点は、ルートに埋め込まれている宛先アドレスのベスト マッチ ユニキャスト ルートの起点と一致します。

  • フロー ルートの宛先アドレスと比較した場合、異なるネクストホップの自律システムからアクティブなルートを受信している特定のユニキャスト ルートは存在しません。

最初の基準は、フロー ルートに埋め込まれた宛先アドレスに対してユニキャスト転送で使用されるネクストホップによってフィルターがアドバタイズされていることを保証するものです。例えば、フロー ルートに 10.1.1.1、proto=6、port=80 と指定した場合、受信側の BGP 対応デバイスはユニキャスト ルーティング テーブルの中から宛先プレフィックス 10.1.1.1/32 に一致する、より具体的なユニキャスト ルートを選択することになります。10.1/16 と 10.1.1/24 を含むユニキャスト ルーティング テーブルでは、後者が比較対象のユニキャスト ルートとして選択されます。アクティブなユニキャスト ルートエントリーのみが考慮されます。これは、最良のユニキャスト ルートの発信元からアドバタイズされれば、フロー ルートは有効であるという概念に従ったものです。

2 つ目の基準は、あるアドレス ブロックが異なるエンティティに割り当てられている場合に対応するものです。集約ルートであるベストマッチのユニキャスト ルートに解決されるフローは、異なるネクストホップの自律システムにルーティングされているより具体的なルートをカバーしない場合にのみ受け入れられます。

BGP NLRI メッセージを使用したフロー ルートの検証プロセスをバイパスし、独自となる特定のインポート ポリシーを使用することができます。BGP がフロー 指定 NLRI メッセージを伝送する場合、 階[edit protocols bgp group group-name family inet flow]層レベルの ステートno-validateメントは、ポリシーでパケットを受け入れた後のフロー ルート検証手順を省略します。インポート ポリシーは、宛先アドレスとコミュニティ、ネクストホップ、AS パスなどのパス属性でマッチングするように設定することができます。パケットがフロー ルートで設定した条件に一致した場合の動作を指定することができます。アクションを設定するには、 階[edit routing-options flow]層レベルでステートメントを含めます。フロー指定 NLRI タイプには、RFC5575 で定義された宛先プレフィックス、ソース プレフィックス、 プロトコル、ポートなどのコンポーネントが含まれます。インポート ポリシーでは、フロー仕様の NLRI に含まれるパス属性と宛先アドレスを使って、受信ルートをフィルタリングできます。インポート ポリシーは、RFC5575 の他のコンポーネントをフィルタリングすることはできません。

フロー仕様は、IPv4 ユニキャスト フィルタリングと VPN ユニキャスト フィルタリングの最も一般的なアプリケーションに対応するために必要なプロトコル拡張を定義しています。同じメカニズムを再利用し、新しい一致基準を追加することで、他の BGP アドレス ファミリー(例えば、IPv6 ユニキャスト)に対して同様のフィルタリングを行うことができます。

フロー ルートが テーinetflow.0ブルにインストールされると、カーネル内のファイアウォール フィルターのリストにも追加されます。

ルーターのみで、VPN でフロー指定 NLRI メッセージがサポートされています。VPN は、NLRI のルート ターゲット拡張コミュニティとインポート ポリシーを比較します。一致した場合、VPN はパケット トラフィックのフィルタリングとレート制限のためにフロー ルートを使用し始めることができます。受信したフロー ルートはフロー ルーティング テーブル instance-name.inetflow.0 にインストールされます。また、フロー ルートは、VPN ネットワーク全体に伝送し、VPN 間で共有することができます。マルチプロトコル BGP(MP-BGP)で inet-vpn アドレス ファミリーのフロー指定 NLRI を伝送できるようにするには、[edit protocols bgp group group-name family inet-vpn] 階層レベルに flow ステートメントを記述します。VPN フロー ルートは、デフォルトのインスタンスのみサポートされます。inet-vpnファミリー の VPN に設定されたフロー ルートは自動的に検証されないため、 階[edit protocols bgp group group-name family inet-vpn]層レベルでは ステートno-validateメントはサポートされません。フロールートが単一AS内のデバイス間でローカルに設定されている場合、検証は必要ありません。

インポートとエクスポートのポリシーは、他の BGP ファミリーにインポートとエクスポートのポリシーを適用する方法と同様に、 family inet flowまたは の family inet-vpn flowNLRI に適用して、受け入れまたは広告されるフロー ルートに影響を与えることができます。唯一の違いは、フロー ポリシーの設定に from rib inetflow.0 ステートメントが含まれていなければならないことです。このステートメントにより、フロー ルートにポリシーが適用されるようになります。ただし、then reject または then accept ステートメントのみがあり、from ステートメントがないポリシーは例外となります。そして、ポリシーは IP ユニキャストと IP フローを含むすべてのルートに影響します。

この例では、次のエクスポート ポリシーを設定する方法を示しています。

  • ルート フィルターで指定されたフロー ルートの広告を許可するポリシー。10.13/16 ブロックがカバーするフロー ルートのみを広告します。このポリシーは、ユニキャスト ルートには影響しません。

  • すべてのユニキャストおよびフロー ルートをネイバーにアドバタイズすることを許可するポリシーです。

  • すべてのルート(ユニキャストまたはフロー)をネイバーにアドバタイズすることを禁止するポリシーです。

トポロジー

設定

スタティック フロー ルートの設定

CLI クイック コンフィギュレーション

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

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、そのJunos OS CLI User Guide.Using CLI Editor in Configuration Mode を参照してください。

以下の BGP ピア セッションを設定します。

  1. 整合条件を設定します。

  2. アクションを設定します。

  3. (推奨)フロー指定アルゴリズムでは、スタンダードベースの項順を設定します。

    flowspec RFC ドラフト第 6 版で規定されているデフォルトの項順序アルゴリズムでは、整合条件の特定度が低い項が、整合条件の特定度が高い項よりも常に先に評価されます。これにより、より具体的な整合条件を持つ項が評価されることはありません。RFC 5575 第 7 版では、より具体的な整合条件をより具体的でない整合条件より先に評価するようにアルゴリズムを修正しました。下方互換性のために、新しいアルゴリズムの方がより理にかなっているにもかかわらず、Junos OS ではデフォルトの動作が変更されていません。新しいアルゴリズムを使用するには、構成に ステートterm-order standardメントを含めます。このステートメントは、Junos OS Release 10.0 以降でサポートされています。

結果

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

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

ルート フィルターで指定されたフロー ルートを広告する

CLI クイック コンフィギュレーション

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

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、そのJunos OS CLI User Guide.Using CLI Editor in Configuration Mode を参照してください。

BGP ピアセッションを設定する。

  1. BGP グループを設定します。

  2. フロー ポリシーを設定します。

  3. ローカル自律システム(AS)番号を設定します。

結果

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

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

ユニキャストとフローの全ルートを広告

CLI クイック コンフィギュレーション

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

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、そのJunos OS CLI User Guide.Using CLI Editor in Configuration Mode を参照してください。

BGP ピアセッションを設定する。

  1. BGP グループを設定します。

  2. フロー ポリシーを設定します。

  3. ローカル自律システム(AS)番号を設定します。

結果

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

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

広告 ユニキャストまたはフロー ルートなし

CLI クイック コンフィギュレーション

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

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、そのJunos OS CLI User Guide.Using CLI Editor in Configuration Mode を参照してください。

BGP ピアセッションを設定する。

  1. BGP グループを設定します。

  2. フロー ポリシーを設定します。

  3. ローカル自律システム(AS)番号を設定します。

結果

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

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

ルーティング テーブルにインストールされるフロー ルートの数を制限する

CLI クイック コンフィギュレーション

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

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、Junos OS CLI User GuideUsing CLI Editor in Configuration Mode を参照してください。

注:

ルート制限を適用すると、動的ルート プロトコルの動作が予測できなくなる可能性があります。例えば、一度上限に達してルートを拒否している場合、ルート数が上限以下になった後、BGP は必ずしも拒否したルートの再導入を試みないことがあります。この問題を解決するには、BGP セッションのクリアが必要な場合があります。

以下のフロー ルートを限定します。

  1. テーinetflow.0ブルに搭載されるプレフィックス数の上限を設定します。

  2. しきい値を 50 % に設定し、500 ルートがインストールされると、システム ログに警告が記録されます。

結果

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

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

BGP ピアリング セッションで受信するプレフィックス数の制限について

CLI クイック コンフィギュレーション

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

注:

teardown <percentage>drop-excess <percentage>hide-excess<percentage> ステートメント オプションのいずれかを一度に含めることができます。

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、Junos OS CLI User GuideUsing CLI Editor in Configuration Mode を参照してください。

特定のネイバーに対してプレフィックス制限を設定することで、どのピアがどれだけのフロー ルートをアドバタイズできるかをより予測しやすく制御できます。

以下のプレフィックス数を制限します。

  1. ネイバー 10.12.99.2 からの BGP ルートの上限を 1000 個に設定します。

  2. セッションまたはプレフィックスが上限に達した時、teardown <percentage>drop-excess <percentage> または hide-excess<percentage> ステートメント オプションのいずれかを実行するように近隣のセッションまたはプレフィックスを設定します。

    ステートteardown <percentage>メントを指定してパーセンテージを指定すると、プレフィックス数がそのパーセンテージに達した場合にメッセージがログに記録されます。セッションがダウンした後、idle-timeout ステートメントを入れない限り、短時間でセッションが再確立されます。

    drop-excess <percentage> ステートメントを指定し、パーセンテージを指定すると、プレフィックス数がそのパーセンテージを超えた場合に余剰ルートを削除します。

    ステートhide-excess <percentage>メントを指定し、パーセンテージを指定すると、プレフィックス数がそのパーセンテージを超えた場合に余剰ルートを非表示にします。

結果

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

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

検証

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

NLRI の検証

目的

ネイバーに有効な NLRI を見ます。

対処

オペレーショナル モードから、 コマshow bgp neighbor 10.12.99.5ンドを実行します。出力された inet-flow を探します。

ルートの検証

目的

フロー ルートを見ます。サンプル出力では、BGP から学習したフロー ルートと、静的に設定したフロー ルートが表示されます。

ローカルに設定されたフロー ルート( 階[edit routing-options flow]層レベルで設定)の場合、ルートはフロー プロトコルによってインストールされます。そのため、 show route table inetflow.0や のように、 がルーティング インスタンス名instance-nameであるテーブルを指定することでshow route table instance-name.inetflow.0、フロー ルートを表示することができます。また、show route protocol flow コマンドを実行することで、複数のルーティング インスタンスにまたがってローカルに設定されたすべてのフロー ルートを表示することができます。

フロー ルートがローカルに設定されておらず、ルーターの BGP ピアから受信した場合、このフロー ルートは BGP によってルーティング テーブルにインストールされます。テーブルを指定してフロー ルートを表示するかshow route protocol bgp、 を実行してすべての BGP ルート(フローおよび非フロー)を表示することができます。

対処

オペレーショナルモードから、show route table inetflow.0コマンドを実行します。

意味

フロー ルートは、ファイアウォール フィルターの項を表します。フロー ルートを設定する場合、整合条件とアクションを指定します。match 属性では、送信元アドレス、送信先アドレス、およびポートやプロトコルなどの修飾子を一致させることができます。複数の整合条件を含む単一フロー ルートの場合、すべての整合条件はルートのプレフィックス フィールドにカプセル化されます。match destination 10.12.44.1/32フロー ルートで コマshow routeンドを発行すると、ルートのプレフィックス フィールドにすべての整合条件が表示されます。 は、整合条件が であることを10.12.44.1,*意味します。出力中のプレフィックスが *,10.12.44.1 であった場合、整合条件は match source 10.12.44.1/32 であることを意味します。整合条件に送信元と送信先の両方が含まれる場合、アスタリスクはアドレスに置き換えられます。

項順序は、ファイアウォール フィルターで評価される項(フロー ルート)の順序を示します。コマshow route extensiveンドは、各項目(ルート)に対するアクションを表示します。

フロー バリデーションの検証

目的

フロー ルート情報を表示します。

対処

オペレーショナル モードから、 コマshow route flow validation detailンドを実行します。

ファイアウォール フィルターの検証

目的

カーネルにインストールされているファイアウォール フィルターを表示します。

対処

オペレーショナル モードから、 コマshow firewallンドを実行します。

許可されたフロー ルート数を超えた場合のシステム ロギングの確認

目的

フロー ルートの設置数に制限を設けた場合、ルーティング テーブルにインストールされるフロー ルートの数を制限する で説明したように、しきい値に達した時のシステム ログ メッセージを表示します。

対処

オペレーショナル モードから、 コマshow log <message>ンドを実行します。

BGP ピアリング セッションで受信したプレフィックス数を超えた場合のシステム ロギングの検証

目的

フロー ルートの設置数に制限を設けた場合、BGP ピアリング セッションで受信するプレフィックス数の制限について で説明したように、しきい値に達した時のシステム ログ メッセージを表示します。

対処

オペレーショナル モードから、 コマshow log messageンドを実行します。

ステートteradown <percentage>メント オプションを指定した場合。

ステートdrop-excess <percentage>メント オプションを指定した場合。

ステートhide-excess <percentage>メント オプションを指定した場合。

例:IPv6フロー仕様ルートを伝送するためのBGP設定

この例では、トラフィックフィルタリング用にIPv6フロー仕様を設定する方法を説明します。BGPフロー仕様を使用して、サービス拒否攻撃を緩和を目的とする、ドメイン間とドメイン内のトラフィックフィルタリングルールの調整を自動化できます。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • 2つのMXシリーズルーター

  • Junos OS リリース 16.1 以降

BGPを有効化して、IPv6フロー仕様ルートを伝送する前に以下を実行します。

  1. デバイスインターフェイスにIPアドレスを設定します。

  2. BGPを設定します。

  3. ルーティングテーブルからBGPにルート(スタティックルート、ダイレクトルート、もしくはIGPルートなど)をエクスポートするルーティングポリシーを設定します。

概要

フロー仕様は、サービス拒否攻撃からの保護機能を提供し、帯域幅を消費して送信元近くでそれを止めてしまう不良なトラフィックを制限します。Junos OSの初期リリースでは、フロー仕様ルールは、ネットワーク層の到達可能性に関する情報として、BGP上のIPv4に伝搬されました。Junos OSリリース16.1以降、フロー仕様機能はIPv6ファミリー上でサポートされ、IPv6およびIPv6 VPNのトラフィック仕様ルールの伝搬を可能にします。

トポロジー

図 7はサンプルのトポロジーを示しています。ルーターR1とルーターR2は、異なる自律システムに属しています。IPv6フロー仕様は、ルーターR2上に設定されています。すべての着信トラフィックはフロー仕様条件に基づいてフィルタリングされ、トラフィックは指定されたアクションによって異なる方法で処理されます。この例では、フロー仕様条件に一致する、abcd::11:11:11:10/128へ向かうすべてのトラフィックは破棄されます。一方、abcd::11:11:11:30/128を宛先とする、フロー仕様条件に一致するトラフィックは受信されています。

図 7: IPv6フロールートを伝送するBGPの設定IPv6フロールートを伝送するBGPの設定

設定

CLIクイックコンフィギュレーション

この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。

ルータ R1

ルーターR2

ルーターR2の設定

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、CLI User GuideUsing CLI Editor in Configuration Modeを参照します。

ルーターR2を設定する。

注:

適切なインターフェイス名、アドレス、およびその他のパラメーターを変更した後、ルーターR1を対象にしたこの手順を繰り返します。

  1. インターフェイスにIPv6アドレスを設定します。

  2. IPv6ループバックアドレスを設定します。

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

  4. ルーターR1とルーターR2の間でEBGPピアリングセッションを設定します。

  5. スタティックルートとネクストホップを設定します。結果、ルートはルーティングテーブルに追加され、この例の機能を検証します。

  6. フロー仕様の条件を指定します。

  7. discard アクションを設定し、指定された一致条件に一致するパケットを破棄します。

  8. フロー仕様の条件を指定します。

  9. acceptアクションを設定し、指定された一致条件に一致するパケットを受信します。

  10. BGPのスタティックルート受信を可能にするポリシーを定義します。

結果

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

検証

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

inet6フローテーブルにおけるIPv6フロー仕様ルートの存在の検証

目的

ルーターR1とR2のinet6flowテーブルにルートを表示し、BGPがフロールートが学習したことを確認します。

対処

運用モードから、ルーターR1のshow route table inet6flow.0 extensiveコマンドを実行します。

運用モードから、ルーターR2のshow route table inet6flow.0 extensiveコマンドを実行します。

意味

inet6flowテーブル内のabcd::11:11:11:10/128とabcd::11:11:11:30/128のルートの存在が、BGPがフロールートを学習したことを裏付けています。

BGPサマリー情報の検証

目的

BGP の設定が正しいことを確認します。

対処

運用モードから、ルーターR1とR2のshow bgp summaryコマンドを実行します。

意味

inet6.0 テーブルにBGPネイバーアドレスが含まれ、ピアリングセッションがBGPネイバーで確立されたことを確認します。

フローバリデーションの検証

目的

フロー ルート情報を表示します。

対処

運用モードから、ルーターR1のshow route flow validationコマンドを実行します。

意味

この出力は、inet6.0テーブル内のフロールートを表示します。

IPv6ルートのフロー仕様の検証

目的

指定されたフロー仕様ルートに基づいて、破棄、また受信されたパケット数を表示します。

対処

運用モードから、ルーターR2のshow firewall filter_flowspec_default_inet6_コマンドを実行します。

意味

この出力は、abcd::11:11:11:10/128を宛先とするパケットは破棄され、abcd::11:11:11:11:30/128のルートで 88826のパケットが受け付けられたことを示しています。

DDoSトラフィックをフィルターするための、BGPフロー仕様のIPへのリダイレクトアクションの設定

Junos OS Release18.4R1以降、IPへのリダイレクトアクションのインターネットドラフトdraft-ietf-idr-flowspec-redirect-ip-02.txtに記載されているBGPフロー仕様がサポートされています。IPへのリダイレクトアクションは、拡張BGPコミュニティーを使用して、DDoS攻撃緩和に対するトラフィックフィルタリングオプションをサービスプロバイダーネットワークで提供しています。従来のフロー仕様のIPへのリダイレクトは、BGPネクストホップ属性を使用しています。Junos OSは、デフォルトで拡張コミュニティーを使用して、IPへのリダイレクトフロー仕様アクションをアドバタイズしています。この機能は、仮想サービスコントロールゲートウェイ(vSCG)でサービスチェイニングのサポートに必要です。IPへのリダイレクトアクションは、一致するフロー仕様トラフィックを、世界中で接続可能なアドレスに接続に迂回させることを可能にします。そのアドレスは、DDoSトラフィックをフィルターし、クリーンなトラフィックをエグレスデバイスに送信できるフィルタリングデバイスに接続することができます。

BGPフロー仕様ルートに対してのトラフィックをIPにリダイレクトする前に、以下を実行してください。

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

  2. OSPF、またはその他の IGP プロトコルを設定します。

  3. MPLS と LDP を設定します。

  4. BGPを設定します。

BGP拡張コミュニティーを使用して、IPへのリダイレクト機能を設定します。

  1. IPのリダイレクトアクションのBGPフロースペックインターネットドラフトdraft-ietf-idr-flowspec-redirect-ip-02.txtに記載されているとおり、スタティックIPv4フロー仕様ルートに対するIPへのリダイレクトのアクションを設定します。

    Junos OSは、デフォルトで拡張コミュニティーのIPへのリダイレクトを使用して、IPへのリダイレクトフロー仕様アクションをアドバタイズしています。イングレスデバイスは、DDoSトラフィックを検知し、それを指定したIPアドレスに送信します。

    例えば、DDoSトラフィックをIPv4アドレス10.1.1.1にリダイレクトします。

  2. スタティックIPv6フロー仕様ルートに対するIPへのリダイレクトアクションを設定します。

    例えば、DDoSトラフィックをIPv6アドレス1002:db8::にリダイレクトします。

  3. 特定のBGPコミュニティーからトラフィックをフィルターするポリシーを定義します。

    例えば、ポリシーp1を定義し、BGPコミュニティーのrediripからトラフィックをフィルターします。

  4. BGPコミュニティーを設定、追加、または削除するポリシーを定義し、拡張コミュニティーを指定します。

    例えば、コミュニティーのreidiripと拡張コミュニティーを設定、追加、または削除するポリシーp1を定義し、IPアドレス10.1.1.1.へトラフィックをリダイレクトします。

  5. VRF.inet.0テーブルを使用するには、BGPを設定します。VRFフロー仕様ルートを解決するには、階層レベルのステートメントを含めます。

ネクストホップ属性を使用して、従来のフロー仕様のIPへのリダイレクトの機能を設定します。

注:

BGP拡張コミュニティーと従来のネクストホップIPアドレスへのリダイレクトを一緒に使用して、IPアドレスへのトラフィックをリダイレクトするポリシーを設定することはできません。

  1. IPネクストホップへのトラフィックリダイレクトのためのBGPフロースペック拡張コミュニティーにあるインターネットドラフト、draft-ietf-idr-flowspec-redirect-ip-00.txtに記載されている従来のIPへのフロー仕様リダイレクトを設定し、階層レベルで含めます。

  2. ネクストホップの属性に一致するポリシーを定義します。

    例えば、ポリシーp1を定義して、ネクストホップIPアドレス10.1.1.1.にトラフィックをリダイレクトします。

  3. 従来のIPへのフロー仕様ネクストホップ属性リダイレクトアクションを使用して、BGPコミュニティーを設定、追加、または削除するポリシーを定義します。

    例えば、ポリシーp1を定義し、BGPコミュニティーredirnhを設定、追加、または削除し、DDoSトラフィックをネクストホップIPアドレス10.1.1.1.にリダイレクトします。

リリース履歴テーブル
リリース
説明
20.3R1
cRPDリリース20.3R1以降、BGPフロー仕様NLRIを介して伝達されたフロールートとポリシールールは、cRPD環境のLinux Netfilterフレームワークを介してLinuxカーネルにダウンロードされます。
17.2R1
Junos OS リリース 17.2R1 以降、BGP は、第 3 世代 FPC がインストールされている PTX1000 ルーター上で、フロー仕様のネットワーク レイヤー到達可能性情報(NLRI)メッセージを送信できます。
17.1R1
Junos OS リリース 17.1R1 以降、BGP は、PTX3000 上に第 3 世代 FPC(FPC3-PTX-U2 および FPC3-PTX-U3)がインストールされている PTX シリーズ ルーター上でフロー仕様のネットワーク レイヤー到達可能性情報(NLRI)メッセージを伝送できます。PTX3000 では FPC3-SFF-PTX-U0 および FPC3-SFF-PTX-U1 がインストールされています。
16.1R4
Junos OSリリース16.1R4以降、レート制限範囲は[0~1000000000000]です。
16.1
Junos OS リリース 16.1 以降では、IPv6 のサポートが BGP フロー仕様まで拡張され、IPv6 および VPN-IPv6 パケットのトラフィック フロー仕様ルールの伝搬が可能になります。
16.1
Junos OS リリース 16.1R1 以降、BGP フロー仕様ではトラフィック マーキング extended-community フィルタリング アクションがサポートされています。
16.1
Junos OS リリース 16.1 以降では、特定のインターフェイスで受信したトラフィックにフィルターを適用 flowspec しないオプションがあります。
15.1
Junos OS リリース 15.1 以降では、既存の inet-flow および inetvpn-flow ファミリーに対するノンストップ アクティブ ルーティング(NSR)サポートを拡張し、draft-ietf-idr-bgp-flowspec-oid-01 に従って BGP flowspec のルート検証を拡張する変更が実装されています。