静的ルートの双方向フォワーディング検出
ネットワーク障害検出を高速化するための静的ルート用BFDの理解
双方向フォワーディング検出(BFD)プロトコルは、ネットワーク内の障害を検出する単純なhelloメカニズムです。BFDは、さまざまなネットワーク環境とトポロジーで動作します。1対のルーティングデバイスが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 ステートメントを含めます。
bfd-liveness-detectionコマンドには、説明フィールドが含まれています。この機能をサポートするデバイスでは、説明はbfd-liveness-detectionオブジェクトの下の属性です。このフィールドは、静的ルートにのみ適用されます。
BFDプロトコルは、IPv6スタティックルートでサポートされています。スタティックルートでは、グローバルユニキャストおよびリンクローカルIPv6アドレスがサポートされています。BFDプロトコルは、マルチキャストまたはエニーキャストIPv6アドレスではサポートされていません。IPv6の場合、BFDプロトコルはスタティックルートのみをサポートします。BFD向けIPv6は、eBGPプロトコルでもサポートされています。
IPv6スタティックルートにBFDプロトコルを設定するには、[edit routing-options rib inet6.0 static route destination-prefix]階層レベルでbfd-liveness-detectionステートメントを含めます。
ホールドダウン間隔を設定して、状態変更通知が送信されるまでにBFDセッションを稼働させておく必要がある時間を指定できます。
ホールドダウン間隔を指定するには、BFD設定に holddown-interval ステートメントを含めます。0〜255,000ミリ秒の範囲で数値を設定できます。デフォルトは 0 です。BFDセッションがダウンし、ホールドダウン間隔中に復帰すると、タイマーが再起動されます。
1つのBFDセッションに複数のスタティックルートが含まれる場合は、値が最も高いホールドダウン間隔が使用されます。
障害検知のための最小の送信および受信間隔を指定するには、BFD設定に minimum-interval ステートメントを含めます。
この値は、ローカル ルーティング デバイスが hello パケットを送信するまでの最小間隔と、ルーティング デバイスが BFD セッションを確立したネイバーから応答を受信すると予想される最小間隔の両方を表します。1〜255,000ミリ秒の範囲で数値を設定できます。オプションとして、このステートメントを使用する代わりに、 transmit-interval minimum-interval ステートメントと minimum-receive-interval ステートメントを使用して、最小送信間隔と受信間隔を個別に設定できます。
ネットワーク環境によっては、以下の追加推奨事項が適用される場合があります。
-
集中型BFDの推奨最小間隔は300ミリ秒(
multiplierは3)、分散型BFDの推奨最小間隔は100ミリ秒、multiplierは3です。 -
多数の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セッション検出時間がしきい値と同じかそれ以上の値に適応すると、単一のトラップとシステムログメッセージが送信されます。検出時間は、 最小間隔 または 最小受信間隔 値の乗数に基づきます。しきい値は、これらの設定された値のいずれかの乗数よりも高い値である必要があります。例えば、 最小受信間隔 が 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セッションの送信時間がしきい値よりも大きい値に適応すると、単一のトラップとシステムログメッセージが送信されます。検出時間は、[edit routing-options static route destination-prefix bfd-liveness-detection]階層レベルの最小間隔またはminimum-receive-intervalステートメントの値の乗数に基づきます。しきい値は、これらの設定された値のいずれかの乗数よりも高い値である必要があります。
BFDバージョンを指定するには、BFD設定に version ステートメントを含めます。デフォルトでは、バージョンが自動的に検出されます。
BFDセッションのネクストホップのIPアドレスを含めるには、BFD設定に neighbor ステートメントを含めます。
指定されたネクストホップがインターフェイス名である場合、 neighbor ステートメントを設定する必要があります。ネクストホップとしてIPアドレスを指定すると、そのアドレスはBFDセッションのネイバーアドレスとして使用されます。
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にコピー&ペーストしてください。
デバイスB
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
デバイスD
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コマンドを発行して、設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
デバイスB
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;
}
}
}
デバイスD
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認証について
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ミリ秒を超えるセッション用のKeyed Message Digest 5ハッシュアルゴリズム。BFDセッションを認証するために、鍵付きMD5は1つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。この方法では、鍵の1つが一致し、シーケンス番号が最後に受信したシーケンス番号以上の場合、セッションの受信側でパケットが受け入れられます。この方法は単純なパスワードよりも安全ですが、リプレイ攻撃に対して脆弱です。シーケンス番号の更新レートを上げると、このリスクを軽減できます。
meticulous-keyed-md5—細心の注意を払ったキー付きメッセージダイジェスト5ハッシュアルゴリズム。この方法は、キー付きMD5と同じように機能しますが、シーケンス番号はパケットごとに更新されます。キー付きのMD5やシンプルなパスワードよりも安全ですが、この方法ではセッションの認証にさらに時間がかかる場合があります。
keyed-sha-1—送信および受信間隔が100ミリ秒を超えるセッション用のキー付きセキュアハッシュアルゴリズムI。BFDセッションを認証するために、鍵付きSHAは、1つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。キーはパケット内では伝送されません。この方法では、鍵の1つが一致し、シーケンス番号が最後に受信したシーケンス番号より大きい場合、セッションの受信側でパケットが受け入れられます。
meticulous-keyed-sha-1—細心の注意を払った鍵付きセキュアハッシュアルゴリズム I.この方法はキー付き SHA と同じように機能しますが、シーケンス番号はパケットごとに更新されます。キー付きのSHAや単純なパスワードよりも安全ですが、この方法ではセッションの認証にさらに時間がかかる場合があります。
ノンストップアクティブルーティング (NSR)は、meticulous-keyed-md5およびmeticulous-keyed-sha-1認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用するBFDセッションは、スイッチオーバー後にダウンする可能性があります。
QFX5000シリーズスイッチとEX4600スイッチは、1秒未満の最小間隔値をサポートしていません。
セキュリティ認証キーチェーン
セキュリティ認証キーチェーンは、認証キーの更新に使用される認証属性を定義します。セキュリティ認証キーチェーンが設定され、キーチェーン名を介してプロトコルに関連付けられている場合、ルーティングおよびシグナリングプロトコルを中断することなく、認証キーの更新を行うことができます。
認証キーチェーンには、1つ以上のキーチェーンが含まれています。各キーチェーンには 1 つ以上のキーが含まれています。各キーには、シークレットデータとキーが有効になる時刻が保持されています。アルゴリズムとキーチェーンは、BFDセッションの両端で設定する必要があり、一致している必要があります。設定が一致しないと、BFDセッションを作成できません。
BFDでは、セッションごとに複数のクライアントが許可され、各クライアントは独自のキーチェーンとアルゴリズムを定義することができます。混乱を避けるため、セキュリティ認証キーチェーンを1つだけ指定することをお勧めします。
ストリクト認証とルーズ認証
デフォルトでは、厳密な認証が有効になっており、各 BFD セッションの両端で認証がチェックされます。オプションで、非認証セッションから認証済みセッションにスムーズに移行するために、 ルーズチェックを設定することができます。ルーズチェックが設定されている場合、セッションの両端で認証をチェックせずにパケットが受け入れられます。この機能は、移行期間のみを対象としています。
例:静的ルートを保護するための BFD 認証の設定
この例では、静的ルートに対して双方向フォワーディング検出(BFD)認証を設定する方法を示します。
要件
Junos OSリリース9.6以降(カナダおよび米国版)。
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にコピー&ペーストします。
デバイスB
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"
デバイスD
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)は、meticulous-keyed-md5およびmeticulous-keyed-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コマンドを発行して、設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
デバイスB
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認証が設定されていることを示す認証が表示されます。
広範な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認証が設定されていることを示す認証が表示されます。 extensive コマンドの出力は、セッション内の各クライアントのキーチェーン名、認証アルゴリズム、およびモードを提供します。
この description Site- <xxx> は、SRXシリーズファイアウォールでのみサポートされています。
各クライアントに複数の説明フィールドがある場合は、最初の説明フィールドとともに「and more」と表示されます。
例:ルート選択用の静的ルートの適格なネクストホップでBFDを有効にする
この例では、可能な複数のネクストホップを持つスタティックルートを設定する方法を示しています。各ネクストホップでは、BFD(双方向転送検出)が有効になっています。
要件
この例では、デバイスの初期化以上の特別な設定は必要ありません。
概要
この例では、デバイスBにはスタティックルート 192.168.47.0/24 があり、ネクストホップは2つあります。2つのネクストホップは、2つの qualified-next-hop ステートメントを使用して定義されます。各ネクストホップでBFDが有効になっている。
接続の両端でBFDを有効にする必要があるため、デバイスDでもBFDが有効になります。
BFDセッションが稼働している場合、ネクストホップはルーティングテーブルに含まれます。BFDセッションがダウンした場合、ネクストホップはルーティングテーブルから削除されます。
図3をご覧ください。
でBFDを有効化
トポロジー
設定
手順
CLIクイックコンフィグレーション
この例を簡単に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、コマンドを [edit] 階層レベルのCLIにコピー&ペーストしてください。
デバイスB
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
デバイスD
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セッションがダウンすると、静的ルートがルーティングテーブルから削除されます。
1 つのネクスト ホップから BFD を削除する
目的
BFDを有効にしているネクストホップが1つだけの場合に何が起こるかを示します。
アクション
まだ非アクティブ化されていない場合は、デバイス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セッションはダウンしています。172.16.1.2ネクストホップはルーティングテーブルに残り、ルートはアクティブなままです。これは、BFDが有効な状態を維持するための条件ではないためです。