はじめに
このドキュメントでは、Cisco適応型セキュリティアプライアンス(ASA)フェールオーバーまたはFirepower Threat Defenseハイアベイラビリティペアのスプリットブレイン問題の修正について説明します。
前提条件
要件
ASA/FTDハイアベイラビリティペア(フェールオーバー)の動作の仕組み(フェールオーバーについて)について理解しておくことをお勧めします。
使用するコンポーネント
このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではなく、フェールオーバーでサポートされるすべてのASA/FTD導入に適用されます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
スプリットブレインとは
スプリットブレインとは、ASA/FTD HAのユニットがネットワーク上で互いを検出できず、両方がアクティブな役割を担うシナリオです。これにより、両方のユニットのインターフェイスIPアドレスとMACアドレスが同じになり、ネットワークで重大な不一致が発生してサービスが失われる可能性があります。
HAがスプリットブレイン状態であるかどうかを確認するには、両方のユニットでコマンドshow failover stateを実行して、両方のボックスがアクティブであるかどうかを確認します。
スプリットブレインの例
プライマリ ユニット:
ciscoasa1/act/pri# show failover state
State Last Failure Reason Date/Time
This host - Primary
Active None
Other host - Secondary
Failed Comm Failure 02:39:43 UTC Jan 10 2022
====Configuration State===
Sync Done - STANDBY
====Communication State==
セカンダリ ユニット:
ciscoasa2/act/sec# show failover state
State Last Failure Reason Date/Time
This host - Secondary
Active None
Other host - Primary
Failed Comm Failure 02:39:40 UTC Jan 10 2022
====Configuration State===
Sync Done
Sync Done - STANDBY
====Communication State==
接続されたデバイスのアクティブIPアドレスについて学習されたMACアドレスがすべて同じユニットでない場合、スプリットブレインによって停止が発生する可能性があります。たとえば、ネットワークトポロジを考えてみます。
ラボのトポロジ
VMACがインターフェイスに割り当てられました。これは、macアドレステーブルを理解しやすくするために行われています。
Inside (G0/2) : Active MAC - 00c1.1000.aaaa
Standby MAC - 00c1.1000.bbbb
Outside (G0/4) : Active MAC - 00c1.2000.aaaa
Standby MAC - 00c1.2000.bbbb
注:VMACが設定されていない場合、アクティブデバイスは常にプライマリユニットインターフェイスのMACを取得し、スタンバイはセカンダリMACを取得します。
HAが正常な場合のスイッチのMACアドレステーブル:
Switch#show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
100 00c1.1000.aaaa DYNAMIC Gi1/0/5
100 00c1.1000.bbbb DYNAMIC Gi1/0/1
300 00c1.64bc.c508 DYNAMIC Gi1/0/4
300 00d7.8f38.8424 DYNAMIC Gi1/0/8
200 00c1.2000.aaaa DYNAMIC Gi1/0/7
200 00c1.2000.bbbb DYNAMIC Gi1/0/3
フェールオーバーリンクに障害が発生すると、アクティブユニットはアクティブのままになり、スタンバイはスタンバイのままになります。フェールオーバーリンクで3回連続してHELLOメッセージを受信しないユニットでは、フェールオーバーリンクを含む各データインターフェイスでLANTESTメッセージを送信し、ピアが応答するかどうかを検証します。ASAが実行するアクションは、相手側ユニットからの応答によって異なります。
可能なアクションは次のとおりです。
- ASAがフェールオーバーリンクで応答を受信しても、フェールオーバーは行われません。
- ASAがフェールオーバーリンクで応答を受信しないものの、データインターフェイスで応答を受信する場合、ユニットはフェールオーバーしません。フェールオーバーリンクが障害としてマークされている。フェールオーバーリンクがダウンしている間はユニットはスタンバイにフェールオーバーできないため、できるだけ早くフェールオーバーリンクを復元できます。
- ASAがいずれのインターフェイスでも応答を受信しない場合、スタンバイユニットはアクティブモードに切り替わり、相手側ユニットを障害ユニットとして分類します。これは、スプリットブレインシナリオにつながります。
この段階では、両方のファイアウォール上のすべてのデータインターフェイスが、アクティブユニットと同様に動作します。そのため、アクティブ側のファイアウォールとスタンバイ側のファイアウォールのインターフェイスは、同じIPアドレスとMACアドレスを使用します。これにより、ポイズンARPエントリが原因でMACアドレステーブルの不整合が発生し、サービスが停止する可能性があります。
注:フェールオーバーリンクは、フェールオーバーペア間のデータ(ユニットステート(アクティブ/スタンバイ)、Helloメッセージ、ネットワークリンクステータス、MACアドレス交換、設定の複製、および同期)の通信を行います。
フェールオーバーの問題に対する予防的な準備
スプリットブレイン状態に対してプロアクティブに準備するには、次の手順を実行します。
スプリットブレインの考えられる原因
すでに説明したように、スプリットブレインは、フェールオーバーリンクインターフェイス間の通信がダウンした場合(単方向または双方向)に発生します。最も一般的な原因は次のとおりです。
トラブルシューティング手順:フローチャート
スプリットブレインシナリオをトラブルシューティングして解決するには、このフローチャートを使用して、Mainと書かれたボックスから開始します。ここで解決できない問題があります。そのような場合に備えて、シスコ テクニカル サポートへのリンクが用意されています。サービス要求を開くためには、有効なサービス契約が必要です。
注:FTDの導入では、「system support diagnostics-cli」のこの図の手順に従ってください。
フローチャートのトラブルシューティング
スプリットブレインからの緊急リカバリ
スプリットブレインからネットワークを回復するには、トラフィックが2つのファイアウォールの1つのみに到達するようにする必要があります。つまり、アクティブIP用に学習されたMACアドレスがすべて1つのユニットを指すようにする必要があります。そのためには、ユニットのフェールオーバーをディセーブルにするか、またはユニットをネットワークから完全に切断します。
- トラフィックが通過しないユニットでフェールオーバーを無効にします。
- ASAプラットフォームで、CLIを介してconfiguration terminalに移動し、no failoverコマンドを入力します。
- FTDプラットフォームでClishモードを介して、configure high-availability suspendコマンドを入力します。
- ASAの場合、データインターフェイスをシャットダウンします。FTDの場合は、接続されたデバイスのインターフェイスをシャットダウンします。または、インターフェイスを物理的に切断することもできます。また、デバイスの電源をオフにすることもできますが、デバイスの管理が制限されます。これを行う手順については、デバイス設定ガイドを参照してください。
注:上記の手順を実行した後でも接続の問題が発生する場合は、接続されたデバイスに古いARPエントリが存在する可能性があります。アップストリームデバイスとダウンストリームデバイスのarpエントリを確認します。この問題を解決するには、これらをフラッシュするか、または正常に動作しているASA/FTDに、問題が発生しているインターフェイスIPのGARPパケットを強制的に送信させます。これを行うには、イネーブルモードでコマンドを実行します(システムでFTDがdiagnostics-cliをサポート)。debug menu ipaddrutl 6 <interface ip address>。
注意:スプリットブレインに関連する問題についてTACでサポートチケットをオープンする場合は、このドキュメントの「TACサービスリクエスト用に収集するデータ」セクションに記載されている情報を共有してください。
TACと共有するデータ
TACサービスリクエストをオープンする必要がある場合に備えて、記載されているデータを共有してください。
- ASA/FTD-HAおよびネイバーデバイスとの物理接続(フェールオーバーインターフェイスを含む)を示すトポロジダイアグラム。
- ASAのshow tech-supportまたはFTDを実行しているプラットフォームのトラブルシューティングファイルの出力。
- 問題が発生した+/- 5分間のタイムスタンプを含むsyslog。
- ハードウェアがFPRアプライアンスの場合は、FXOSのトラブルシューティングファイル。
FTDまたはFXOSのトラブルシューティングファイルを生成するには、「Firepowerのトラブルシューティングファイル生成手順」を参照してください。 TAC SRを開きます。