PIM および双方向フォワーディング検出(BFD)プロトコルの設定
PIM の双方向フォワーディング検出認証について
双方向フォワーディング検出(BFD)により、隣接システム間の通信障害を迅速に検出できます。デフォルトでは、BFD セッションの認証は無効になっています。ただし、ネットワーク層プロトコル上で BFD を実行すると、サービス攻撃のリスクが大きくなる可能性があります。複数のホップまたは安全でないトンネルを介してBFDを実行している場合は、認証を使用することを強くお勧めします。
Junos OS リリース 9.6 以降、Junos OS は PIM 上で実行される BFD セッションの認証をサポートしています。BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは使用できません。
BFD セッションを認証するには、認証アルゴリズムとキーチェーンを指定し、そのキーチェーン名を使用して、その設定情報をセキュリティ認証キーチェーンに関連付けます。
次のセクションでは、サポートされている認証アルゴリズム、セキュリティ キーチェーン、および設定可能な認証レベルについて説明します。
BFD認証アルゴリズム
Junos OSは、BFD認証について以下のアルゴリズムをサポートしています。
シンプルパスワード - プレーンテキストのパスワード。1〜16バイトのプレーンテキストがBFDセッションの認証に使用されます。1 つ以上のパスワードを設定できます。この方法は最も安全性が低く、BFD セッションがパケット傍受の影響を受けない場合にのみ使用してください。
keyed-md5—送信および受信間隔が 100 ミリ秒を超えるセッション用のキー付きメッセージ ダイジェスト 5 ハッシュ アルゴリズム。BFD セッションを認証するために、keyed MD5 は 1 つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。この方法では、キーの 1 つが一致し、シーケンス番号が最後に受信したシーケンス番号以上の場合、セッションの受信側でパケットが受け入れられます。この方法は単純なパスワードよりも安全ですが、リプレイ攻撃に対して脆弱です。シーケンス番号の更新頻度を上げると、このリスクを軽減できます。
meticulous-keyed-md5:綿密なキー付きメッセージダイジェスト5ハッシュアルゴリズム。この方法は、キー付き MD5 と同じように機能しますが、シーケンス番号はパケットごとに更新されます。この方法は、キーによる MD5 や単純なパスワードよりも安全ですが、セッションの認証にさらに時間がかかる場合があります。
keyed-sha-1—送信および受信間隔が 100 ミリ秒を超えるセッション用のキー付きセキュア ハッシュ アルゴリズム I。BFD セッションを認証するために、keyed SHA は 1 つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。キーはパケット内では伝送されません。この方法では、キーの1つが一致し、シーケンス番号が最後に受信したシーケンス番号より大きい場合、セッションの受信側でパケットが受け入れられます。
meticulous-keyed-sha-1—綿密なキー付きセキュアハッシュアルゴリズムI.このメソッドはキー付き SHA と同じように機能しますが、シーケンス番号はパケットごとに更新されます。この方法では、キー付き SHA や単純なパスワードよりも安全ですが、セッションの認証にさらに時間がかかる場合があります。
ノンストップ アクティブ ルーティング (NSR)は、meticulous-keyed-md5 認証アルゴリズムおよび meticulous-keyed-sha-1 認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用する BFD セッションは、スイッチオーバー後にダウンする可能性があります。
セキュリティ認証キーチェーン
セキュリティ認証キーチェーンは、認証キーの更新に使用される認証属性を定義します。セキュリティ認証キーチェーンが設定され、キーチェーン名を介してプロトコルに関連付けられている場合、ルーティングおよびシグナリングプロトコルを中断することなく認証キーの更新を行うことができます。
認証キーチェーンには、1 つ以上のキーチェーンが含まれています。各キーチェーンには、1 つ以上のキーが含まれています。各キーには、シークレット データと、キーが有効になる時刻が保持されます。アルゴリズムとキーチェーンは、BFD セッションの両端で設定する必要があり、一致する必要があります。設定の不一致があると、BFDセッションは作成されません。
BFD ではセッションごとに複数のクライアントを許可し、各クライアントに独自のキーチェーンとアルゴリズムを定義できます。混乱を避けるため、セキュリティ認証キーチェーンを 1 つだけ指定することをお勧めします。
セキュリティ認証キーチェーンは、SRXシリーズファイアウォールではサポートされていません。
ストリクト認証とルーズ認証
デフォルトでは、厳密な認証が有効になっており、各 BFD セッションの両端で認証がチェックされます。オプションで、非認証セッションから認証済みセッションへのスムーズな移行のために、 ルーズチェックを設定できます。ルーズ チェックが設定されている場合、パケットはセッションの両端で認証がチェックされずに受け入れられます。この機能は、移行期間のみを対象としています。
関連項目
PIM の BFD の設定
双方向フォワーディング検出(BFD)プロトコルは、ネットワーク内の障害を検出する単純なhelloメカニズムです。BFDは、さまざまなネットワーク環境とトポロジーで動作します。一対のルーティング・デバイスがBFDパケットを交換します。Helloパケットは、指定された、定期的な間隔で送信されます。ネイバー障害は、ルーティングデバイスが指定した時間経過後に応答の受信を停止すると検出されます。BFD 障害検出タイマーは、PIM(プロトコル独立マルチキャスト)hello ホールド時間よりも制限時間が短いため、より高速に検出できます。
BFDの障害検出タイマーは適応型であり、速くまたは遅くするように調整できます。BFD障害検出タイマーの値が低いほど、障害検出が速くなり、その逆も同様です。たとえば、隣接関係に障害が発生した場合(つまり、タイマーが障害の検出に速度を落とした場合)、タイマーはより高い値に適応できます。または、ネイバーは、設定された値よりも高い値のタイマーをネゴシエートできます。BFDセッションのフラップが15秒間に3回以上発生すると、タイマーはより高い値に適応します。バックオフアルゴリズムは、ローカルBFDインスタンスがセッションフラップの原因である場合に、受信(Rx)の間隔を2つ増加させます。リモートBFDインスタンスがセッションフラップの原因である場合は、送信(Tx)の間隔が2つ増加します。 clear bfd adaptation
コマンドを使用して、BFD 間隔タイマーを設定した値に戻すことができます。 clear bfd adaptation
コマンドはヒットレスであり、コマンドがルーティングデバイスのトラフィックフローに影響を及ぼすことはありません。
PIM で BFD を有効にするには、最小送信間隔と最小受信間隔を指定する必要があります。
障害検出を有効にするには:
関連項目
PIM の BFD 認証の設定
PIM プロトコルの BFD 認証アルゴリズムを指定します。
認証キーチェーンを PIM プロトコルに関連付けます。
関連するセキュリティ認証キーチェーンを設定します。
Junos OS リリース 9.6 以降、PIM(プロトコル独立マルチキャスト)上で実行する双方向フォワーディング検出(BFD)セッションの認証を設定できます。ルーティングインスタンスもサポートされています。
以下のセクションでは、PIM での BFD 認証の設定と表示の手順について説明します。
BFD 認証パラメータの設定
BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは使用できません。
BFD 認証を設定するには:
BFD セッションの認証情報の表示
既存の BFD 認証の設定を表示するには、 show bfd session detail
および show bfd session extensive
コマンドを使用します。
次の例は、 ge-0/1/5 インターフェイスに設定されたBFD認証を示しています。これは、キーによる SHA-1 認証アルゴリズムと bfd-pim のキーチェーン名を指定します。認証キーチェーンは、2 つのキーで構成されます。キー 1 には、シークレット データ "$ABC 123/" と、2009 年 6 月 1 日午前 9 時 46 分 02 秒の開始時刻が含まれています。キー 2 には、シークレット データ "$ABC 123/" と、2009 年 6 月 1 日午後 3 時 29 分 20 秒の開始時刻が含まれています。
[edit protocols pim] interface ge-0/1/5 { family inet { bfd-liveness-detection { authentication { key-chain bfd-pim; algorithm keyed-sha-1; } } } } [edit security] authentication key-chains { key-chain bfd-pim { key 1 { secret “$ABC123/”; start-time “2009-6-1.09:46:02 -0700”; } key 2 { secret “$ABC123/”; start-time “2009-6-1.15:29:20 -0700”; } } }
これらの更新を設定にコミットすると、次の例のような出力が表示されます。 show bfd session detail
コマンドの出力 では、認証 が表示され、BFD 認証が設定されていることを示します。設定の詳細については、 show bfd session extensive
コマンドを使用してください。このコマンドの出力には、キーチェーン名、セッション内の各クライアントの認証アルゴリズムとモード、BFD 認証の全体的な設定ステータス、キーチェーン名、認証アルゴリズムとモードが表示されます。
BFDセッションの詳細を表示
user@host# show bfd session detail Detect Transmit Address State Interface Time Interval Multiplier 192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3 Client PIM, TX interval 0.300, RX interval 0.300, Authenticate Session up time 3d 00:34 Local diagnostic None, remote diagnostic NbrSignal Remote state Up, version 1 Replicated
BFDセッション拡張を表示
user@host# show bfd session extensive Detect Transmit Address State Interface Time Interval Multiplier 192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3 Client PIM, TX interval 0.300, RX interval 0.300, Authenticate keychain bfd-pim, algo keyed-sha-1, mode strict Session up time 00:04:42 Local diagnostic None, remote diagnostic NbrSignal Remote state Up, version 1 Replicated Min async interval 0.300, min slow interval 1.000 Adaptive async TX interval 0.300, RX interval 0.300 Local min TX interval 0.300, minimum RX interval 0.300, multiplier 3 Remote min TX interval 0.300, min RX interval 0.300, multiplier 3 Local discriminator 2, remote discriminator 2 Echo mode disabled/inactive Authentication enabled/active, keychain bfd-pim, algo keyed-sha-1, mode strict
例:PIM IPv6 の BFD 活性検出の設定
この例では、プロトコル独立マルチキャスト(PIM)トポロジー用に設定されたIPv6インターフェイスの双方向フォワーディング検出(BFD)活性検出を設定する方法を示します。BFDは、ネットワーク内の障害を検出するための単純なhelloメカニズムです。
BFD 活性検出を設定するには、次の手順が必要です。
インターフェイスを設定します。
関連するセキュリティ認証キーチェーンを設定します。
PIM プロトコルの BFD 認証アルゴリズムを指定します。
PIMを設定し、認証キーチェーンを目的のプロトコルに関連付けます。
ルーティングインスタンスのBFD認証を設定します。
BFD セッションの両端でこれらの手順を実行する必要があります。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
2 つのピア ルーター
Junos OS 12.2 以降。
概要
この例では。デバイスR1とデバイスR2はピアです。各ルーターは、共通のメディアを介して接続された PIM を実行します。
位相幾何学
図 1 に、この例で使用するトポロジを示します。

ルーターが初期化されると仮定します。BFD セッションはまだ確立されていません。各ルーターについて、PIM はルーティング プロトコルで設定されたネイバーの IPv6 アドレスを監視するように BFD プロセスに通知します。アドレスは動的に学習されないため、設定する必要があります。
各ルーターの [edit protocols pim] 階層レベルで、IPv6 アドレスと BFD 活性検出を設定します。
[edit protocols pim] user@host# set interface interface-name family inet6 bfd-liveness-detection
[edit routing-instancesinstance-name プロトコル PIM インターフェイス オール ファミリ inet6] 階層レベルでルーティング インスタンスの BFD 活性検出を設定します(ここでは、 instance-name は instance1:
[edit routing-instances instance1 protocols pim] user@host# set bfd-liveness-detection
BFD の認証アルゴリズムと認証キーチェーン値も設定します。
BFD が設定されているネットワークでは、クライアントがピアとの BFD セッションを起動すると、BFD は、BFD ピアの設定時に指定した間隔値を含む、低速で周期的な BFD 制御パケットの送信を開始します。これは、初期化状態と呼ばれます。この状態では、BFD はアップまたはダウン通知を生成しません。別の BFD インターフェイスが BFD 制御パケットを確認すると、セッションはアップ状態に移行し、周期的な制御パケットの送信をより迅速に開始します。データ パス障害が発生し、BFD が設定された時間内に制御パケットを受信しなかった場合、データ パスはダウンと宣言され、BFD は BFD クライアントに通知します。BFD クライアントは、トラフィックを再ルーティングするために必要なアクションを実行できます。このプロセスは、BFD クライアントによって異なる場合があります。
構成
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit]
階層レベルのCLIにコマンドをコピーして貼り付けます。
デバイスR1
set interfaces ge-0/1/5 unit 0 description toRouter2 set interfaces ge-0/1/5 unit 0 family inet6 set interfaces ge-0/1/5 unit 0 family inet6 address e80::21b:c0ff:fed5:e4dd set protocols pim interface ge-0/1/5 family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set protocols pim interface ge-0/1/5 family inet6 bfd-liveness-detection authentication key-chain bfd-pim set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication key-chain bfd-pim set security authentication key-chain bfd-pim key 1 secret "v" set security authentication key-chain bfd-pim key 1 start-time "2012-01-01.09:46:02 -0700" set security authentication key-chain bfd-pim key 2 secret "$ABC123abc123" set security authentication key-chain bfd-pim key 2 start-time "2012-01-01.15:29:20 -0700"
デバイスR2
set interfaces ge-1/1/0 unit 0 description toRouter1 set interfaces ge-1/1/0 unit 0 family inet6 address e80::21b:c0ff:fed5:e5dd set protocols pim interface ge-1/1/0 family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set protocols pim interface ge-1/1/0 family inet6 bfd-liveness-detection authentication key-chain bfd-pim set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication key-chain bfd-pim set security authentication key-chain bfd-pim key 1 secret "$ABC123abc123" set security authentication key-chain bfd-pim key 1 start-time "2012-01-01.09:46:02 -0700" set security authentication key-chain bfd-pim key 2 secret "$ABC123abc123" set security authentication key-chain bfd-pim key 2 start-time "2012-01-01.15:29:20 -0700"
プロシージャ
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、『Junos OS CLIユーザーガイド』の「 コンフィギュレーション・モードで CLI エディタを使用する」を参照してください。
デバイスR1でPIM IPv6インターフェイスのBFD活性検出を設定するには:
この手順は、デバイス R1 用です。適切なインターフェイス名、アドレス、およびその他のパラメーターを変更した後、デバイスR2に対してこの手順を繰り返します。
inet6
ステートメントを使用して、これが IPv6 アドレスであることを指定して、インターフェイスを設定します。[edit interfaces] user@R1# set ge-0/1/5 unit 0 description toRouter2 user@R1# set ge-0/1/5 unit 0 family inet6 address e80::21b:c0ff:fed5:e4dd
PIM プロトコルの BFD 認証アルゴリズムとキーチェーンを指定します。
キーチェーンは、指定された PIM ルートまたはルーティング インスタンスでの BFD セッションを、一意のセキュリティ認証キーチェーン属性に関連付けるために使用されます。このキーチェーン名は、
[edit security authentication]
階層レベルで設定されたキーチェーン名と一致する必要があります。[edit protocols] user@R1# set pim interface ge-0/1/5.0 family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 user@R1# set pim interface ge-0/1/5 family inet6 bfd-liveness-detection authentication key-chain bfd-pim
手記:アルゴリズムとキーチェーンは、BFD セッションの両端で設定する必要があり、一致する必要があります。設定の不一致があると、BFDセッションは作成されません。
ルーティングインスタンス(ここでは instance1)を設定し、BFD認証を指定し、セキュリティ認証アルゴリズムとキーチェーンを関連付けます。
[edit routing-instances] user@R1# set instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 user@R1# set instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication key-chain bfd-pim
BFD セッションに固有のセキュリティ認証情報を指定します。
ステップ 2 で指定した一致するキーチェーン名。
少なくとも 1 つのキー、 0 から 63 までの一意の整数。複数のキーを作成することで、複数のクライアントが BFD セッションを使用できるようになります。
セッションへのアクセスを許可するために使用されるシークレット データ。
認証キーがアクティブになる時刻( YYYY-MM-DD.hh:mm:ss の形式)。
[edit security authentication] user@R1# set key-chain bfd-pim key 1 secret "$ABC123abc123" user@R1# set key-chain bfd-pim key 1 start-time "2012-01-01.09:46:02 -0700" user@R1# set key-chain bfd-pim key 2 secret "$ABC123abc123" user@R1# set key-chain bfd-pim key 2 start-time "2012-01-01.15:29:20 -0700"
業績
show interfaces
、show protocols
、show routing-instances
、および show security
コマンドを発行して、構成を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R1# show interfaces ge-0/1/5 { unit 0 { description toRouter2; family inet6 { address e80::21b:c0ff:fed5:e4dd { } } } }
user@R1# show protocols pim { interface ge-0/1/5.0 { family inet6; bfd-liveness-detection { authentication { algorithm keyed-sha-1; key-chain bfd-pim; } } } }
user@R1# show routing-instances instance1 { protocols { pim { interface all { family inet6 { bfd-liveness-detection { authentication { algorithm keyed-sha-1; key-chain bfd-pim; } } } } } } }
user@R1# show security authentication { key-chain bfd-pim { key 1 { secret “$ABC123abc123”; start-time “2012-01-01.09:46:02 -0700”; } key 2 { secret “$ABC123abc123”; start-time “2012-01-01.15:29:20 -0700”; } } }
検証
設定が正常に機能していることを確認します。
BFD セッションの検証
目的
BFD 活性検出が有効になっていることを確認します。
アクション
user@R1# run show pim neighbors detail Instance: PIM.master Interface: ge-0/1/5.0 Address: fe80::21b:c0ff:fed5:e4dd, IPv6, PIM v2, Mode: Sparse, sg Join Count: 0, tsg Join Count: 0 Hello Option Holdtime: 65535 seconds Hello Option DR Priority: 1 Hello Option Generation ID: 1417610277 Hello Option LAN Prune Delay: delay 500 ms override 2000 ms Join Suppression supported Address: fe80::21b:c0ff:fedc:28dd, IPv6, PIM v2, sg Join Count: 0, tsg Join Count: 0 Secondary address: beef::2 BFD: Enabled, Operational state: Up Hello Option Holdtime: 105 seconds 80 remaining Hello Option DR Priority: 1 Hello Option Generation ID: 1648636754 Hello Option LAN Prune Delay: delay 500 ms override 2000 ms Join Suppression supported
意味
show pim neighbors detail
コマンドの画面に BFD: 有効、動作状態:アップと表示され、BFD が 2 つの PIM ネイバー間で動作していることを示します。BFDセッションに関する追加情報(セッションID番号を含む)については、show bfd session extensive
コマンドを使用してください。
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。