在Rocky Linux 9中使用firewalld配置DMZ需遵循以下步骤:
-
规划网络结构
- 划分三个逻辑区域:外网接口(如ens192)、DMZ接口(如ens224)、内网接口(如ens256)
- 建议物理隔离DMZ与内部网络
-
配置基础环境
systemctl enable --now firewalld firewall-cmd --state
-
创建DMZ区域
firewall-cmd --new-zone=dmz --permanent firewall-cmd --reload
-
绑定接口与基础规则
firewall-cmd --zone=dmz --change-interface=ens224 --permanent firewall-cmd --zone=dmz --add-service={http,https} --permanent firewall-cmd --zone=dmz --add-port=8080/tcp --permanent
-
设置流量转发策略
firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 service name=mysql accept' --permanent firewall-cmd --zone=public --add-masquerade --permanent
-
应用配置
firewall-cmd --runtime-to-permanent firewall-cmd --reload
关键注意事项:
- 使用
--permanent
参数保证配置持久化 - DMZ到内网的访问应严格限制(建议使用白名单机制)
- 通过
nmap -sT -p 1-1000 DMZ_IP
验证端口暴露情况 - 定期检查日志:
journalctl -u firewalld --since "1 hour ago"
- 建议配合SELinux实施纵深防御