将 firewalld 默认安全区域设为 drop 是提升系统基础防护最直接有效的方式之一,它静默丢弃所有未显式允许的入站流量,需通过 --permanent 设置并重载生效,且新网卡或未匹配规则的流量才 fallback 到该 zone。

把 firewalld 的默认安全区域设为 drop,是提升系统基础防护最直接有效的方式之一。drop 区会静默丢弃所有未被显式允许的入站流量——不响应、不报错、不记录,相当于给系统加了一道“默认拒绝”的隐形墙。
查看当前默认区域
先确认当前设置,避免误操作:
firewall-cmd --get-default-zone
如果返回不是 drop,就说明需要修改。
永久设置默认区域为 drop
执行以下两条命令(顺序不能颠倒):
- 设置永久默认 zone:
firewall-cmd --permanent --set-default-zone=drop
- 重载配置使其生效:
firewall-cmd --reload
完成之后再次运行 firewall-cmd --get-default-zone,应明确输出 drop。
验证 drop 区是否真正生效
检查该区域当前规则是否符合预期:
firewall-cmd --zone=drop --list-all
理想输出中:
-
services:后为空 -
ports:后为空 -
icmp-blocks:和rich rules:也应为空或仅含默认屏蔽项
这表示它确实在执行“丢弃一切入站”的策略。
注意几个关键点
- 已手动绑定 zone 的网卡(比如
ens33被设为public)不受默认 zone 影响,它们继续走各自 zone 的规则 - 新接入的网卡、未指定 source 的访问请求、未匹配任何
--add-source规则的流量,才会 fallback 到默认 zone —— 此时就是drop - 不要顺手在
public或其他 zone 里--add-service=ssh,否则等于绕过 drop 防护;如需开放服务,建议新建专用 zone 并精确控制
不复杂但容易忽略











