F5配置的核心答案:F5 BIG-IP的配置主线是“节点(Node)→池(Pool)→虚拟服务器(Virtual Server)”三层对象模型,先把真实服务器定义为节点,再组建成池,最后通过虚拟服务器对外发布服务,搞懂这条主线,绝大多数配置工作都能顺利落地。
F5负载均衡配置命令详解
配置F5之前,先理解三个基础对象的关系。节点是后端服务器的IP地址,不区分端口。池是一组“节点加端口”的集合,负载均衡调度就是在这个层级完成的。虚拟服务器是对外服务的入口,接收流量后转发给池成员,四层转发也好,七层分流也罢,都跑不出这个模型。
用tmsh命令行快速创建节点
tmsh是F5的命令行管理界面,比Web控制台更适合批量操作和脚本化运维,创建两个节点:
tmsh create ltm node 192.168.1.10 tmsh create ltm node 192.168.1.11
节点本身不管端口,端口在池里指定。
创建池并添加成员
把两个节点加入同一个池,并指定服务端口:
tmsh create ltm pool web_http_pool members add { \
192.168.1.10:80 { address 192.168.1.10 } \
192.168.1.11:80 { address 192.168.1.11 } }
默认负载均衡算法是轮询,生产环境建议改用最少连接,避免长连接请求全堆到一台服务器:
tmsh modify ltm pool web_http_pool load-balancing-mode least-connections-node
绑定健康检查
不配健康检查,F5会把流量转发给已经宕机的后端,创建HTTP健康检查并绑定到池:
tmsh create ltm monitor http http_monitor tmsh modify ltm pool web_http_pool monitor http_monitor
健康检查的探测路径建议单独建一个轻量接口,比如/health,别去探测消耗资源的主页面。
创建虚拟服务器对外发布

以下命令将168.0.10的80端口流量导入刚才的池:
tmsh create ltm virtual vs_web_http dst 192.168.0.10:80 pool web_http_pool
记住保存配置
F5的运行配置和保存配置是两套状态,改完不执行保存,设备一重启全部归零:
tmsh save sys config
这是一条必须刻进肌肉记忆的命令。
F5配置教程:三个高频场景实操
围绕真实业务场景配置,比死记命令有效得多。
Web服务器负载均衡配置步骤
大多数HTTP应用的F5配置过程可以拆成五步:
- 创建节点,确认后端服务器网络从F5能连通
- 创建池并添加节点端口
- 配置HTTP健康检查,设置探测路径
- 创建虚拟服务器,指定对外IP和端口
- 验证流量分发,执行
tmsh show ltm pool web_http_pool member
如果后端是HTTPS,还需要在池成员端口写443,同时考虑是否开启SSL透传或SSL卸载。
七层路径分流
同一个域名下,想让/api开头的请求走API池,其他走Web池,可以用iRule实现:
when HTTP_REQUEST {
if { [HTTP::uri] starts_with "/api" } {
pool api_pool
} else {
pool web_http_pool
}
}
iRule语法基于Tcl,入门不难,复杂的分流逻辑建议先在纸上画判断流程图,再翻译成iRule,能省下大量调试时间。
SSL卸载配置
SSL卸载是F5最高频的使用场景之一,证书统一在F5上管理,后端服务器免去加解密压力,三步完成:
第一步,导入证书和私钥:
tmsh install sys crypto cert /Common/www_example_com.crt tmsh install sys crypto key /Common/www_example_com.key
第二步,创建client-ssl配置档:

tmsh create ltm profile client-ssl clientssl \ cert www_example_com.crt key www_example_com.key
第三步,创建443虚拟服务器并绑定配置档:
tmsh create ltm virtual vs_web_https dst 192.168.0.10:443 \
profiles add { clientssl } pool web_http_pool
这套配置做完,客户端到F5的链路走HTTPS,F5到后端服务器默认走明文HTTP,后端压力直接降一半。
F5和Nginx负载均衡配置对比
很多运维团队在F5和开源方案之间纠结,我从配置视角做个横向对比:
| 对比维度 | F5 BIG-IP | Nginx |
|---|---|---|
| 配置模型 | 节点-池-虚拟服务器,支持GUI和CLI | 纯配置文件,修改后reload生效 |
| 性能表现 | 专用硬件,高并发场景CPU开销低 | 软件方案,受服务器网卡和CPU限制 |
| 四层能力 | 原生支持,转发性能强 | 需要stream模块,功能稍弱 |
| 七层能力 | iRule灵活,能写复杂判断 | 配置直观,配合Lua可实现高级逻辑 |
| 健康检查 | 支持HTTP、TCP、自定义脚本 | 自带基础检查,可自定义脚本 |
| 安全功能 | 自带ASM、AFM等安全模块 | 需集成WAF等外部组件 |
| 运维门槛 | 学习曲线较陡,有独立认证体系 | 上手快,遇到问题社区资料丰富 |
| 适用场景 | 金融、运营商、大型政企核心链路 | 互联网应用、中小规模业务 |
行业共识认为,F5在金融核心交易链路上的稳定性口碑仍优于开源方案,但Nginx在轻量级Web负载均衡场景下的性价比确实更高,实际工作中两者经常共存,F5做流量入口,Nginx承担内部细粒度分发。
F5配置价格参考与采购考量

F5的价格不是一个固定数字,它受硬件型号、软件模块、授权年限、服务等级四重因素影响,同一台设备,只开LTM基本功能,和同时开启LTM加ASM加AFM,价格可能相差数倍,谈价格之前必须先锁定模块清单。
不同交付形态怎么选
观察国内近年的采购趋势,F5的交付形态越来越多样:
- 硬件设备:适合标准化机房,需要预留2U机架空间和冗余设备预算
- 虚拟版(VE):适合私有云和测试环境,按CPU核数或带宽授权,起步门槛低
- 订阅制SaaS:适合短期项目弹性使用,按年付费,不占用一次性预算
近年来国内运维团队对F5 VE的咨询量明显增加,不少团队先买VE版本做配置验证和压测,方案跑通后再决定是否采购硬件。
给成本敏感型团队的建议
非核心业务可以从Nginx或HAProxy起步,等流量规模上来再平滑迁移到F5,采购前做一次完整的负载压测,重点观察健康检查切换时间、会话保持有效性、故障接管成功率这三个指标,比单纯看参数表更有参考价值。
F5配置常见问题解答
f5负载均衡配置的核心要点是什么?
围绕节点、池、虚拟服务器三层模型,理清流量走向,写对健康检查,配完保存配置,这三点做到位,基础负载均衡就算合格了。
F5配置完成但业务不通,从哪里排查?
按流量经过的顺序逐层排查,先看节点IP能不能从F5 ping通,再看池成员健康状态是否为up,然后检查虚拟服务器是否正常监听,最后确认SNAT配置和上游防火墙规则,绝大多数“配好不通”的问题,最后都出在健康检查或网络连通性上。
F5和Nginx可以同时使用吗?
完全可以,很多金融机构采用F5做对外统一入口,处理大流量和SSL卸载,后端再用Nginx做应用层路由,F5保证链路稳定,Nginx提供灵活性,两者搭配是成熟的高可用架构方案。
