HA 远程链路监控
2026/6/25Link Monitor7.X.X大约 3 分钟
HA 远程链路监控
远程链路监控(Remote Link Monitoring,也称 Remote IP Monitoring 或 PING Server Monitoring)用于让 FGCP 集群检测直连网段之外的路径故障。主设备通过探测远端主机判断运营商网关、下游路由器或中间路径是否可达;当路径故障达到 HA 阈值时,可以触发切换到路径健康的成员。
前提与限制
- 集群需要工作在 FGCP Active-Passive 模式。
- FGCP 集群中只有主设备主动执行 Link Monitor 探测。
- 从设备没有完整活动路由表。从设备上执行 Ping 时,ICMP 请求会通过 HA 心跳链路由主设备代理发送。
- 如果一个 Link Monitor 配置了多个服务器,只有所有服务器都不可达时,该 Link Monitor 才会判定为失败。
配置方法
配置 Link Monitor
Link Monitor 定义需要探测的目标,以及探测失败后计入 HA 健康分数的惩罚值。
config system link-monitor
edit "WAN_Link_Monitor"
set srcintf "port1"
set server "192.0.2.100" "198.51.100.100"
set protocol ping
set ha-priority 10
set interval 500
set failtime 5
next
end| 参数 | 说明 |
|---|---|
srcintf | 执行远端链路探测的接口。 |
server | 被探测服务器地址,可以配置多个目标。 |
protocol | 探测协议,默认是 Ping。 |
ha-priority | Link Monitor 失败后加入 HA 全局惩罚值的分数,默认值为 1。 |
interval | 探测间隔,单位为毫秒,默认值为 500。 |
failtime | 连续失败多少次后认为服务器不可达,默认值为 5。 |
将 Link Monitor 接入 HA
在 HA 配置中指定需要参与远程 IP 监控的接口,并设置触发 HA 切换的阈值。
config system ha
set pingserver-monitor-interface "port1"
set pingserver-failover-threshold 10
set pingserver-flip-timeout 60
set pingserver-secondary-force-reset disable
end| 参数 | 说明 |
|---|---|
pingserver-monitor-interface | 参与远程 IP 监控的接口。 |
pingserver-failover-threshold | 远程 IP 监控触发 HA 切换的阈值,范围 0-50,默认值为 0。 |
pingserver-flip-timeout | 远程 IP 监控触发切换后,等待重新协商的时间,单位为分钟,默认值为 60。 |
pingserver-secondary-force-reset | FLIP 计时器到期后是否强制重置从设备,默认启用。 |
切换逻辑
FortiGate 会维护一个 HA 全局惩罚值。当 Link Monitor 失败时,其 ha-priority 会加入惩罚值。只有惩罚值达到或超过 pingserver-failover-threshold 时,才会触发 HA 切换。
| 条件 | 结果 |
|---|---|
ha-priority 小于 pingserver-failover-threshold | 不触发 HA 切换。 |
ha-priority 大于或等于 pingserver-failover-threshold | Link Monitor 判定为失败后立即触发 HA 切换。 |
回切控制
远程链路监控触发 HA 切换后,集群会启动 FLIP 计时器,计时器由 pingserver-flip-timeout 控制,用于避免链路抖动时集群频繁来回切换。
pingserver-secondary-force-reset 决定 FLIP 计时器到期后的处理方式:
enable:默认行为。原主设备上的惩罚值被重置。如果启用了 HA override,原主设备会尝试重新成为主设备;如果链路仍然不稳定,可能在计时器到期后再次触发切换。disable:惩罚值不会被重置。即使原主设备链路恢复,集群也会继续保持在新的主设备上。该方式更适合不稳定链路,但需要手动重置或等待新主设备故障才会回切。
状态验证
使用以下命令查看 FortiGate 判断远端链路为 alive 还是 die:
diagnose sys link-monitor status正常状态示例:
Link Monitor: L_M_Port1, Status: alive, Server num(3), Flags=0x1 init, Create time: Thu March 12 10:45:46 2026
Source interface: port1 (11)
Interval: 500 ms
Peer: 192.0.2.100(192.0.2.100)
Source IP(192.168.1.1)
Route: 192.168.1.1->192.0.2.100/32, gwy(192.168.1.2)
protocol: ping, state: alive
Latency(Min/Max/Avg): 1.921/2.103/1.973 ms
Jitter(Min/Max/Avg): 0.003/0.142/0.034
Packet lost: 0.000%
Number of out-of-sequence packets: 0
Fail Times(0/5)
Packet sent: 4749, received: 4749, Sequence(sent/rcvd/exp): 4750/4750/4751失败状态示例:
Link Monitor: L_M_Port1, Status: die, Server num(3), Flags=0x9 init, Create time: Thu March 12 10:45:46 2026
Source interface: port1 (11)
Interval: 500 ms
Peer: 192.0.2.100(192.0.2.100)
Source IP(192.168.1.1)
Route: 192.168.1.1->192.0.2.100/32, gwy(192.168.1.2)
protocol: ping, state: die
Packet lost: 100.000%
Number of out-of-sequence packets: 0
Recovery times(0/5) Fail Times(3/5)
Packet sent: 5862, received: 5563, Sequence(sent/rcvd/exp): 5863/5564/5565