文章背景图

F5 BIG-IP 普及知识:从反向代理到负载均衡、高可用与排障

2026-07-26
3
-
- 分钟

F5 BIG-IP 常被简称为“F5”,但两者并不完全等价:F5 是厂商,BIG-IP 是其应用交付与安全平台。企业网络中最常见的是 BIG-IP LTM,它位于客户端和业务服务器之间,对进入应用的流量进行接收、检查、调度和转发。

很多人把 F5 简单理解成“硬件负载均衡器”。更准确地说,它是一种应用交付控制器(ADC):负载均衡只是基础能力,还可以完成健康检查、SSL 卸载、会话保持、连接复用、流量控制、应用安全和高可用等工作。

一、F5 在网络中的位置

典型访问路径如下:

客户端
  │
  │ 访问业务域名,DNS 解析到 VIP
  ▼
F5 Virtual Server(VIP:Port)
  │
  │ 根据策略选择 Pool 和 Pool Member
  ▼
后端服务器集群

例如,用户访问 https://app.example.com,DNS 将域名解析到 192.0.2.10。F5 上创建一个监听 192.0.2.10:443 的 Virtual Server,再把请求分发给 10.0.0.11:808010.0.0.12:8080 等后端服务。

F5 通常以“全代理”方式工作:客户端与 F5 建立一条连接,F5 再与后端建立另一条连接。因此,客户端侧和服务器侧可以使用不同的 TCP、SSL、HTTP 配置。

二、必须理解的核心对象

1. Node

Node 表示一台后端主机,通常只包含 IP 地址,例如 10.0.0.11

2. Pool Member

Pool Member 表示主机上的具体服务,由 IP 地址和端口组成,例如 10.0.0.11:8080。同一个 Node 可以提供多个不同端口的服务。

3. Pool

Pool 是一组提供相同业务的 Pool Member。F5 根据负载均衡算法,从可用成员中选择一个处理请求。

4. Health Monitor

Health Monitor 用来判断后端服务是否真正可用。常见类型包括 ICMP、TCP、HTTP 和 HTTPS。

生产环境不应只检查服务器能否 Ping 通。更可靠的做法是访问业务健康检查地址,例如 /health,同时校验 HTTP 状态码或返回内容。检查失败的成员会被标记为不可用,新的请求不再发送给它;恢复后可重新加入调度。

5. Virtual Server

Virtual Server 是客户端真正访问的入口,通常由 VIP、端口、协议、Profiles、默认 Pool 和流量策略组成。

容易混淆的一点是:Virtual Server 不是一台虚拟机,而是一条“流量监听和处理规则”。

6. Profile

Profile 定义 F5 如何处理协议,例如 TCP、UDP、HTTP、HTTP/2 和 Client SSL。合理使用 Profile 可以实现协议解析、SSL 卸载、连接优化等功能。

7. Persistence

Persistence 即会话保持。它让同一用户在一定时间内持续访问同一个后端成员。常见方式有源地址保持、Cookie 保持和基于应用字段的保持。

不要在没有业务需求时默认开启会话保持,否则可能造成后端负载不均。能够做到无状态化的应用,应优先使用无状态架构。

8. SNAT

SNAT 用于改变 F5 访问后端时使用的源地址。最常见的场景是后端服务器的默认网关不指向 F5:启用 SNAT 后,服务器会把响应返回给 F5,避免请求和响应走不同路径。

SNAT Automap 配置简单,但高并发场景要关注可用源端口数量。规模较大时可规划 SNAT Pool。

9. iRules 与 Local Traffic Policy

iRules 是基于 Tcl 的事件驱动脚本,可以按照域名、URI、Header 或客户端地址处理流量。常见用途包括重定向、改写 Header、按路径选择 Pool 和访问控制。

简单的七层规则优先使用 Local Traffic Policy;只有标准能力无法满足需求时再编写 iRules。脚本过多、逻辑过重会增加维护和性能风险。

三、四层与七层负载均衡

对比项

四层负载均衡

七层负载均衡

判断依据

IP、端口、TCP/UDP

Host、URI、Header、Cookie 等应用内容

协议理解

不需要理解 HTTP 内容

需要解析 HTTP/HTTPS 等应用协议

灵活性

较低

较高

处理开销

通常较小

通常较大

典型用途

TCP 数据库、通用端口转发

Web 路由、内容改写、Cookie 会话保持

四层并不等于“低级”,七层也不一定更好。选择依据是业务是否需要查看和处理应用层内容。

HTTPS 七层处理通常需要在 F5 上终止 TLS。F5 解密客户端流量后,可以检查 HTTP 内容,再按需使用明文或重新加密的方式访问后端。

四、正向代理与反向代理

正向代理代表客户端访问外部服务,服务端通常不知道真实客户端是谁。企业上网代理是典型例子。

反向代理代表服务端接收客户端请求,客户端只知道代理入口,不需要知道真正提供服务的是哪台后端服务器。F5 LTM 最常见的部署就是反向代理。

可以这样记忆:

  • 正向代理隐藏客户端,主要服务于客户端。

  • 反向代理隐藏服务端,主要服务于应用和服务端集群。

“透明代理、显式代理”描述的是流量如何进入代理;LTM、DNS、APM、Advanced WAF 等则是产品功能模块,不应混为“代理模式”。

五、常见负载均衡算法

Round Robin

按顺序轮流选择成员。适合后端配置和请求处理成本相近的场景。

Ratio

根据权重分配请求。适合新旧服务器性能不同,或灰度发布时需要控制流量比例的场景。

Least Connections

优先选择当前连接较少的成员。适合连接持续时间差异较大的业务。

Fastest

根据响应或网络性能选择成员。使用前应明确采样指标和业务特点。

Hash

根据源地址、URI 等信息计算结果,使相同特征的请求倾向于同一成员。算法稳定不代表后端一定健康,因此仍需配合 Monitor。

不存在适用于所有系统的“最佳算法”。算法、会话保持、连接复用和业务是否无状态,需要一起设计。

六、一次完整请求是怎样处理的

  1. 客户端通过 DNS 获得 VIP。

  2. 客户端连接 F5 的 Virtual Server。

  3. F5 按 Profile 解析并处理连接。

  4. 如已配置 SSL 卸载,F5 完成 TLS 握手和解密。

  5. Local Traffic Policy 或 iRules 判断请求应进入哪个 Pool。

  6. Persistence 先检查是否已有会话绑定。

  7. F5 从健康的 Pool Members 中按算法选择成员。

  8. 根据网络设计决定是否执行 SNAT。

  9. F5 与后端建立连接并转发请求。

  10. 响应经 F5 返回客户端,必要时完成重新加密、压缩或 Header 处理。

七、基础配置思路

以一个 HTTPS Web 服务为例,推荐按以下顺序配置:

  1. 明确 VIP、服务端口、后端地址、回程路由和证书方案。

  2. 创建 HTTP/HTTPS Monitor,并验证发送内容与期望响应。

  3. 创建 Pool,添加 Pool Members,关联 Monitor。

  4. 创建或选择合适的 TCP、HTTP、Client SSL 和 Server SSL Profiles。

  5. 创建 Virtual Server,关联默认 Pool 和 Profiles。

  6. 根据回程路由选择不开 SNAT、SNAT Automap 或 SNAT Pool。

  7. 仅在业务确有需要时配置 Persistence、Policy 或 iRules。

  8. 使用测试域名或 Host 文件验证,再进行正式 DNS 切换。

上线前至少测试:

  • 正常访问和错误页面;

  • 单台后端停止后的自动摘除;

  • 后端恢复后的自动加入;

  • 长连接、文件上传、WebSocket 等特殊流量;

  • TLS 协议、证书链和到期时间;

  • 主备切换及会话影响;

  • 日志、监控和告警。

八、高可用与配置同步

生产环境通常部署两台或多台 BIG-IP,组成设备信任和 Device Service Cluster。常见模式是 Active/Standby,也可按业务划分流量组。

需要区分三个概念:

  • 配置同步:把配置变更同步到其他设备。

  • 故障切换:主设备或链路异常时转移 Traffic Group。

  • 连接镜像:在支持的场景中同步连接状态,降低切换对存量连接的影响。

配置同步不等于业务一定能切换。还要检查 VLAN、自有 IP、Floating Self IP、上游路由、Failover 网络、MAC 地址更新和后端回程路径。

任何变更都应先确认当前主备状态,保存配置备份,再执行同步。不要在主备设备上同时进行互相冲突的修改。

九、F5 常见功能模块

  • BIG-IP LTM:本地流量管理、负载均衡、健康检查、SSL 与连接优化。

  • BIG-IP DNS:基于 DNS 的全局流量调度,旧资料中常称为 GTM。

  • BIG-IP Advanced WAF:Web 应用安全;旧资料可能使用 ASM 名称。

  • BIG-IP APM:访问策略、认证、单点登录和远程访问。

  • BIG-IP AFM:网络防火墙和大规模网络安全控制。

是否具备某项功能取决于平台、版本、许可证和部署方式,不能仅凭菜单名称判断。

十、容量规划不要只看吞吐量

旧型号参数会随产品换代失效,因此选型时应查对应平台的当前官方数据,并结合业务压测。至少关注:

  • 四层与七层吞吐量;

  • 每秒新建连接数;

  • 最大并发连接数;

  • 七层每秒请求数;

  • TLS 握手能力和所用密钥算法;

  • 是否启用 WAF、日志、压缩、iRules 等高开销功能;

  • 网口数量、速率和冗余设计;

  • 正常峰值、突发流量和扩容余量。

同样的带宽下,大量短连接、TLS 握手或复杂七层策略,可能比大文件长连接消耗更多资源。最终应以接近真实业务的压测结果为准。

十一、常见故障排查顺序

VIP 无法访问

  1. 确认域名解析到正确 VIP。

  2. 检查客户端到 VIP 的路由、防火墙和端口。

  3. 确认 Virtual Server 已启用并匹配目标地址、端口和 VLAN。

  4. 检查 Pool 是否存在健康成员。

Pool Member 显示 Down

  1. 检查 Monitor 的目标端口、发送内容、期望响应和超时时间。

  2. 从 F5 到后端验证路由、ARP、端口和服务。

  3. 查看后端服务是否只监听本地地址。

  4. 检查后端防火墙是否允许 F5 Self IP 或 SNAT 地址。

F5 能连接后端,但客户端收不到响应

优先检查非对称路由。后端的响应必须返回 F5,不能直接绕过 F5 到客户端。可修正后端网关或在 F5 上正确配置 SNAT。

HTTPS 异常

检查 Client SSL、Server SSL、证书链、SNI、TLS 版本、加密套件和后端是否要求 HTTPS。客户端侧卸载 TLS 不代表服务器侧也必须使用明文。

流量分配不均

检查会话保持、长连接、负载算法、成员权重、OneConnect、连接复用和健康状态。少量测试请求不能准确反映生产分布。

修改配置后不生效

确认修改发生在哪台设备、当前活动设备是谁、是否已同步、对象是否属于正确 Partition,以及策略/iRule 是否真正挂载到目标 Virtual Server。

十二、日常运维建议

  • 使用清晰、统一的对象命名规则。

  • 变更前备份 UCS,并记录回退步骤。

  • Monitor 尽量检查真实业务,而不是只检查端口。

  • 证书到期、Pool 可用成员数、设备资源和同步状态必须配置告警。

  • iRules 上线前进行代码审查和压力验证。

  • 定期清理失效对象,但先确认引用关系。

  • 管理面只对可信网络开放,启用最小权限、集中认证和审计。

  • 升级前检查平台支持、版本兼容、热点问题和回退路径。

总结

理解 F5 不需要先记大量菜单。先掌握下面这条主线即可:

客户端 → Virtual Server → Policy/Profile → Pool → Pool Member
                         ├─ Monitor 判断健康状态
                         ├─ Persistence 保持会话
                         └─ SNAT 保证正确回程

能够解释清楚这条流量路径,再补充四层/七层、SSL、高可用和排障方法,就已经具备了 F5 BIG-IP 的基础知识框架。

参考资料

原创

F5 BIG-IP 普及知识:从反向代理到负载均衡、高可用与排障

本文链接: F5 BIG-IP 普及知识:从反向代理到负载均衡、高可用与排障

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录