在Rocky Linux中配置防火墙区域需通过firewalld
服务实现,以下是具体步骤及逻辑:
-
基础验证
sudo systemctl enable --now firewalld # 启用并启动服务 firewall-cmd --state # 确认firewalld状态为running
-
区域管理
- 查看默认区域:
firewall-cmd --get-default-zone
- 列出所有区域:
firewall-cmd --get-zones
- 修改默认区域(如切换为internal):
sudo firewall-cmd --set-default-zone=internal --permanent sudo firewall-cmd --reload
- 绑定接口到区域(将eth0绑定至internal):
sudo firewall-cmd --zone=internal --add-interface=eth0 --permanent
- 查看默认区域:
-
服务配置
- 允许HTTP服务(临时+永久):
sudo firewall-cmd --zone=public --add-service=http sudo firewall-cmd --zone=public --add-service=http --permanent
- 拒绝SSH访问(区域级控制):
sudo firewall-cmd --zone=public --remove-service=ssh --permanent
- 允许HTTP服务(临时+永久):
-
端口级控制
- 开放TCP 8080端口:
sudo firewall-cmd --zone=public --add-port=8080/tcp sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 开放TCP 8080端口:
-
高级规则
- 设置IP白名单(允许192.168.1.0/24):
sudo firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
- 删除无效规则:
sudo firewall-cmd --list-all --zone=public # 查看规则 sudo firewall-cmd --remove-rich-rule='rule [...]' --permanent
- 设置IP白名单(允许192.168.1.0/24):
-
生效验证
sudo firewall-cmd --reload # 重载配置 firewall-cmd --list-all --zone=public # 验证最终规则
关键逻辑:通过区域分层管理不同网络环境的安全策略,利用--permanent
参数实现配置持久化,结合服务抽象和端口直控实现灵活访问控制。生产环境建议先通过--timeout=300
参数测试临时规则,确认无误后再永久生效。