スタティック ルートの双方向転送検出
スタティックルートのBFDを理解して、ネットワーク障害検出を高速化する
Bidirectional Forwarding Detection(BFD)プロトコルは、ネットワーク内の障害を検出する単純なhelloメカニズムです。BFDは、さまざまなネットワーク環境とトポロジーで動作します。ルーティング デバイスのペアが BFD パケットを交換します。Helloパケットは指定された、定期的な間隔で送信されます。ルーティングデバイスが一定時間経過した後に応答を受信しなくなった場合に、ネイバー障害が検出されます。BFD障害検出タイマーは、静的ルート障害検出メカニズムよりも制限時間が短いため、より高速に検出できます。
BFDの障害検出タイマーは、より速くまたは遅くするように調整できます。BFD障害検出タイマーの値が低いほど、障害検出は速くなり、その逆も同様です。たとえば、隣接関係に障害が発生した場合(つまり、タイマーが障害を検出する速度が遅くなる)に、タイマーをより高い値に適応させることができます。または、ネイバーは、設定された値よりも高い値のタイマーをネゴシエートできます。BFDセッションのフラップが15秒間に3回以上発生すると、タイマーはより高い値に適応します。バックオフアルゴリズムは、ローカルBFDインスタンスがセッションフラップの原因である場合に、受信(Rx)の間隔を2つ増加させます。リモートBFDインスタンスがセッションフラップの原因である場合は、送信(Tx)の間隔が2つ増加します。 clear bfd adaptation コマンドを使用すると、BFD 間隔タイマーを設定した値に戻すことができます。 clear bfd adaptation コマンドはヒットレスであり、コマンドがルーティングデバイスのトラフィックフローに影響を及ぼすことはありません。
デフォルトでは、BFDはシングルホップの静的ルートでサポートされています。
MXシリーズデバイスでは、静的ルートに複数のネクストホップが設定されている場合、静的ルートでマルチホップBFDはサポートされません。静的ルートにマルチホップBFDが必要な場合、複数のネクストホップの使用を避けることをお勧めします。
障害検出を有効にするには、静的ルート設定に bfd-liveness-detection ステートメントを含めます。
Junos OS リリース 15.1X49-D70 および Junos OS リリース 17.3R1 以降、 bfd-liveness-detection コマンドに description フィールドが含まれています。説明は、 bfd-liveness-detection オブジェクトの下の属性であり、SRXシリーズファイアウォールでのみサポートされています。このフィールドは、静的ルートにのみ適用されます。
Junos OS リリース 9.1 以降では、IPv6 スタティック ルートで BFD プロトコルがサポートされています。グローバル ユニキャストおよびリンクローカル IPv6 アドレスは、スタティック ルートでサポートされています。BFD プロトコルは、マルチキャストまたはエニーキャスト IPv6 アドレスではサポートされていません。IPv6の場合、BFDプロトコルはスタティックルートのみをサポートしており、Junos OS リリース9.3以降でのみサポートされています。BFD の IPv6 は、eBGP プロトコルでもサポートされています。
IPv6スタティックルートにBFDプロトコルを設定するには、[edit routing-options rib inet6.0 static route destination-prefix]階層レベルでbfd-liveness-detectionステートメントを含めます。
Junos OS リリース 8.5 以降では、ホールドダウン間隔を設定して、状態変更通知が送信される前に BFD セッションが稼働したままでなければならない時間を指定できます。
ホールドダウン間隔を指定するには、BFD設定に holddown-interval ステートメントを含めます。0〜255,000ミリ秒の範囲の数値を設定できます。デフォルトは 0 です。BFD セッションがダウンし、ホールドダウン間隔中に再びアップした場合、タイマーが再起動されます。
単一のBFDセッションに複数のスタティックルートが含まれている場合は、最大値のホールドダウン間隔が使用されます。
障害検知のための最小の送受信間隔を指定するには、BFD設定に minimum-interval ステートメントを含めます。
この値は、ローカル ルーティング デバイスが Hello パケットを送信する最小間隔と、ルーティング デバイスが BFD セッションを確立したネイバーからの応答を受信することを期待する最小間隔の両方を表します。1〜255,000ミリ秒の範囲の数値を設定できます。オプションとして、このステートメントを使用する代わりに、 transmit-interval minimum-interval および minimum-receive-interval ステートメントを使用して、最小の送信間隔と最小受信間隔を個別に設定できます。
Junos OSまたはJunos OS Evolvedを実行しているEX4600およびQFX5000シリーズスイッチは、集中型および分散型モードで1秒未満の最小間隔値をサポートしていません。
BFDは、システムリソースを消費する集中的なプロトコルです。BFDの最小間隔を、ルーティングエンジンベースのセッションでは100ミリ秒未満、分散BFDセッションでは10ミリ秒未満に指定すると、望ましくないBFDフラッピングが発生する可能性があります。
ネットワーク環境によっては、次の追加の推奨事項が適用される場合があります。
-
多数のBFDセッションを伴う大規模なネットワーク導入では、ルーティングエンジンベースのセッションでは300ミリ秒、分散BFDセッションでは100ミリ秒の最小間隔を指定します。
-
多数のBFDセッションを伴う非常に大規模なネットワーク導入の場合、詳細についてジュニパーネットワークスのカスタマーサポートにお問い合わせください。
-
ノンストップアクティブルーティング(NSR)が設定されている場合、ルーティングエンジンスイッチオーバーイベント中にBFDセッションが稼働したままになるようにするには、ルーティングエンジンベースのセッションに2500ミリ秒の最小間隔を指定します。NSR が設定された分散 BFD セッションの場合、最小間隔の推奨値は変更されず、ネットワーク展開にのみ依存します。
障害検出の最小受信間隔を指定するには、BFD設定にminimum-receive-intervalステートメントを含めます。この値は、ルーティング デバイスが BFD セッションを確立したネイバーからの応答を受信することを期待する最小間隔を表しています。1〜255,000ミリ秒の範囲の数値を設定できます。オプションとして、このステートメントを使用する代わりに、[edit routing-options static route destination-prefix bfd-liveness-detection]階層レベルでminimum-intervalステートメントを使用して最小受信間隔を設定することができます。
発信元インターフェイスがダウンと宣言される原因となる、ネイバーが受信しなかった hello パケットの数を指定するには、BFD 設定に multiplier ステートメントを含めます。デフォルト値は 3 です。1〜255の範囲で設定できます。
検出時間の適応を検出するためのしきい値を指定するには、BFD設定に threshold ステートメントを含めます。
BFD セッションの検出時間がしきい値以上の値に適応すると、1 つのトラップとシステム ログ メッセージが送信されます。検出時間は、 minimum-interval または minimum-receive-interval 値の乗数に基づきます。しきい値は、これらの設定値のいずれかの乗数よりも高い値でなければなりません。たとえば、 最小受信間隔 が 300 ミリ秒で、 乗数 が 3 の場合、合計検出時間は 900 ミリ秒になります。したがって、検出時間のしきい値は 900 より大きい値でなければなりません。
障害検知のための最小送信間隔を指定するには、BFD設定に transmit-interval minimum-interval ステートメントを含めます。
この値は、ローカル ルーティング デバイスが BFD セッションを確立したネイバーに Hello パケットを送信する最小間隔を表しています。1〜255,000ミリ秒の範囲の値を設定できます。オプションとして、このステートメントを使用する代わりに、[edit routing-options static route destination-prefix bfd-liveness-detection]階層レベルでminimum-intervalステートメントを使用して最小送信間隔を設定することができます。
送信間隔を適応させるためのしきい値を指定するには、BFD設定に transmit-interval threshold ステートメントを含めます。
しきい値は、送信間隔より大きくなければなりません。BFD セッションの送信時間がしきい値よりも大きい値に適応すると、1 つのトラップとシステム ログ メッセージが送信されます。検出時間は、最小間隔の値の乗数または[edit routing-options static route destination-prefix bfd-liveness-detection]階層レベルのminimum-receive-intervalステートメントに基づきます。しきい値は、これらの設定値のいずれかの乗数よりも高い値でなければなりません。
BFDバージョンを指定するには、BFD設定に version ステートメントを含めます。デフォルトでは、バージョンが自動的に検出されます。
BFDセッションのネクストホップのIPアドレスを含めるには、BFD設定に neighbor ステートメントを含めます。
指定されたネクストホップがインターフェイス名である場合、 neighbor ステートメントを設定する必要があります。ネクストホップとしてIPアドレスを指定すると、そのアドレスはBFDセッションのネイバーアドレスとして使用されます。
Junos OS リリース 9.0 以降では、変化するネットワーク状況に適応しないように BFD セッションを設定することができます。BFD適応を無効にするには、BFD設定に no-adaptation ステートメントを含めます。
ネットワークにBFD適応 がないことが望ましくない 限り、BFD適応を無効にしないことを推奨します。
BFDが静的ルートの片側にのみ設定されている場合、そのルートはルーティングテーブルから削除されます。BFD は、静的ルートの両端で BFD が設定されている場合にセッションを確立します。
BFD は、スタティック ルートの ISO アドレス ファミリーではサポートされていません。BFD は IS-IS をサポートしています。
BFDと同時にグレー スフルルーティングエンジンスイッチオーバー (GRES)を設定した場合、GRESはフェイルオーバー中にBFDの状態情報を保持しません。
参照
例:ネットワーク障害検出を高速化するためのスタティック ルートの BFD の設定
この例では、スタティック ルートに BFD(双方向フォワーディング検出)を設定する方法を示しています。
必要条件
この例では、デバイスの初期化以上の特別な設定は必要ありません。
概要
静的ルートには多くの実用的なアプリケーションがあります。スタティックルーティングは、スタブネットワークへの接続をサポートするためにネットワークエッジでよく使用されますが、スタブネットワークは、入口と出口が単一であるため、静的ルートのシンプルさに適しています。Junos OSでは、スタティック ルートのグローバル プリファレンスは5です。スタティックルートは、指定されたネクストホップが到達可能な場合にアクティブになります。
この例では、ネクストホップアドレス172.16.1.2を使用して、プロバイダネットワークからカスタマーネットワークへの静的ルート192.168.47.0/24を設定します。また、ネクストホップアドレス172.16.1.1を使用して、カスタマーネットワークからプロバイダネットワークへの0.0.0.0/0の静的デフォルトルートを設定します。
デモンストレーション用に、一部のループバックインターフェイスはデバイスBとデバイスDに設定されています。これらのループバックインターフェイスは、pingするアドレスを提供することで、静的ルートが機能していることを確認します。
図 1 は、サンプルのネットワークを示しています。
に接続された顧客ルート
位相幾何学
構成
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストしてください。
1 デバイスB 1
set interfaces ge-1/2/0 unit 0 description B->D set interfaces ge-1/2/0 unit 0 family inet address 172.16.1.1/24 set interfaces lo0 unit 57 family inet address 10.0.0.1/32 set interfaces lo0 unit 57 family inet address 10.0.0.2/32 set routing-options static route 192.168.47.0/24 next-hop 172.16.1.2 set routing-options static route 192.168.47.0/24 bfd-liveness-detection minimum-interval 1000 set routing-options static route 192.168.47.0/24 bfd-liveness-detection description Site-xxx set protocols bfd traceoptions file bfd-trace set protocols bfd traceoptions flag all
1 デバイスD 1
set interfaces ge-1/2/0 unit 1 description D->B set interfaces ge-1/2/0 unit 1 family inet address 172.16.1.2/24 set interfaces lo0 unit 2 family inet address 192.168.47.5/32 set interfaces lo0 unit 2 family inet address 192.168.47.6/32 set routing-options static route 0.0.0.0/0 next-hop 172.16.1.1 set routing-options static route 0.0.0.0/0 bfd-liveness-detection minimum-interval 1000 set protocols bfd traceoptions file bfd-trace set protocols bfd traceoptions flag all
プロシージャ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
スタティック ルートの BFD を設定するには:
デバイスBで、インターフェイスを設定します。
[edit interfaces] user@B# set ge-1/2/0 unit 0 description B->D user@B# set ge-1/2/0 unit 0 family inet address 172.16.1.1/24 user@B# set lo0 unit 57 family inet address 10.0.0.1/32 user@B# set lo0 unit 57 family inet address 10.0.0.2/32
デバイスBでは、静的ルートを作成し、ネクストホップアドレスを設定します。
[edit routing-options] user@B# set static route 192.168.47.0/24 next-hop 172.16.1.2
デバイスBで、静的ルートにBFDを設定します。
[edit routing-options] user@B# set static route 192.168.47.0/24 bfd-liveness-detection minimum-interval 1000 set routing-options static route 192.168.47.0/24 bfd-liveness-detection description Site-xxx
デバイス B で、BFD のトレース操作を設定します。
[edit protocols] user@B# set bfd traceoptions file bfd-trace user@B# set bfd traceoptions flag all
デバイス B の設定が完了したら、設定をコミットします。
[edit] user@B# commit
デバイスDで、インターフェイスを設定します。
[edit interfaces] user@D# set ge-1/2/0 unit 1 description D->B user@D# set ge-1/2/0 unit 1 family inet address 172.16.1.2/24 user@D# set lo0 unit 2 family inet address 192.168.47.5/32 user@D# set lo0 unit 2 family inet address 192.168.47.6/32
デバイスDで、静的ルートを作成し、ネクストホップアドレスを設定します。
[edit routing-options] user@D# set static route 0.0.0.0/0 next-hop 172.16.1.1
デバイスDで、静的ルートにBFDを設定します。
[edit routing-options] user@D# set static route 0.0.0.0/0 bfd-liveness-detection minimum-interval 1000
デバイス D で、BFD のトレース操作を設定します。
[edit protocols] user@D# set bfd traceoptions file bfd-trace user@D# set bfd traceoptions flag all
デバイス D の設定が完了したら、設定をコミットします。
[edit] user@D# commit
業績
show interfaces、show protocols、show routing-optionsコマンドを発行して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
1 デバイスB 1
user@B# show interfaces
ge-1/2/0 {
unit 0 {
description B->D;
family inet {
address 172.16.1.1/24;
}
}
}
lo0 {
unit 57 {
family inet {
address 10.0.0.1/32;
address 10.0.0.2/32;
}
}
}
user@D# show protocols
bfd {
traceoptions {
file bfd-trace;
flag all;
}
}
user@B# show routing-options
static {
route 192.168.47.0/24 {
next-hop 172.16.1.2;
bfd-liveness-detection {
description Site- xxx;
minimum-interval 1000;
}
}
}
1 デバイスD 1
user@D# show interfaces
ge-1/2/0 {
unit 1 {
description D->B;
family inet {
address 172.16.1.2/24;
}
}
}
lo0 {
unit 2 {
family inet {
address 192.168.47.5/32;
address 192.168.47.6/32;
}
}
}
user@D# show routing-options
static {
route 0.0.0.0/0 {
next-hop 172.16.1.1;
bfd-liveness-detection {
description Site - xxx;
minimum-interval 1000;
}
}
}
検証
設定が正常に機能していることを確認します。
BFD セッションが稼働していることを確認
目的
BFDセッションが立ち上がっていることを確認し、BFDセッションの詳細を表示します。
アクション
動作モードから、 show bfd session extensive コマンドを入力します。
user@B> show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
172.16.1.2 Up lt-1/2/0.0 3.000 1.000 3
Client Static, description Site-xxx, TX interval 1.000, RX interval 1.000
Session up time 00:14:30
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Replicated, routing table index 172
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 2, remote discriminator 1
Echo mode disabled/inactive
1 sessions, 1 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 1.0 pps
この description Site- <xxx> は、SRXシリーズファイアウォールでのみサポートされています。
各クライアントに複数の説明フィールドがある場合は、最初の説明フィールドとともに「and more」と表示されます。
user@D> show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
172.16.1.1 Up lt-1/2/0.1 3.000 1.000 3
Client Static, TX interval 1.000, RX interval 1.000
Session up time 00:14:35
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Replicated, routing table index 170
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 1, remote discriminator 2
Echo mode disabled/inactive
1 sessions, 1 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 1.0 pps
意味
TX interval 1.000, RX interval 1.000出力は、minimum-interval ステートメントで構成された設定を表しています。その他の出力はすべて、BFDのデフォルト設定を表しています。デフォルト設定を変更するには、bfd-liveness-detectionステートメントの下にオプションのステートメントを含めます。
BFD イベントの詳細表示
目的
BFDトレースファイルの内容を表示し、必要に応じてトラブルシューティングに役立てることができます。
アクション
動作モードから、 file show /var/log/bfd-trace コマンドを入力します。
user@B> file show /var/log/bfd-trace Nov 23 14:26:55 Data (9) len 35: (hex) 42 46 44 20 70 65 72 69 6f 64 69 63 20 78 6d 69 74 20 72 Nov 23 14:26:55 PPM Trace: BFD periodic xmit rt tbl index 172 Nov 23 14:26:55 Received Downstream TraceMsg (22) len 108: Nov 23 14:26:55 IfIndex (3) len 4: 0 Nov 23 14:26:55 Protocol (1) len 1: BFD Nov 23 14:26:55 Data (9) len 83: (hex) 70 70 6d 64 5f 62 66 64 5f 73 65 6e 64 6d 73 67 20 3a 20 Nov 23 14:26:55 PPM Trace: ppmd_bfd_sendmsg : socket 12 len 24, ifl 78 src 172.16.1.1 dst 172.16.1.2 errno 65 Nov 23 14:26:55 Received Downstream TraceMsg (22) len 93: Nov 23 14:26:55 IfIndex (3) len 4: 0 Nov 23 14:26:55 Protocol (1) len 1: BFD Nov 23 14:26:55 Data (9) len 68: (hex) 42 46 44 20 70 65 72 69 6f 64 69 63 20 78 6d 69 74 20 74
意味
BFDメッセージがトレースファイルに書き込まれます。
スタティック ルート セキュリティのための BFD 認証について
Bidirectional Forwarding Detection(BFD)により、隣接するシステム間の通信障害を迅速に検出できます。デフォルトでは、BFD セッションの認証は無効になっています。ただし、ネットワーク層プロトコル上で BFD を実行すると、サービス攻撃のリスクが大きくなる可能性があります。
複数のホップまたは安全でないトンネルを介してBFDを実行する場合は、認証を使用することを強くお勧めします。
Junos OS リリース 9.6 以降、Junos OS は、IPv4 および IPv6 静的ルート上で実行される BFD セッションの認証をサポートしています。BFD 認証は、MPLS OAM セッションではサポートされていません。BFD認証は、Junos OSイメージのカナダおよび米国バージョンでのみサポートされており、エクスポートバージョンでは使用できません。
EX3300 は、スタティック ルート経由の BFD のみをサポートします。
BFD セッションを認証するには、認証アルゴリズムとキーチェーンを指定し、キーチェーン名を使用してその設定情報をセキュリティ認証キーチェーンに関連付けます。
次のセクションでは、サポートされている認証アルゴリズム、セキュリティ キーチェーン、および構成可能な認証レベルについて説明します。
BFD認証アルゴリズム
Junos OSは、BFD認証のために以下のアルゴリズムをサポートしています。
simple-password:プレーンテキスト パスワード。BFDセッションの認証には、1〜16バイトのプレーンテキストが使用されます。1 つ以上のパスワードを設定できます。この方法は最も安全性が低いため、BFD セッションがパケット傍受の対象とならない場合にのみ使用してください。
keyed-md5—送受信間隔が 100 ミリ秒を超えるセッション向けのキー付きメッセージ ダイジェスト 5 ハッシュ アルゴリズム。BFD セッションを認証するために、鍵付き MD5 は 1 つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。この方法では、キーの 1 つが一致し、シーケンス番号が最後に受信したシーケンス番号以上である場合、セッションの受信側でパケットが受け入れられます。この方法は単純なパスワードよりも安全ですが、リプレイ攻撃に対して脆弱です。シーケンス番号の更新頻度を上げると、このリスクを軽減できます。
meticulous-keyed-md5—細心の注意を払った鍵付きメッセージダイジェスト 5 ハッシュアルゴリズム。この方法は、キー付き MD5 と同じように機能しますが、シーケンス番号はパケットごとに更新されます。この方法は、鍵付き MD5 や単純なパスワードよりも安全ですが、セッションの認証にさらに時間がかかる場合があります。
keyed-sha-1—送受信間隔が 100 ミリ秒を超えるセッション用の鍵付きセキュア ハッシュ アルゴリズム I。BFD セッションを認証するために、鍵付き SHA は 1 つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。鍵はパケット内では伝送されません。この方法では、キーの 1 つが一致し、シーケンス番号が最後に受信したシーケンス番号よりも大きい場合、セッションの受信側でパケットが受け入れられます。
細心の注意を払った鍵付きsha-1—細心の注意を払った鍵付きセキュアハッシュアルゴリズムI。この方法は、鍵付き SHA と同じように機能しますが、シーケンス番号はパケットごとに更新されます。この方法は、鍵付き SHA や単純なパスワードよりも安全ですが、セッションの認証にさらに時間がかかる場合があります。
ノンストップアクティブルーティング (NSR)は、細心の注意を払った鍵付き MD5 および細心の注意を払った鍵付き SHA-1 認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用するBFDセッションは、スイッチオーバー後にダウンする可能性があります。
QFX5000 シリーズ スイッチと EX4600 スイッチでは、1 秒未満の最小間隔値はサポートされていません。
セキュリティ認証キーチェーン
セキュリティ認証キーチェーンは、認証キーの更新に使用される認証属性を定義します。セキュリティ認証キーチェーンが設定され、キーチェーン名によってプロトコルに関連付けられている場合、ルーティングプロトコルとシグナリングプロトコルを中断することなく、認証キーの更新を行うことができます。
認証キーチェーンには、1 つ以上のキーチェーンが含まれています。各キーチェーンには 1 つ以上のキーが含まれています。各キーには、シークレット データと、キーが有効になる時刻が保持されます。アルゴリズムとキーチェーンは、BFD セッションの両端で設定する必要があり、それらは一致する必要があります。設定が一致しないと、BFD セッションを作成できません。
BFD では、セッションごとに複数のクライアントが許可され、各クライアントには独自のキーチェーンとアルゴリズムを指定できます。混乱を避けるため、セキュリティ認証キーチェーンは 1 つだけ指定することをお勧めします。
ストリクト認証とルーズ認証
デフォルトでは、厳密な認証が有効になっており、認証は各BFDセッションの両端でチェックされます。オプションとして、非認証セッションから認証済みセッションへの移行をスムーズにするために、 ルーズチェックを設定できます。ルーズチェックが設定されている場合、パケットはセッションの両端で認証チェックされずに受け入れられます。この機能は、移行期間のみを対象としています。
例:スタティック ルートを保護するための BFD 認証の設定
この例では、スタティック ルートの双方向フォワーディング検出(BFD)認証を設定する方法を示しています。
必要条件
Junos OS リリース 9.6 以降(Canda および米国バージョン)
BFD認証は、Junos OSイメージのカナダおよび米国バージョンでのみサポートされており、エクスポートバージョンでは使用できません。
概要
IPv4 および IPv6 の静的ルート上で動作する BFD セッションの認証を設定できます。ルーティングインスタンスと論理システムもサポートされています。
BFDセッションで認証を設定するには、次の手順が必要です。
静的ルートのBFD認証アルゴリズムを指定します。
認証キーチェーンを静的ルートに関連付けます。
関連するセキュリティ認証キーチェーンを設定します。これは、メインルーターで設定する必要があります。
非認証セッションから認証済みセッションに移行する場合は、ルーズ認証チェックを指定することをお勧めします。
[edit] user@host> set routing-options static route ipv4 bfd-liveness-detection authentication loose-check
図 2 は、サンプルのネットワークを示しています。
に接続された顧客ルート
位相幾何学
構成
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストしてください。
1 デバイスB 1
set interfaces ge-1/2/0 unit 0 description B->D set interfaces ge-1/2/0 unit 0 family inet address 172.16.1.1/24 set interfaces lo0 unit 57 family inet address 10.0.0.1/32 set interfaces lo0 unit 57 family inet address 10.0.0.2/32 set routing-options static route 192.168.47.0/24 next-hop 172.16.1.2 set routing-options static route 192.168.47.0/24 bfd-liveness-detection minimum-interval 1000 set routing-options static route 192.168.47.0/24 bfd-liveness-detection description Site-xxx set routing-options static route 192.168.47.0/24 bfd-liveness-detection authentication key-chain bfd-kc4 set routing-options static route 192.168.47.0/24 bfd-liveness-detection authentication algorithm keyed-sha-1 set security authentication-key-chains key-chain bfd-kc4 key 5 secret "$ABC123$ABC123$ABC123" set security authentication-key-chains key-chain bfd-kc4 key 5 start-time "2011-1-1.12:00:00 -0800"
1 デバイスD 1
set interfaces ge-1/2/0 unit 1 description D->B set interfaces ge-1/2/0 unit 1 family inet address 172.16.1.2/24 set interfaces lo0 unit 2 family inet address 192.168.47.5/32 set interfaces lo0 unit 2 family inet address 192.168.47.6/32 set routing-options static route 0.0.0.0/0 next-hop 172.16.1.1 set routing-options static route 0.0.0.0/0 bfd-liveness-detection minimum-interval 1000 set routing-options static route 0.0.0.0/0 bfd-liveness-detection authentication key-chain bfd-kc4 set routing-options static route 0.0.0.0/0 bfd-liveness-detection authentication algorithm keyed-sha-1 set security authentication-key-chains key-chain bfd-kc4 key 5 secret "$ABC123$ABC123$ABC123" set security authentication-key-chains key-chain bfd-kc4 key 5 start-time "2011-1-1.12:00:00 -0800"
プロシージャ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
スタティック ルートの BFD を設定するには:
デバイスBで、インターフェイスを設定します。
[edit interfaces] user@B# set ge-1/2/0 unit 0 description B->D user@B# set ge-1/2/0 unit 0 family inet address 172.16.1.1/24 user@B# set lo0 unit 57 family inet address 10.0.0.1/32 user@B# set lo0 unit 57 family inet address 10.0.0.2/32
デバイスBでは、静的ルートを作成し、ネクストホップアドレスを設定します。
[edit routing-options] user@B# set static route 192.168.47.0/24 next-hop 172.16.1.2
デバイスBで、静的ルートにBFDを設定します。
[edit routing-options] user@B# set static route 192.168.47.0/24 bfd-liveness-detection minimum-interval 1000 set routing-options static route 192.168.47.0/24 bfd-liveness-detection description Site-xxx
デバイスBで、静的ルートでのBFD認証に使用するアルゴリズム(keyed-md5、 keyed-sha-1、 meticulous-keyed-md5、 meticulous-keyed-sha-1、または simple-password)を指定します。
[edit routing-options] user@B# set static route 192.168.47.0/24 bfd-liveness-detection authentication algorithm keyed-sha-1
手記:ノンストップ アクティブ ルーティング(NSR)は、細心の注意を払った鍵付き md5 および 細心の注意を払った鍵付き SHA-1 認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用するBFDセッションは、スイッチオーバー後にダウンする可能性があります。
-
デバイス B で、指定されたルート上の BFD セッションを一意のセキュリティ認証キーチェーン属性に関連付けるために使用するキーチェーンを指定します。
これは、
[edit security authentication key-chains]階層レベルで設定されたキーチェーン名と一致する必要があります。[edit routing-options] user@B# set static route 192.168.47.0/24 bfd-liveness-detection authentication key-chain bfd-kc4
デバイス B で、BFD セッションに固有のセキュリティ認証情報を指定します。
-
ステップ 5 で指定した一致するキーチェーン名。
少なくとも 1 つのキー ( 0 から 63 までの一意の整数)。複数の鍵を作成することで、複数のクライアントが BFD セッションを使用できるようになります。
セッションへのアクセスを許可するために使用されるシークレット データ。
認証キーがアクティブになる時刻( yyyy-mm-dd.hh:mm:ss形式)。
[edit security authentication-key-chains key-chain bfd-kc4] user@B# set key 5 secret "$ABC123$ABC123$ABC123" user@B# set key 5 start-time "2011-1-1.12:00:00 -0800"
-
デバイス B の設定が完了したら、設定をコミットします。
[edit] user@B# commit
デバイスDに対しても同じ設定を繰り返します。
アルゴリズムとキーチェーンは、BFD セッションの両端で設定する必要があり、それらは一致する必要があります。設定が一致しないと、BFD セッションを作成できません。
業績
show interfaces、show routing-options、およびshow securityコマンドを発行して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
1 デバイスB 1
user@B# show interfaces
ge-1/2/0 {
unit 0 {
description B->D;
family inet {
address 172.16.1.1/24;
}
}
}
lo0 {
unit 57 {
family inet {
address 10.0.0.1/32;
address 10.0.0.2/32;
}
}
}
user@B# show routing-options
static {
route 192.168.47.0/24 {
next-hop 172.16.1.2;
bfd-liveness-detection {
description Site- xxx;
minimum-interval 1000;
authentication {
key-chain bfd-kc4;
algorithm keyed-sha-1;
}
}
}
}
user@B# show security
authentication-key-chains {
key-chain bfd-kc4 {
key 5 {
secret "$ABC123$ABC123$ABC123"; ## SECRET-DATA
start-time "2011-1-1.12:00:00 -0800";
}
}
}
検証
設定が正常に機能していることを確認します。
BFD セッションが稼働していることを確認
目的
BFD セッションが立ち上がっていることを確認します。
アクション
動作モードから、 show bfd session コマンドを入力します。
user@B> show bfd session
Detect Transmit
Address State Interface Time Interval Multiplier
172.16.1.2 Up ge-1/2/0.0 3.000 1.000 3
1 sessions, 1 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 1.0 pps
意味
コマンドの出力は、BFD セッションがアップしていることを示しています。
BFD セッションの詳細の表示
目的
BFDセッションの詳細を表示し、認証が設定されていることを確認します。
アクション
動作モードから、 show bfd session detail コマンドを入力します。
user@B> show bfd session detail
Detect Transmit
Address State Interface Time Interval Multiplier
172.16.1.2 Up ge-1/2/0.0 3.000 1.000 3
Client Static, TX interval 1.000, RX interval 1.000, Authenticate
Session up time 00:53:58
Local diagnostic NbrSignal, remote diagnostic None
Remote state Up, version 1
Logical system 9, routing table index 22
1 sessions, 1 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 1.0 pps
意味
コマンド出力では、BFD 認証が設定されていることを示す ために Authenticate が表示されます。
広範囲の BFD セッション情報の表示
目的
BFDセッションに関する詳細情報を表示します。
アクション
動作モードから、 show bfd session extensive コマンドを入力します。
user@B> show bfd session extensive
Address State Interface Time Interval Multiplier
172.16.1.2 Up ge-1/2/0.0 3.000 1.000 3
Client Static, description Site-xxx, TX interval 1.000, RX interval 1.000, Authenticate
keychain bfd-kc4, algo keyed-sha-1, mode strict
Session up time 01:39:45
Local diagnostic NbrSignal, remote diagnostic None
Remote state Up, version 1
Logical system 9, routing table index 22
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 3, remote discriminator 4
Echo mode disabled/inactive
Authentication enabled/active, keychain bfd-kc4, algo keyed-sha-1, mode strict
1 sessions, 1 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 1.0 pps
意味
コマンド出力では、BFD 認証が設定されていることを示す ために Authenticate が表示されます。 extensive コマンドの出力には、セッション内の各クライアントのキーチェーン名、認証アルゴリズム、およびモードが表示されます。
この description Site- <xxx> は、SRXシリーズファイアウォールでのみサポートされています。
各クライアントに複数の説明フィールドがある場合は、最初の説明フィールドとともに「and more」と表示されます。
例:ルート選択のためのスタティック ルートの適格なネクスト ホップでの BFD の有効化
この例では、複数の可能なネクストホップを持つ静的ルートを設定する方法を示しています。各ネクストホップでは、BFD(双方向フォワーディング検出)が有効になっています。
必要条件
この例では、デバイスの初期化以上の特別な設定は必要ありません。
概要
この例では、デバイス B には、2 つの可能なネクスト ホップを持つ静的ルート 192.168.47.0/24 があります。2つのネクストホップは、2つの qualified-next-hop ステートメントを使用して定義されます。各ネクストホップでBFDが有効になっています。
BFD は接続の両端で有効にする必要があるため、デバイス D でも BFD は有効になっています。
BFDセッションがアップしている場合、ネクストホップはルーティングテーブルに含まれます。BFDセッションがダウンした場合、ネクストホップはルーティングテーブルから削除されます。
図 3 を参照してください。
でBFDを有効にする
位相幾何学
構成
プロシージャ
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストしてください。
1 デバイスB 1
set interfaces fe-0/1/0 unit 2 description secondary-B->D set interfaces fe-0/1/0 unit 2 family inet address 192.168.2.1/24 set interfaces ge-1/2/0 unit 0 description B->D set interfaces ge-1/2/0 unit 0 family inet address 172.16.1.1/24 set routing-options static route 192.168.47.0/24 qualified-next-hop 192.168.2.2 bfd-liveness-detection minimum-interval 60 set routing-options static route 192.168.47.0/24 qualified-next-hop 172.16.1.2 bfd-liveness-detection minimum-interval 60
1 デバイスD 1
set interfaces fe-0/1/0 unit 3 description secondary-D->B set interfaces fe-0/1/0 unit 3 family inet address 192.168.2.2/24 set interfaces ge-1/2/0 unit 1 description D->B set interfaces ge-1/2/0 unit 1 family inet address 172.16.1.2/24 set routing-options static route 0.0.0.0/0 qualified-next-hop 192.168.2.1 set routing-options static route 0.0.0.0/0 qualified-next-hop 172.16.1.1 set routing-options static route 0.0.0.0/0 bfd-liveness-detection minimum-interval 60
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の説明については、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用するを参照してください。
2つの可能なネクストホップを持つ静的ルートを設定するには、どちらもBFDを有効にします。
デバイスBで、インターフェイスを設定します。
[edit interfaces fe-0/1/0] user@B# set unit 2 description secondary-B->D user@B# set unit 2 family inet address 192.168.2.1/24 [edit interfaces ge-1/2/0] user@B# set unit 0 description B->D user@B# set unit 0 family inet address 172.16.1.1/24
デバイスBでは、2つのネクストホップを持つ静的ルートを設定し、どちらもBFDを有効にします。
[edit routing-options static route 192.168.47.0/24] user@B# set qualified-next-hop 192.168.2.2 bfd-liveness-detection minimum-interval 60 user@B# set qualified-next-hop 172.16.1.2 bfd-liveness-detection minimum-interval 60
デバイスDで、インターフェイスを設定します。
[edit interfaces fe-0/1/0] user@D# set unit 3 description secondary-D->B user@D# set unit 3 family inet address 192.168.2.2/24 [edit interfaces ge-1/2/0] user@D# set unit 1 description D->B user@D# set unit 1 family inet address 172.16.1.2/24
デバイスDでは、プロバイダーネットワークへのネクストホップを2つ持つBFD対応のデフォルト静的ルートを設定します。
この場合、BFD はネクストホップではなくルート上で有効になります。
[edit routing-options static route 0.0.0.0/0] user@D# set qualified-next-hop 192.168.2.1 user@D# set qualified-next-hop 172.16.1.1 user@D# set bfd-liveness-detection minimum-interval 60
業績
show interfacesコマンドとshow routing-optionsコマンドを発行して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@B# show interfaces
fe-0/1/0 {
unit 2 {
description secondary-B->D;
family inet {
address 192.168.2.1/24;
}
}
}
ge-1/2/0 {
unit 0 {
description B->D;
family inet {
address 172.16.1.1/24;
}
}
}
user@B# show routing-options
static {
route 192.168.47.0/24 {
qualified-next-hop 192.168.2.2 {
bfd-liveness-detection {
minimum-interval 60;
}
}
qualified-next-hop 172.16.1.2 {
bfd-liveness-detection {
minimum-interval 60;
}
}
}
}
user@D# show interfaces
fe-0/1/0 {
unit 3 {
description secondary-D->B;
family inet {
address 192.168.2.2/24;
}
}
}
ge-1/2/0 {
unit 1 {
description D->B;
family inet {
address 172.16.1.2/24;
}
}
}
user@D# show routing-options
static {
route 0.0.0.0/0 {
qualified-next-hop 192.168.2.1;
qualified-next-hop 172.16.1.1;
bfd-liveness-detection {
minimum-interval 60;
}
}
}
デバイスの設定が完了したら、設定モードから コミット を入力します。
検証
設定が正常に機能していることを確認します。
ルーティングテーブルの確認
目的
デバイスBのルーティングテーブルに、ネクストホップが2つある静的ルートが表示されていることを確認します。
アクション
user@B> show route 192.168.47.0 extensive
inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
192.168.47.0/24 (1 entry, 1 announced)
TSI:
KRT in-kernel 192.168.47.0/24 -> {192.168.2.2}
*Static Preference: 5
Next hop type: Router
Address: 0x9334010
Next-hop reference count: 1
Next hop: 172.16.1.2 via ge-1/2/0.0
Next hop: 192.168.2.2 via fe-0/1/0.2, selected
State: <Active Int Ext>
Age: 9
Task: RT
Announcement bits (1): 3-KRT
AS path: I
意味
両方のネクストホップがリストされています。ネクストホップ192.168.2.2が選択されたルートです。
BFD セッションの検証
目的
BFD セッションが立ち上がっていることを確認します。
アクション
user@B> show bfd session
Detect Transmit
Address State Interface Time Interval Multiplier
172.16.1.2 Up ge-1/2/0.0 0.720 0.240 3
192.168.2.2 Up fe-0/1/0.2 0.720 0.240 3
2 sessions, 2 clients
Cumulative transmit rate 8.3 pps, cumulative receive rate 8.3 pps
意味
この出力は、BFD セッションが立ち上がっていることを示しています。
デバイスDからのBFDの削除
目的
両方のネクストホップでBFDセッションがダウンした場合の動作を示します。
アクション
デバイスDでBFDを無効にします。
[edit routing-options static route 0.0.0.0/0] user@D# deactivate bfd-liveness-detection user@D# commit
デバイスBで
show bfd sessionコマンドを再実行します。user@B> show bfd session Detect Transmit Address State Interface Time Interval Multiplier 172.16.1.2 Down ge-1/2/0.0 3.000 1.000 3 192.168.2.2 Down fe-0/1/0.2 3.000 1.000 3 2 sessions, 2 clients Cumulative transmit rate 2.0 pps, cumulative receive rate 2.0 ppsデバイスBで
show route 192.168.47.0コマンドを再実行します。user@B> show route 192.168.47.0
意味
予想通り、BFDセッションがダウンすると、静的ルートはルーティングテーブルから削除されます。
One Next Hop からの BFD の削除
目的
1 つのネクスト ホップのみで BFD が有効になっている場合に何が起こるかを示します。
アクション
まだ非アクティブ化されていない場合は、デバイスDでBFDを非アクティブ化します。
[edit routing-options static route 0.0.0.0/0] user@D# deactivate bfd-liveness-detection user@D# commit
デバイスBのネクストホップの1つでBFDを無効にします。
[edit routing-options static route 192.168.47.0/24 qualified-next-hop 172.16.1.2] user@B# deactivate bfd-liveness-detection user@B# commit
デバイスBで
show bfd sessionコマンドを再実行します。user@B> show bfd session Detect Transmit Address State Interface Time Interval Multiplier 192.168.2.2 Down fe-0/1/0.2 3.000 1.000 3デバイスBで
show route 192.168.47.0 extensiveコマンドを再実行します。user@B> show route 192.168.47.0 extensive inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) 192.168.47.0/24 (1 entry, 1 announced) TSI: KRT in-kernel 192.168.47.0/24 -> {172.16.1.2} *Static Preference: 5 Next hop type: Router, Next hop index: 624 Address: 0x92f0178 Next-hop reference count: 3 Next hop: 172.16.1.2 via ge-1/2/0.0, selected State: <Active Int Ext> Age: 2:36 Task: RT Announcement bits (1): 3-KRT AS path: I
意味
予想通り、192.168.2.2ネクストホップでBFDセッションがダウンしています。BFDはこのネクストホップが有効な状態を維持するための条件ではないため、172.16.1.2ネクストホップはルーティングテーブルに残り、ルートはアクティブなままです。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。
bfd-liveness-detection コマンドに description フィールドが含まれています。説明は、
bfd-liveness-detection オブジェクトの下の属性であり、SRXシリーズファイアウォールでのみサポートされています。このフィールドは、静的ルートにのみ適用されます。