firewalld应对高并发的关键是精准管控:绑定低信任区域(如public)、设默认目标为drop、仅开放必要服务;用rich rule对80/443端口限速(如60/m),ssh严控5/m;按ip段分层管控,可信网段不限速,公网源双控连接数与速率;所有永久规则需reload生效,并定期备份日志。

配置系统防火墙应对高并发访问,关键不在“放得更宽”,而在于“控得更准、挡得更稳、响应更快”。高并发本身不是攻击,但常伴随扫描、CC、连接耗尽等行为。firewalld 作为现代 Linux 主流防火墙工具,配合合理策略,能有效缓解压力并守住入口。
明确区域与默认策略
高并发场景下,默认放行等于裸奔。必须从源头收紧:
- 将网卡绑定到 public 或更低信任度的区域(如 external),避免误用
trusted或home - 立即设置默认目标为
DROP:sudo firewall-cmd --zone=public --set-target=DROP --permanent - 只显式开放真正需要的服务(如
http、https),禁用无关服务(如dhcpv6-client、cockpit)
用富规则限制连接速率
单纯开放端口无法防 CC 或连接泛滥。firewalld 的 rich rule 支持基于连接数的限速:
- 对 HTTP/HTTPS 端口做每 IP 每分钟连接数限制(例如 60 条):
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" limit value="60/m" accept' - 同样配置 443 端口,并可叠加短时突发允许(如
limit value="10/s") - 对 SSH 端口启用更严限制(如 5 次/分钟),防止暴力探测拖垮服务
区分来源网络,实施分层管控
高并发请求往往混杂正常用户与恶意流量。按 IP 段差异化策略可大幅降低误伤:
- 将可信管理网段(如
192.168.10.0/24)加入 trusted 区域或单独富规则,不限速、不拦截 - 对外暴露接口仅允许必要端口,且对公网源地址启用连接数+速率双控
- 数据库等内网服务绝不暴露在 public 区域,应部署在 internal 区域,并绑定内网网卡与 CIDR 段
持久化与监控不可省略
规则生效 ≠ 防护到位。运维闭环决定实际效果:
- 所有带
--permanent的操作后,务必执行sudo firewall-cmd --reload - 定期导出规则备份:
sudo firewall-cmd --list-all-zones > /backup/firewall-$(date +%F).log - 结合
journalctl -u firewalld -n 100 --no-pager查看丢包日志,识别高频被拒 IP - 注意:firewalld 本身不记录详细连接日志,如需深度审计,建议搭配
nflog或外部 IDS 工具











