單元介紹
在企業級網路架構中,單點故障 (Single Point of Failure) 是最大的風險。本單元將深入探討 FortiGate 的高可用性 (HA) 機制,學習如何透過多台設備組成叢集 (Cluster),實現 99.999% 的服務不中斷。
HA 的模式:A-P 與 A-A
Active-Passive (A-P) 主備模式
最常見的部署方式。一台設備負責處理所有流量,另一台待命,僅同步設定與連線狀態 (Session)。
生活化比喻:飛機駕駛
就像飛機上的「正駕駛 (Active)」與「副駕駛 (Passive)」。平常由正駕駛全權操控飛機,副駕駛只負責監控儀表並保持同步。只有當正駕駛突然暈倒 (設備故障) 時,副駕駛才會接手控制權。這確保了航程 (網路連線) 不會中斷。
Active-Active (A-A) 雙活模式
兩台設備同時運作。Primary 負責流量分配與控制,Secondary 協助處理 UTM 安全掃描 (如 AV, IPS)。
生活化比喻:超市收銀台
就像超市開了兩個收銀櫃檯。雖然有一個資深店長 (Primary) 負責引導排隊隊伍,但他會把部分只需掃描條碼的顧客 (UTM 流量) 分流給另一個店員 (Secondary) 處理,兩人一起工作來加快結帳速度。
FGCP (FortiGate Clustering Protocol)
FortiGate 使用專有的 FGCP 協定來溝通。透過專屬的 Heartbeat Link (心跳線),設備之間會不斷交換 Hello 封包以確認彼此存活。
1. Master 選舉邏輯 (Election)
當兩台設備連接時,誰當老大 (Primary)?系統會依照以下順序比較,由高到低:
- Monitored Ports: 有效連接埠數量越多越好 (例如 WAN 線路斷了,該台即降級)。
- HA Uptime: 運行時間越長越好 (穩定性優先)。
*註:若開啟 Override,此項會被忽略。 - Priority: 人為設定的優先權數值 (大於小,預設 128)。
- Serial Number: 序號越大者優先 (最後手段)。
2. 同步內容 (Synchronization)
- Configuration: 除了 Hostname、HA 設定、特定介面 IP 外,幾乎所有設定全同步。
- Session Table: 只有 TCP/IP 連線狀態會被同步 (ICMP/UDP 通常不預設同步),確保切換時使用者不需重新登入。
Cluster 會產生虛擬 MAC 位址。當切換發生時,新 Primary 會發送 Gratuitous ARP (GARP) 告訴交換器:「嘿!這個 IP 現在對應到我的 Port 了」,從而將流量引導過來。
HA 拓撲與切換流程
1. 實體連接拓撲圖 (Physical Topology)
2. 故障切換流程 (Failover Sequence)
企業總部 HA 部署實戰
情境: 一間擁有 500 人的企業總部,要求網路不能因為單一設備故障而中斷。我們將部署兩台 FortiGate 100F 建立 A-P Cluster。
- 目標: 建立 Active-Passive HA。
- 要求: FGT-A 必須優先成為 Master (透過 Priority 設定)。開啟 Session Pickup (連線同步)。設定 Group ID 以避免 MAC 衝突。
設定範例 (Configuration Example)
FortiGate-A (Primary)
說明:Priority 設為 200 (預設 128),確保它在正常情況下勝出。
FortiGate-B (Secondary)
說明:Group Name、Group ID 與 Password 必須完全一致才能形成 Cluster。在同一網段中有多組 HA Cluster 的環境(例如實驗室或大型資料中心)特別重要,因為 Group ID 決定了 Virtual MAC Address,若重複會導致衝突。
大師觀點:Override (搶佔模式) 要開嗎?
許多新手會開啟 set override enable,希望 Primary 復電後自動搶回主控權。但在實務上,建議設為 disable (預設值)。
原因: 如果原本的 Primary 剛修好,系統可能還不穩定 (Flapping)。若立刻搶回主控權,可能導致網路再次中斷。保持 disable,讓它先以 Secondary 身份同步資料並待命,直到下一次維護視窗再手動切換,是比較穩健 (Stable) 的做法。