如何在 Rocky Linux 中设置并配置主机的防火墙区域?
windye01:在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
端口级控制
开放TCP 8080端口:
sudo firewall-cmd --zone=public --add-port=8080/tcp
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
高级规则
设置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
生效验证
sudo firewall-cmd --reload # 重载配置
firewall-cmd --list-all --zone=public # 验证最终规则
关键逻辑:通过区域分层管理不同网络环境的安全策略,利用--permanent参数实现配置持久化,结合服务抽象和端口直控实现灵活访问控制。生产环境建议先通过--timeout=300参数测试临时规则,确认无误后再永久生效。
328
2025-06-01 07:44:00