BGPセッション用BFD
BGP向けBFDについて
双方向フォワーディング検出(BFD)プロトコルは、ネットワーク内の障害を検出する単純なhelloメカニズムです。Helloパケットは、指定された、定期的な間隔で送信されます。ルーティングデバイスが一定時間経過した後に応答を受信しなくなった場合に、ネイバー障害が検出されます。BFDは、さまざまなネットワーク環境とトポロジーで動作します。BFDの障害検出タイマーは、BGPのデフォルトの障害検出メカニズムよりも制限時間が短いため、より高速に検出できます。
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
プラットフォームに関連する注意事項については、「 BGP動作用のプラットフォーム固有のBFD 」セクションを参照してください。
同じデバイスで BGP の BFD とグレースフル リスタートの両方を設定すると、逆効果になります。インターフェイスがダウンすると、BFDがこれを即座に検出し、トラフィック転送を停止してBGPセッションがダウンしますが、グレースフルリスタートはインターフェイス障害にも関わらずトラフィックを転送します。この動作によりネットワークの問題が発生する可能性があります。そのため、同じデバイスでBFDとグレースフルリスタートの両方を設定することは推奨しません。
BFDの障害検出タイマーは、より速くまたは遅くするように調整できます。BFDの障害検出タイマー値が低いほど、障害検出は速くなり、その逆も同様です。例えば、隣接関係に障害が発生した場合(つまり、タイマーが障害を検出する速度が遅くなった場合)、タイマーはより高い値に適応できます。または、ネイバーが設定された値よりも高い値のタイマーをネゴシエートできます。BFDセッションのフラップが15秒(15000ミリ秒)の間に3回以上発生すると、タイマーはより高い値に適応します。バックオフアルゴリズムは、ローカルBFDインスタンスがセッションフラップの原因である場合に、受信(Rx)の間隔を2つ増加させます。リモートBFDインスタンスがセッションフラップの原因である場合、送信(Tx)間隔は2つ増加します。 clear bfd adaptation コマンドを使用すると、BFD間隔タイマーを設定した値に戻すことができます。 clear bfd adaptation コマンドはヒットレスであり、コマンドがルーティングデバイスのトラフィックフローに影響を与えないことを意味します。
BGPピアセッション用のBFDストリクトモード
Junos OSは、BGPピアセッションのBFDストリクトモードをサポートしています。ストリクトモードが有効な場合、BGPは、関連するBFDセッションが確立されて安定するのを待ってから、BGPセッションを確立済みに移行します。ストリクトモードは、BFDが利用できないか不安定な場合のルートチャーンを減らすのに役立ちます。
行動
-
strict-bfdがbfd-liveness-detectionで設定されている場合、BGP有限状態マシンは、関連するBFDセッションがUpを報告するのを待ってから、BGPセッションが確立された状態になることを許可します。 -
BFDが許容された待機間隔内に Up を報告しない場合、BGPセッションはリセットされ、ルーターはサブコードBFD DownのBGP通知をピアに送信します。
-
使用される待機間隔は次のとおりです。
-
ホールドタイムがゼロ以外の場合のBGPホールドタイム、または
-
BGPホールドタイムが
0の場合に設定されたbfd-up-wait-interval。
-
-
strict-bfdはデフォルトで無効になっており、明示的に設定する必要があります。 -
strict-bfdまたはbfd-up-wait-intervalの変更は、確立されていないセッションに直ちに適用されます。確立されたセッションの場合、変更は次回のセッション再起動時に有効になります。 -
両方のピアが、厳密な動作がそのセッションで有効になるためには、厳密なBFD機能のサポートをアドバタイズする必要があります。
ピアルーターをBFDストリクトモードとホールドダウン間隔で同一に設定し、無期限のアイドル状態を回避し、適切なBGPセッション確立を確保します。
例:BGPネイバーの厳密なBFD待機間隔の設定
BGPをBFDストリクトモードで動作するように設定することで、関連するBGPセッションが正常に確立され安定するまでBGPセッションが確立されないようにすることができます。
この構成は、データプレーンパスが不安定なネットワークにおいて、ルーティングの解約を防ぎ、セッションの信頼性を向上させるのに役立ちます。
BGPセッションを確立する前に、BFDセッションが立ち上がるまで最大20秒待機するようにBGPを設定するには:
[edit protocols bgp] user@host# set group EBGP neighbor 198.51.100.1 bfd-liveness-detection strict-bfd bfd-up-wait-interval 20
この例では:
-
BGP保留時間が
0場合、ルーターはBFDセッションが立ち上がるまで最大20秒待機します。 -
保留時間が0以外の場合、その値が待機間隔を上書きします。
-
間隔が終了する前にBFDセッションが立ち上がると、タイマーはキャンセルされます。
-
BFD が動作せずに間隔が満了すると、BGP セッションがリセットされ、BGP 通知メッセージがピアに送信されます。
制限とデフォルト
-
デフォルトの待機間隔:30秒(使用時に適用)
-
サポートされている範囲:10〜255秒
-
Junosでの最小実用的なBFD起動(プラットフォームによって異なります):通常、約4〜6秒かかります。新しいBFDセッションが初期化を完了するまでの十分な時間を確保するには、最小許容時間10秒で使用してください。
関連項目
例:内部 BGP ピア セッションでの BFD の設定
この例では、双方向フォワーディング検出(BFD)プロトコルを使用して内部 BGP(IBGP)ピア セッションを設定し、ネットワーク内の障害を検出する方法を示します。
要件
この例を設定する前に、デバイスの初期化以外の特別な設定は必要ありません。
概要
IBGP セッションで BFD を有効にするための最小設定は、BFD セッションに参加するすべてのネイバーのBGP設定に bfd-liveness-detection minimum-interval ステートメントを含めることです。 minimum-interval ステートメントは、障害検出のための最小の送受信間隔を指定します。具体的には、この値は、ローカル ルーティング デバイスが hello パケットを送信するまでの最小間隔と、ルーティング デバイスが BFD セッションを確立したネイバーから応答を受信すると予想される最小間隔を表します。1〜255,000ミリ秒の値を設定できます。
オプションで、 transmit-interval minimum-interval ステートメントと minimum-receive-interval ステートメントを使用して、最小の送信間隔と受信間隔を個別に指定できます。これらおよびその他のオプションのBFD設定ステートメントについては、 bfd-liveness-detectionを参照してください。
ネットワーク環境によっては、以下の追加推奨事項が適用される場合があります。
一般的なルーティングエンジンスイッチオーバーイベント中にBFDフラッピングを防ぐには、ルーティングエンジンベースのセッションに5000ミリ秒の最小間隔を指定します。この最小値が必要なのは、一般的なルーティングエンジンスイッチオーバーイベント中に、RPD、MIBD、SNMPDなどのプロセスが、指定されたしきい値を超えてCPUリソースを使用するためです。したがって、このCPUリソースの不足により、BFDの処理とスケジューリングが影響を受けます。
デュアルシャーシクラスター制御リンクのシナリオで、最初の制御リンクに障害が発生した場合、BFDセッションが稼働し続けるようにするには、ルーティングエンジンベースのセッションのセカンダリノードでLACPがフラッピングしないように、最小間隔を6000ミリ秒に指定します。
多数のBFDセッションを伴う大規模なネットワーク導入の場合、最小間隔をルーティングエンジンベースのセッションで300ミリ秒、分散BFDセッションで100ミリ秒に指定します。
多数のBFDセッションを伴う非常に大規模なネットワーク展開については、詳細についてジュニパーネットワークスのカスタマーサポートにお問い合わせください。
ノンストップアクティブルーティング(NSR)が設定されているときに、ルーティングエンジンスイッチオーバーイベント中にBFDセッションが稼働し続けるようにするには、ルーティングエンジンベースのセッションに最小間隔を2500ミリ秒に指定します。NSRが設定された分散BFDセッションの場合、最小間隔の推奨事項は変更されず、ネットワークの導入にのみ依存します。
BFDは、デフォルトのルーティングインスタンス(メインルーター)、ルーティングインスタンス、論理システムでサポートされています。この例では、論理システム上の BFD を示しています。
図1 は、内部ピアセッションを持つ典型的なネットワークを示しています。
を持つ典型的なネットワーク
設定
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー アンド ペーストします。
デバイスA
set logical-systems A interfaces lt-1/2/0 unit 1 description to-B set logical-systems A interfaces lt-1/2/0 unit 1 encapsulation ethernet set logical-systems A interfaces lt-1/2/0 unit 1 peer-unit 2 set logical-systems A interfaces lt-1/2/0 unit 1 family inet address 10.10.10.1/30 set logical-systems A interfaces lo0 unit 1 family inet address 192.168.6.5/32 set logical-systems A protocols bgp group internal-peers type internal set logical-systems A protocols bgp group internal-peers traceoptions file bgp-bfd set logical-systems A protocols bgp group internal-peers traceoptions flag bfd detail set logical-systems A protocols bgp group internal-peers local-address 192.168.6.5 set logical-systems A protocols bgp group internal-peers export send-direct set logical-systems A protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems A protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems A protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems A protocols ospf area 0.0.0.0 interface lo0.1 passive set logical-systems A protocols ospf area 0.0.0.0 interface lt-1/2/0.1 set logical-systems A policy-options policy-statement send-direct term 2 from protocol direct set logical-systems A policy-options policy-statement send-direct term 2 then accept set logical-systems A routing-options router-id 192.168.6.5 set logical-systems A routing-options autonomous-system 17
デバイスB
set logical-systems B interfaces lt-1/2/0 unit 2 description to-A set logical-systems B interfaces lt-1/2/0 unit 2 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 2 peer-unit 1 set logical-systems B interfaces lt-1/2/0 unit 2 family inet address 10.10.10.2/30 set logical-systems B interfaces lt-1/2/0 unit 5 description to-C set logical-systems B interfaces lt-1/2/0 unit 5 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 5 peer-unit 6 set logical-systems B interfaces lt-1/2/0 unit 5 family inet address 10.10.10.5/30 set logical-systems B interfaces lo0 unit 2 family inet address 192.163.6.4/32 set logical-systems B protocols bgp group internal-peers type internal set logical-systems B protocols bgp group internal-peers local-address 192.163.6.4 set logical-systems B protocols bgp group internal-peers export send-direct set logical-systems B protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems B protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems B protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems B protocols ospf area 0.0.0.0 interface lo0.2 passive set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.2 set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.5 set logical-systems B policy-options policy-statement send-direct term 2 from protocol direct set logical-systems B policy-options policy-statement send-direct term 2 then accept set logical-systems B routing-options router-id 192.163.6.4 set logical-systems B routing-options autonomous-system 17
デバイスC
set logical-systems C interfaces lt-1/2/0 unit 6 description to-B set logical-systems C interfaces lt-1/2/0 unit 6 encapsulation ethernet set logical-systems C interfaces lt-1/2/0 unit 6 peer-unit 5 set logical-systems C interfaces lt-1/2/0 unit 6 family inet address 10.10.10.6/30 set logical-systems C interfaces lo0 unit 3 family inet address 192.168.40.4/32 set logical-systems C protocols bgp group internal-peers type internal set logical-systems C protocols bgp group internal-peers local-address 192.168.40.4 set logical-systems C protocols bgp group internal-peers export send-direct set logical-systems C protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems C protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems C protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems C protocols ospf area 0.0.0.0 interface lo0.3 passive set logical-systems C protocols ospf area 0.0.0.0 interface lt-1/2/0.6 set logical-systems C policy-options policy-statement send-direct term 2 from protocol direct set logical-systems C policy-options policy-statement send-direct term 2 then accept set logical-systems C routing-options router-id 192.168.40.4 set logical-systems C routing-options autonomous-system 17
デバイスAの設定
ステップバイステップの手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『CLIユーザーガイド』の「設定モードでのCLIエディターの使用」を参照してください。
デバイスAを設定するには:
CLIを論理システムAに設定します。
user@host> set cli logical-system A
インターフェイスを設定します。
[edit interfaces lt-1/2/0 unit 1] user@host:A# set description to-B user@host:A# set encapsulation ethernet user@host:A# set peer-unit 2 user@host:A# set family inet address 10.10.10.1/30 [edit interfaces lo0 unit 1] user@host:A# set family inet address 192.168.6.5/32
BGPを設定します。
デバイスAと機器Cが直接接続されていないにもかかわらず、
neighborステートメントは機器Bと機器Cの両方に含まれています。[edit protocols bgp group internal-peers] user@host:A# set type internal user@host:A# set local-address 192.168.6.5 user@host:A# set export send-direct user@host:A# set neighbor 192.163.6.4 user@host:A# set neighbor 192.168.40.4
BFDを設定します。
[edit protocols bgp group internal-peers] user@host:A# set bfd-liveness-detection minimum-interval 1000
接続ピアでも同じ最小間隔を設定する必要があります。
(オプション)BFDトレースを設定します。
[edit protocols bgp group internal-peers] user@host:A# set traceoptions file bgp-bfd user@host:A# set traceoptions flag bfd detail
OSPFを設定します。
[edit protocols ospf area 0.0.0.0] user@host:A# set interface lo0.1 passive user@host:A# set interface lt-1/2/0.1
直接ルートを受け入れるポリシーを設定します。
このシナリオの他の有用なオプションは、OSPFまたはローカルルートで学習したルートを受け入れることかもしれません。
[edit policy-options policy-statement send-direct term 2] user@host:A# set from protocol direct user@host:A# set then accept
ルーターIDと自律システム(AS)番号を設定します。
[edit routing-options] user@host:A# set router-id 192.168.6.5 user@host:A# set autonomous-system 17
デバイスの設定が完了したら、設定モードから
commitを入力します。 これらの手順を繰り返して、デバイス B とデバイス C を設定します。
結果
設定モードから、 show interfaces、 show policy-options、 show protocols、および show routing-options コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host:A# show interfaces
lt-1/2/0 {
unit 1 {
description to-B;
encapsulation ethernet;
peer-unit 2;
family inet {
address 10.10.10.1/30;
}
}
}
lo0 {
unit 1 {
family inet {
address 192.168.6.5/32;
}
}
}
user@host:A# show policy-options
policy-statement send-direct {
term 2 {
from protocol direct;
then accept;
}
}
user@host:A# show protocols
bgp {
group internal-peers {
type internal;
traceoptions {
file bgp-bfd;
flag bfd detail;
}
local-address 192.168.6.5;
export send-direct;
bfd-liveness-detection {
minimum-interval 1000;
}
neighbor 192.163.6.4;
neighbor 192.168.40.4;
}
}
ospf {
area 0.0.0.0 {
interface lo0.1 {
passive;
}
interface lt-1/2/0.1;
}
}
user@host:A# show routing-options router-id 192.168.6.5; autonomous-system 17;
検証
設定が正常に機能していることを確認します。
BFDが有効になっていることの確認
目的
IBGPピア間でBFDが有効になっていることを確認します。
アクション
動作モードから、 show bgp neighbor コマンドを入力します。 | match bfd フィルターを使用して、出力を絞り込むことができます。
user@host:A> show bgp neighbor | match bfd Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10 Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10
意味
出力は、論理システムAにBFDが有効な2つのネイバーがあることを示しています。BFDが有効になっていない場合、出力には BFD: disabled, downが表示され、 <BfdEnabled> オプションはありません。BFDが有効で、セッションがダウンしている場合、出力は BFD: enabled, downと表示されます。また、トレース操作が設定されているため、BFD 関連のイベントがログ ファイルに書き込まれていることも、出力は示しています。
BFDセッションが稼働していることの確認
目的
BFDセッションが稼働していることを確認し、BFDセッションの詳細を表示します。
アクション
動作モードから、 show bfd session extensive コマンドを入力します。
user@host:A> show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
192.163.6.4 Up 3.000 1.000 3
Client BGP, TX interval 1.000, RX interval 1.000
Session up time 00:54:40
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Logical system 12, routing table index 25
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 10, remote discriminator 9
Echo mode disabled/inactive
Multi-hop route table 25, local-address 192.168.6.5
Detect Transmit
Address State Interface Time Interval Multiplier
192.168.40.4 Up 3.000 1.000 3
Client BGP, TX interval 1.000, RX interval 1.000
Session up time 00:48:03
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Logical system 12, routing table index 25
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 14, remote discriminator 13
Echo mode disabled/inactive
Multi-hop route table 25, local-address 192.168.6.5
2 sessions, 2 clients
Cumulative transmit rate 2.0 pps, cumulative receive rate 2.0 pps
意味
TX interval 1.000, RX interval 1.000出力は、minimum-intervalステートメントで設定された設定を表しています。その他の出力はすべて、BFDのデフォルト設定を表しています。デフォルト設定を変更するには、bfd-liveness-detectionステートメントの下にオプションのステートメントを含めます。
BFDイベントの詳細の表示
目的
BFDトレースファイルの内容を表示し、必要に応じてトラブルシューティングに役立てることができます。
アクション
動作モードから、 file show /var/log/A/bgp-bfd コマンドを入力します。
user@host:A> file show /var/log/A/bgp-bfd Aug 15 17:07:25 trace_on: Tracing to "/var/log/A/bgp-bfd" started Aug 15 17:07:26.492190 bgp_peer_init: BGP peer 192.163.6.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:26.493176 bgp_peer_init: BGP peer 192.168.40.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:32.597979 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:07:32.599623 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:07:36.869394 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:07:36.870624 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:04.599220 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:08:04.601135 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:08:08.869717 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:08:08.869934 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:36.603544 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:08:36.606726 bgp_read_message: 192.163.6.4 (Internal AS 17): 0 bytes buffered Aug 15 17:08:36.609119 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:36.734033 advertising receiving-speaker only capabilty to neighbor 192.168.40.4 (Internal AS 17) Aug 15 17:08:36.738436 Initiated BFD session to peer 192.168.40.4 (Internal AS 17): address=192.168.40.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:40.537552 BFD session to peer 192.163.6.4 (Internal AS 17) up Aug 15 17:08:40.694410 BFD session to peer 192.168.40.4 (Internal AS 17) up
意味
ルートが確立される前に、 No route to host メッセージが出力に表示されます。ルートが確立された後、最後の2行は両方のBFDセッションが立ち上がっていることを示しています。
ループバックインターフェイスの無効化および再活性化後の詳細なBFDイベントの表示
目的
ルーターまたはスイッチをダウンさせてから、元に戻した後の動作を確認します。ルーターまたはスイッチの停止をシミュレートするには、論理システム B のループバック インターフェイスを無効にします。
アクション
設定モードから、
deactivate logical-systems B interfaces lo0 unit 2 family inetコマンドを入力します。user@host:A# deactivate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
動作モードから、
file show /var/log/A/bgp-bfdコマンドを入力します。user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:20:55.995648 bgp_read_v4_message:9747: NOTIFICATION received from 192.163.6.4 (Internal AS 17): code 6 (Cease) subcode 6 (Other Configuration Change) Aug 15 17:20:56.004508 Terminated BFD session to peer 192.163.6.4 (Internal AS 17) Aug 15 17:21:28.007755 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:21:28.008597 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host
設定モードから、
activate logical-systems B interfaces lo0 unit 2 family inetコマンドを入力します。user@host:A# activate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
動作モードから、
file show /var/log/A/bgp-bfdコマンドを入力します。user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:25:53.623743 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:25:53.631314 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:25:57.570932 BFD session to peer 192.163.6.4 (Internal AS 17) up
BGPのBFD認証について
BFD(双方向フォワーディング検出プロトコル)により、隣接するシステム間の通信障害を迅速に検出できます。デフォルトでは、BFDセッションの認証は無効になっています。ただし、BFDをネットワーク層プロトコル上で実行すると、サービス攻撃のリスクが大きくなる可能性があります。BFDを複数のホップや安全でないトンネル経由で実行している場合は、認証の使用を強くお勧めします。Junos OSは、BGP上で動作するBFDセッションの認証をサポートしています。BFD 認証は、MPLS OAM セッションではサポートされていません。BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは利用できません。
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セッションは、スイッチオーバー後にダウンする可能性があります。
セキュリティ認証キーチェーン
セキュリティ認証キーチェーンは、認証キーの更新に使用される認証属性を定義します。セキュリティ認証キーチェーンが設定され、キーチェーン名を介してプロトコルに関連付けられている場合、ルーティングおよびシグナリングプロトコルを中断することなく、認証キーの更新を行うことができます。
認証キーチェーンには、1つ以上のキーチェーンが含まれています。各キーチェーンには 1 つ以上のキーが含まれています。各キーには、シークレットデータとキーが有効になる時刻が保持されています。アルゴリズムとキーチェーンは、BFDセッションの両端で設定する必要があり、一致している必要があります。設定が一致しないと、BFDセッションを作成できません。
BFDでは、セッションごとに複数のクライアントが許可され、各クライアントは独自のキーチェーンとアルゴリズムを定義することができます。混乱を避けるため、セキュリティ認証キーチェーンを1つだけ指定することをお勧めします。
ストリクト認証とルーズ認証
デフォルトでは、厳密な認証が有効になっており、各 BFD セッションの両端で認証がチェックされます。オプションで、非認証セッションから認証済みセッションにスムーズに移行するために、 ルーズチェックを設定することができます。ルーズチェックが設定されている場合、セッションの両端で認証をチェックせずにパケットが受け入れられます。この機能は、移行期間のみを対象としています。
関連項目
例:BGP の BFD 認証の設定
Junos OSリリース9.6以降、BGP上で実行されるBFDセッションの認証を設定できるようになりました。BFD セッションで認証を構成するために必要な手順はわずか 3 つです。
BGPプロトコルのBFD認証アルゴリズムを指定します。
認証キーチェーンをBGPプロトコルに関連付けます。
関連するセキュリティ認証キーチェーンを設定します。
以下のセクションでは、BGPでBFD認証を設定および表示する手順について説明します。
BFD認証パラメーターの設定
BFD 認証は、BGP プロトコル全体、または特定の BGP グループ、ネイバー、ルーティングインスタンスに対して設定できます。
次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『Junos OS CLIユーザーガイド』の「設定モードでのCLIエディターの使用」を参照してください。
BFD 認証を設定するには:
BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは利用できません。
BFD セッションの認証情報の表示
show bfd session detailおよびshow bfd session extensiveコマンドを使用して、既存のBFD認証設定を表示することができます。
以下の例は、 bgp-gr1 BGP グループに設定された BFD 認証を示しています。これは、キー付き SHA-1 認証 アルゴリズムと bfd-bgp のキーチェーン名を指定します。認証キーチェーンは2つのキーで構成されています。キー 1 には、シークレット データ "$ABC 123$ABC123" が含まれており、開始時刻は 2009 年 6 月 1 日午前 9 時 46 分 02 秒 PST です。キー 2 には、シークレット データ "$ABC 123$ABC123" が含まれており、開始時刻は 2009 年 6 月 1 日午後 3 時 29 分 20 秒 PST です。
[edit protocols bgp]
group bgp-gr1 {
bfd-liveness-detection {
authentication {
algorithm keyed-sha-1;
key-chain bfd-bgp;
}
}
}
[edit security]
authentication key-chains {
key-chain bfd-bgp {
key 1 {
secret “$ABC123$ABC123”;
start-time “2009-6-1.09:46:02 -0700”;
}
key 2 {
secret “$ABC123$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 BGP, 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
show bfd session extensive
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 BGP, TX interval 0.300, RX interval 0.300, Authenticate
keychain bfd-bgp, 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-bgp, algo keyed-sha-1, mode strict
BGP動作のためのプラットフォーム固有のBFD
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
プラットフォーム固有の動作を確認するには、以下の表を使用して下さい。
BGP動作のためのプラットフォーム固有のBFD
| プラットフォーム | 違い |
|---|---|
| ACXシリーズ |
|
| EXシリーズ |
|
| QFXシリーズ |
|
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。