使用 sudo firewall-cmd --zone=public --add-service=服务名 --permanent
添加规则,再执行 sudo firewall-cmd --reload
生效配置。
如何使用 firewalld 在 Rocky Linux 中为特定服务配置防火墙规则?
要使用firewalld在Rocky Linux中为特定服务配置防火墙规则,可执行以下命令:
sudo firewall-cmd --zone=public --add-service=http --permanent
(添加HTTP服务)sudo firewall-cmd --reload
(重载配置)
延伸知识点【富规则(Rich Rules)】:
富规则允许创建更复杂的防火墙策略,语法示例:firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'
该规则表示:允许来自192.168.1.0/24子网的SSH连接。关键参数解析:
family
:指定IPv4/IPv6协议族source address
:限定源IP地址范围service name
:指定受控服务名称action
:定义允许(accept)或拒绝(reject) 使用--remove-rich-rule
可删除规则,需配合--permanent
参数实现配置持久化。
更多回答
-
确认firewalld状态:
sudo systemctl status firewalld
若未运行则启动并设置开机自启:
sudo systemctl enable --now firewalld
-
查看预定义服务列表:
sudo firewall-cmd --get-services
确认目标服务(如http、ssh)是否存在。
-
添加服务规则(以http为例):
sudo firewall-cmd --zone=public --add-service=http --permanent
--permanent
表示规则持久化,重启后仍生效。 -
自定义端口配置(若服务未预定义):
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
-
重新加载配置:
sudo firewall-cmd --reload
-
验证规则生效:
sudo firewall-cmd --zone=public --list-all
输出应包含添加的服务/端口。
注意:
- 生产环境建议通过
--zone=
明确指定区域 - 紧急恢复可使用
--remove-service
或--remove-port
删除规则 - 测试时建议先不加
--permanent
验证,确认无误后再持久化
在Rocky Linux上用firewalld给特定服务开权限其实挺简单的。比如要给http服务放行,先确保firewalld服务是启动的(sudo systemctl enable --now firewalld)。然后直接运行 sudo firewall-cmd --permanent --add-service=http 加规则,最后sudo firewall-cmd --reload刷新配置就行啦。用firewall-cmd --list-services能看到当前开放的规则,检查下有没有生效~ 如果服务不在预设列表里,可能要手动开端口或者自定义服务配置。
在Rocky Linux中使用firewalld为特定服务配置防火墙规则时,建议遵循以下流程:
- 确认服务定义:首先通过
firewall-cmd --get-services
检查目标服务(如http、ssh)是否在预定义列表中 - 永久性配置:使用
--permanent
参数确保规则在重启后生效,例如:firewall-cmd --permanent --add-service=http
- 区域选择:明确指定应用规则的zone(默认public),多网卡环境需区分应用区域
- 配置验证:重载规则后通过
firewall-cmd --list-services --zone=public
确认服务已添加 - 端口级控制:若服务未预定义,可直接管理端口:
firewall-cmd --permanent --add-port=8080/tcp
- 生产环境注意:建议通过
firewall-cmd --runtime-to-permanent
将临时规则固化为永久配置 - 日志监控:启用
--log-denied=all
记录被拒请求,便于后期审计 多年经验表明,严格遵循服务最小化开放原则,每次修改后必须测试连通性,并通过systemctl status firewalld
确认防火墙服务状态正常。
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别