2019-11-05 12:05 AM 2024-02-27 05:17 PM 更新
本ドキュメントでは、FMCでFTDデバイスを管理している構成においての、2台のFTDデバイスを利用した冗長ペア(FTD HA)の組み方と、そのトラブルシューティング方法を紹介します。FTD HAとは、FTD High Availability の略語です。
本ドキュメントでは、FMC virtualと FTD virtualの、各バージョン 6.4.0.4を利用し確認、作成しております。
なお、FTD HA利用時は 6.4トレイン以降の利用が推奨です。6.3や6.4トレインで、FTD HAの安定化の実装が盛り込まれているためです。
FTD HA導入前に、対象FTDデバイスが以下の要件を満たしていることを確認してください。
以下のFTD HA ベストプラクティスにそって導入することで、トラブル発生リスクを抑えることができます。
参考情報) FTD HAの障害監視について
FTD HAは インターフェイス間で定間隔でHELLOパケットの交換を行っており、対向ポートが一定時間 応答を返さない時、通信経路(スイッチ)のダウンやハングアップした時などに、障害検知し Active機とStandby機の切り替え(Failover)を行います。当Helloパケットは レイヤー2 セグメント内で交換されるため、レイヤー2スイッチやHUBに FTDのデータインターフェイスの収容が必要です。
デフォルトで、Logical Name (=nameif)の設定された物理インターフェイスの監視が有効です。また、SnortプロセスやDiskの障害監視も行っており、障害時の自動切り替えに対応してます。
本ドキュメントでは以下構成のFTD HA構成のセットアップ手順を紹介します。
Note: FTD HAを組む時や 設定デプロイ時のSnort再起動の影響で、FTDを通過するトラフィックに通信影響が発生する恐れがあります。既に稼働中のFTDデバイスを利用したFTD HAのセットアップは、メンテナンスタイムか、通信影響の少ない時間帯に実施するようにしてください。
1. FTDデバイスをFMCに登録し、同モデル 同バージョンのFTDデバイスが2台ある状態にする。及び、最新のACP設定を各FTDデバイスに適用する
[FTDデバイス側の FMC登録設定]
configure manager [FMC-IP] [password]
[FMC側設定例]
Devices > Device Management > Add > Deviceから、任意FTDデバイスを登録
2. 各デバイス間で、Failover状態や設定などを同期するための High Availability Link (=Failover Link。以後 HA Link) と、セッションやアプリケーション情報などを同期するための State Linkを、物理的に結束。なお、HA Linkと State Linkは、各異なるインターフェイス、もしくは、同じインターフェイスを共用することも可能。(当ドキュメント手順では、Eth0/2を共用する設定例を示します。)
HA Linkや State Linkとして利用するポートは、IPアドレスや name設定がなく、Zoneに属してないポートである必要がある
3. Device > Device Management から、同じモデルとバージョンのFTDデバイスが登録されていることを確認。また、デバイスのヘルス状態が緑色でNormal(正常)であることを確認
Deployボタンをクリックし未適用の設定変更がないことを確認
システムメッセージアイコン > タスク を確認し、実行中のタスクがないことを確認
4. Device > Device Management から、Add > High Availability を選択
5. FTD HAの任意管理名を設定。Device Typeは Firepower Threat Defenseを選択。Primary機の設定やライセンス使用設定がSecondary機で自動使用されるため、例えば、既に稼働中デバイスにペア用として新規デバイスを追加する場合は、稼働中機器をPrimary Peerに、新規追加するデバイスを Secondary Peerに指定し、Continueをクリック
6. FTD HAを組むさい、Snort自動再起動により、FTDを通過するトラフィックに通信影響が発生する恐れがあると警告のポップアップがあるため、Yesをクリック
7. High Availability Link や State Linkの設定画面のポップアップがあるため、任意インターフェイスや インターフェイス名、IPアドレスとサブネットマスクを入力し、Addをクリック。以下設定例の場合、Eth0/2を HA Linkと State Link用に共用し、Logical Nameを foverに、IPアドレスを 10.250.250.254/10.250.250.253、サブネットマスクを255.255.255.0に設定。
8. FTD HAペア登録後のインターフェイスモニター設定や、ヘルスポリシー設定の適用を忘れないように、という情報のポップアップがあるため、OKをクリック
9. 通常 数分ほどすると FTD HAペアの構成が終了するため、Editボタンをクリック
10. (データインターフェイスを新規設定する時のみ) Interfacesタブをクリックし、任意インターフェイスのIPアドレス(Active)と Logical Nameを設定した後、設定をSave。 以下例の場合、Eth0/0の Logical Nameを outsideに、IPアドレス(Active側)を10.0.0.254/24に設定。及び、Eth0/1の Logical Nameを insideに、IPアドレス(Active側)を10.0.10.254/24に設定
11. High Availabilityタブをクリックし、Monitored Interfaces欄から、任意インターフェイスのEditボタンをクリックし、StandbyのIPアドレスを設定。StandbyのIPアドレスは、ActiveのIPアドレスと同じセグメント内の重複しないアドレスを指定すること。 以下例の場合、Eth0/0 outsideの Standby IPアドレスに 10.0.0.253を、Eth0/1 insideの Standby IPアドレスに 10.0.10.253を設定
※仮に仮想MACアドレスの設定を行う場合は、当High Availabilityタブ内の「Interface MAC Address」から、各インターフェイスの ActiveとStandbyの仮想MACアドレスを設定
12. Saveボタンと、その後 Deployボタンをクリックし、FTD HAペアに 冗長設定を適用
13. FTDデバイス Primary機にCLIアクセスし、show failover (もしくは、同等のshow high-availability config)コマンド を実行し、Failover LAN Interface (=High Availability Link) や State Linkが各upしていること、及び、各 物理データインターフェイスが Normal (Monitored) で正常な状態、かつ監視状態であることを確認、及び、Secondary機がStandby Readyで待機状態であることを確認
[FMC経由で FTDデバイスにSSHアクセスし確認例]
Cisco Fire Linux OS v6.4.0 (build 2) Cisco Firepower Management Center for VMWare v6.4.0.4 (build 34) admin@FMC:~$ admin@FMC:~$ admin@FMC:~$ admin@FMC:~$ ssh -l admin 1.177.0.197 Password: Last login: Mon Nov 4 06:35:10 UTC 2019 on tty0 Copyright 2004-2019, Cisco and/or its affiliates. All rights reserved. Cisco is a registered trademark of Cisco Systems, Inc. All other trademarks are property of their respective owners. Cisco Fire Linux OS v6.4.0 (build 2) Cisco Firepower Threat Defense for VMWare v6.4.0.4 (build 34) > > show failover Failover On Failover unit Primary Failover LAN Interface: fover GigabitEthernet0/2 (up) ←HA Linkが up状態 Reconnect timeout 0:00:00 Unit Poll frequency 1 seconds, holdtime 15 seconds Interface Poll frequency 5 seconds, holdtime 25 seconds Interface Policy 1 Monitored Interfaces 3 of 61 maximum MAC Address Move Notification Interval not set failover replication http Version: Ours 9.12(2)4, Mate 9.12(2)4 Serial Number: Ours 9AW0D2592R4, Mate 9AALTJ5XD83 Last Failover at: 08:31:55 UTC Nov 4 2019 This host: Primary - Active Active time: 2995 (sec) slot 0: ASAv hw/sw rev (/9.12(2)4) status (Up Sys) Interface outside (10.0.0.254): Normal (Monitored) ←Normal状態 Interface isnide (10.0.10.254): Normal (Monitored) ←Normal状態 Interface diagnostic (0.0.0.0): Normal (Waiting) slot 1: snort rev (1.0) status (up) slot 2: diskstatus rev (1.0) status (up) Other host: Secondary - Standby Ready ←Secondary機がStandby Readyで待機状態 Active time: 0 (sec) Interface outside (10.0.0.253): Normal (Monitored) ←Normal状態 Interface isnide (10.0.10.253): Normal (Monitored) ←Normal状態 Interface diagnostic (0.0.0.0): Normal (Waiting) slot 1: snort rev (1.0) status (up) slot 2: diskstatus rev (1.0) status (up) Stateful Failover Logical Update Statistics Link : fover GigabitEthernet0/2 (up) ←State Linkが up状態を確認 Stateful Obj xmit xerr rcv rerr General 371 0 365 0 sys cmd 365 0 365 0 up time 0 0 0 0
FMCで設定した FTD HA設定はCLIに変換され、LINA(ASA)エンジンとSnortエンジンに適用されます。LINA(ASA)エンジンのHigh Availability設定は、show running-config failover コマンドで確認できます。
> show running-config failover failover failover lan unit primary failover lan interface fover GigabitEthernet0/2 failover replication http failover mac address GigabitEthernet0/0 a200.0a00.00fe a200.0a00.00fd failover mac address GigabitEthernet0/1 a200.0a00.0afe a200.0a00.0afd failover link fover GigabitEthernet0/2 failover interface ip fover 10.250.250.254 255.255.255.0 standby 10.250.250.253
show failover historyコマンドで、障害検知などによるActive機とStandby機の切り替え(failover)理由の確認可能です。例えば以下は、Primary機のインターフェイス障害により、Primary機がStandbyに、Secondary機がActiveに変化後のコマンド確認例です。Primary機が自身のインターフェイスダウンを検知し、Secondary機にActiveになるよう指示していることがわかります。
[primary機] > show failover history ========================================================================== From State To State Reason ========================================================================== --- 略 --- 08:31:55 UTC Nov 4 2019 Active Config Applied Active No Active unit found 09:26:43 UTC Nov 4 2019 Active Failed Interface check This host:1 single_vf: diagnostic Other host:0 ========================================================================== [secondary機] > show failover history ========================================================================== From State To State Reason ========================================================================== --- 略 --- 08:34:35 UTC Nov 4 2019 Bulk Sync Standby Ready Detected an Active mate 09:26:43 UTC Nov 4 2019 Standby Ready Just Active Other unit wants me Active 09:26:43 UTC Nov 4 2019 Just Active Active Drain Other unit wants me Active 09:26:43 UTC Nov 4 2019 Active Drain Active Applying Config Other unit wants me Active 09:26:43 UTC Nov 4 2019 Active Applying Config Active Config Applied Other unit wants me Active 09:26:43 UTC Nov 4 2019 Active Config Applied Active Other unit wants me Active ==========================================================================
FMCの対象デバイスのSummaryタブから Failover Historyの虫眼鏡アイコンをクリックすることで、GUIから Failover Historyを確認することも可能です。
以下のデバッグを有効化する事で、Interface Test状況や、切り替え発生理由の詳細調査が可能です。
debug fover ifc #Interface Testの詳細出力 debug fover switch #切り替え関連の詳細出力 debug fover fail #Fail Checkの表示
FTD CLIから、system support diagnostic-cliコマンドで LINA(ASA)エンジンにアクセスすることで、上記のASAベースのデバッグや showコマンドを利用したFailover問題の調査が可能です。有効化したデバッグは、調査後は undebug all コマンドで無効化をしてください。
> system support diagnostic-cli Attaching to Diagnostic CLI ... Press 'Ctrl+a then d' to detach. Type help or '?' for a list of available commands. firepower> enable Password: <--- 空ENTER firepower# firepower# debug fover switch fover event trace on firepower# debugfover_health_monitoring_thread: poll_count_check: pcnt = 0, at 25227910 faifover_health_monitoring_thread: poll_count_check: pcnt = 0, at 25230920
事前に、Devices > Platform Settings から、以下のPolicy設定をFTDに適用しておくことで、デバッグのnotificationレベルでのシスログ出力、及び、show logコマンドでの確認ができ、とても便利です。設定変更後、Saveと Deployを実施し、対応FTD HAにロギング設定を適用します。
[Logging Setupタブ]
[Logging Destinationタブ]
[Syslog Settingタブ]
上記ロギング設定適用後の、LINA(ASA)エンジンのロギング設定は、FTD CLIの場合は show running-config loggingコマンドで可能です。LINA(ASA)エンジンからは、show run loggingコマンドでも確認可能です。
> show running-config logging logging enable logging timestamp logging standby logging buffer-size 40000 logging buffered notifications logging debug-trace persistent logging flash-minimum-free 1024 logging flash-maximum-allocation 3076 logging permit-hostdown no logging message 106015 no logging message 313001 no logging message 313008 no logging message 106023 no logging message 710003 no logging message 302015 no logging message 302014 no logging message 302013 no logging message 302018 no logging message 302017 no logging message 302016 no logging message 302021 no logging message 302020 logging message 711001 level notifications
以下は、Primary(Active)機のLINA(ASA)エンジンでデバッグ有効化した後に、インターフェイスダウン発生時の show logコマンド出力例です。インターフェイスダウン検知後、自身をFailed状態に変更していることを確認できます。
firepower# firepower# debug fover if INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session fover event trace on firepower# firepower# debug fover switch INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session fover event trace on firepower# firepower# debug fover fail INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session fover event trace on firepower# firepower# show debug debug fover status ifc On switch On fail On firepower# --- Interface Downテスト実施 --- Switching to Standby firepower# firepower# firepower# show log Syslog logging: enabled Facility: 20 Timestamp logging: enabled Hide Username logging: enabled Standby logging: enabled Debug-trace logging: enabled (persistent) Console logging: disabled Monitor logging: disabled Buffer logging: level notifications, 977 messages logged Trap logging: disabled Permit-hostdown logging: enabled History logging: disabled Device ID: disabled Mail logging: disabled ASDM logging: disabled FMC logging: disabled --- 略 --- Nov 04 2019 14:03:18: %FTD-5-711001: fover_health_monitoring_thread: fover_health_monitoring_thread, fover_ifc_lnk_mon_time 2500 Nov 04 2019 14:03:18: %FTD-5-711001: fover_health_monitoring_thread: poll_count_check: pcnt = 0, at 26976660 Nov 04 2019 14:03:19: %FTD-5-711001: fover_health_monitoring_thread: poll_count_check: pcnt = 0, at 26977670 Nov 04 2019 14:03:20: %FTD-5-711001: fover_health_monitoring_thread: poll_count_check: pcnt = 0, at 26978700 Nov 04 2019 14:03:20: %FTD-1-105007: (Primary) Link status 'Down' on interface outside Nov 04 2019 14:03:20: %FTD-5-711001: fover_health_monitoring_thread: ifc_check() group: 0, - time = 26979040 Nov 04 2019 14:03:20: %FTD-5-711001: fover_health_monitoring_thread: vPifNum = 0x2, No Link Nov 04 2019 14:03:20: %FTD-5-711001: fover_health_monitoring_thread: ifc_check() - group 0 HW failed 1 (mate 0) Nov 04 2019 14:03:20: %FTD-5-711001: fover_health_monitoring_thread: Skip switch to failed group: 0, time = 26979050 Nov 04 2019 14:03:20: %FTD-5-711001: fover_health_monitoring_thread: fover_health_monitoring_thread, fover_ifc_lnk_mon_time 2500 Nov 04 2019 14:03:21: %FTD-5-711001: fover_health_monitoring_thread: poll_count_check: pcnt = 0, at 26979800 Nov 04 2019 14:03:22: %FTD-4-411002: Line protocol on Interface GigabitEthernet0/0, changed state to down Nov 04 2019 14:03:22: %FTD-5-711001: fover_health_monitoring_thread: poll_count_check: pcnt = 0, at 26980810 Nov 04 2019 14:03:23: %FTD-1-104002: (Primary) Switching to STANDBY - Interface check Nov 04 2019 14:03:23: %FTD-5-711001: fover_health_monitoring_thread: ifc_check() group: 0, - time = 26981550 Nov 04 2019 14:03:23: %FTD-5-711001: fover_health_monitoring_thread: vPifNum = 0x2, No Link Nov 04 2019 14:03:23: %FTD-5-711001: fover_health_monitoring_thread: ifc_check() - group 0 HW failed 1 (mate 0) Nov 04 2019 14:03:23: %FTD-5-711001: fover_FSM_thread: HA FSM: group 0, state - Active, event MOVE_TO_STATE, operand 20, 24 Nov 04 2019 14:03:23: %FTD-5-711001: fover_FSM_thread: HA FSM: start switching from Active to Failed Nov 04 2019 14:03:23: %FTD-5-711001: fover_FSM_thread: HA FSM: switched from Active to Failed (Interface check) Nov 04 2019 14:03:23: %FTD-5-711001: fover_FSM_thread: HA FSM: group 0, state - Failed, event SELF_STATE_CHANGED, operand 24, 24
試験が終わったら、undebug all コマンドで、有効化したデバッグを無効化します。
firepower# firepower# undebug all INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session INFO: 'logging debug-trace' is enabled. All debug messages are currently being redirected to syslog:711001 and will not appear in any monitor session firepower# firepower# show debug <--- 有効化されたデバッグが表示されないことを確認 firepower#
FTD HA構成で、Primary機とSecondary機で デバッグを用いた調査を行う場合、両デバイスで各デバッグの有効化や無効化が必要となることに注意してください。
FTDバージョン 6.3から、FTD HA構成を壊さずにリストアが可能になりました。詳しくは、以下ドキュメントを参照してください。
Firepower System 6.3以降: FTDのバックアップとリストア方法 (FMC管理時)
https://community.cisco.com/t5/-/-/ta-p/3945173
FTDバージョン 6.2以前の場合、バックアップとリストア機能に対応していないため、片側FTDデバイス障害によるRMA時は、HAを一旦 解除(break)した後の、HAの再構築が必要です。詳しくは以下ドキュメントを参照してください。
Firepower2100 - FMC standalone + FTD HA : FTD HA 利用時のFPR2100シリーズの交換手順 (FMC管理)
https://community.cisco.com/t5/-/-/ta-p/3782851
Firepower4100 - FMC standalone + FTD HA : FTD HA 利用時のFPR4100シリーズの交換手順(FMC管理)
https://community.cisco.com/t5/-/-/ta-p/3787071
FTDのHigh Availability (HA)機能のベースは ASAのFailover機能であり、ベースの動作は同じです。FTDは、ASA(主にL2-L4処理)と 旧Firepower製品(主にL4-L7を処理)を統合したソフトウェアのためです。 そのため、ASAのFailover導入時の設定や構成のベストプラクティスは、FTD HA利用時も同様に使えるものが多いです。なお、FTD HAの場合、ASAのFailover機能に加え、SnortやDiskの監視や、Snort同期機能などを追加/拡張してます。
ASAの冗長機能について詳しくは以下ドキュメントを参照ください。
ASA: 冗長機能と、Failoverのトリガー、Health Monitoringについて
https://community.cisco.com/t5/-/-/ta-p/3157060
FTD HAならではの特徴は以下となります。
従来のASAで対応していたステートの同期は、FTD HAも同様にステート同期に対応してます。
Snortのステート同期には以下が含まれています。
FTD HAのステート同期は以下をサポートしてません。
はい、可能です。System > Health > Monitorから対象デバイスをクリックし、Advanced Troubleshootingボタンをクリックします。
Advanced Troubleshootingメニューに遷移しますので、Threat Defense CLIから任意コマンドを実行してください。例えば show failoverを実行する場合は、Commandからshowを、Parameterに failover を入力します。
FPR4100/9300シリーズでは、ハードウェアや物理インターフェイス管理用に FXOSが動作しています。事前にFXOSのインターフェイス有効化とFTDにインターフェイス割当設定を実施し、同じ物理インターフェイスが各FTDデバイスで利用可能な状態にしておいてください。
特に明示的な推奨はありませんが、他デバイスと重複しないMACアドレスの利用をお勧めします。なお、Cisco社Firewall製品であるASAで MACアドレス自動生成機能を利用時は、「A2xx.yyzz.zzzz」のMACアドレスが自動生成されます。そのため、A2ではじまるMACアドレスを利用すると分かりやすいかもしれません。
FTDはサーバーベースの製品となり、正しいシャットダウン操作を行った後の電源断操作を行わなかった場合、ファイル破損やデータベース破損などによるソフトウェア障害の原因になります。軽微な破損問題であれば 自動修復も期待できますが、大きな破損で修復不能の場合、プロセスやシステムの起動不可の原因となり、復旧にはリイメージ作業が必要になります。リイメージによる復旧方法について詳しくは、Firepower System and FTDトラブルシューティング を参照してください。
何等か理由でFTD電源断を想定した冗長試験を行いたい場合、FTDの全てのケーブルを一斉に抜く試験(※Failoverケーブルを一番 最初に抜線し その後 全ての他ケーブルを抜線することで、Standby側からみて Active機から当然 電源断やハングなどによりHello応答がなくなった状態をシミュレート可能)で、電源断の試験の代用が可能です。その後、すべてのケーブルを抜いた状態のFTDデバイスを手動シャットダウンし一旦停止してから、ケーブルを全て再接続してから起動することで、復電時を想定した冗長試験も可能です。
FMCやFTDデバイスのシャットダウンや再起動方法について詳しくは、以下ドキュメントを参照してください。
Firepower System: FMCと FTDと FirePOWER Moduleの 再起動手順
https://community.cisco.com/t5/-/-/ta-p/3162141
FXOS: シャーシ再起動と停止方法 (FPR2100/FPR4100/FPR9300)
https://community.cisco.com/t5/-/-/ta-p/3211522
いえ、ASAの冗長機能のStandby機と同様に、FTD HAのStandby機もデータインターフェイスでの通信処理は行いません。Active機から設定やステートの同期を逐次行い、Active機の障害時のための切り替えに備えています。
FMCから HAペア内のFTDデバイス1台1台を指定しての個別のアップグレードは行えず、FTD HAペアの各デバイスはセットでアップグレードが行われます。
なお、通信影響をおさえるため、FMCは動的にまずスタンバイ機のアップグレードを実施します。スタンバイ機のアップグレードが成功したら、アクティブ機とスタンバイ機の切り替えが行われ、未アップグレード機(=旧アクティブ機)のアップグレードが自動的に行われます。
仮に何らかの理由で片側デバイスのアップグレードが失敗した場合は、FMCはアップグレード済みデバイスをスキップして、未アップグレードデバイスのみのアップグレードを試みます。そのため、アップグレードが失敗した原因を取り除いてから、再度アップグレードを試してください。
Firepower Management Center Configuration Guide, Version 6.4 - Chapter: High Availability for Firepower Threat Defense
https://www.cisco.com/c/en/us/td/docs/security/firepower/640/configuration/guide/fpmc-config-guide-v64/high_availability_for_firepower_threat_defense.html#task_686C71A99B5C4CA18FC6681F83B23F45
Cisco Secure Firewall (FTD) - how to ※FTD情報 まとめサイト
https://community.cisco.com/t5/-/-/ta-p/5024782
Firepower System / Firepower Threat Defense (FTD) トラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます