Red Hat Linux 防火墙主要指的是 firewalld
,这是一个动态管理防火墙的工具,它提供了更为灵活和强大的功能来控制网络流量。
firewalld
使用区域(Zones)和服务(Services)的概念来管理防火墙规则。每个区域代表一个预定义的信任级别,例如“drop”表示所有传入的连接都会被丢弃,“public”则用于公共网络接口等。
iptables
规则有一定的兼容性。trusted
, home
, public
, external
, dmz
等。ssh
, http
, https
等。firewalld
原因:可能是由于之前的防火墙规则残留或系统服务冲突。
解决方法:
# 停止并禁用旧的 iptables 服务(如果有)
systemctl stop iptables
systemctl disable iptables
# 启动 firewalld 服务
systemctl start firewalld
原因:可能是由于权限不足或规则格式错误。
解决方法:
# 添加自定义端口规则(例如开放8080端口)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
原因:可能是由于规则未正确保存或未重新加载防火墙配置。
解决方法:
# 检查当前活动规则
firewall-cmd --list-all
# 如果需要,重新加载防火墙配置
firewall-cmd --reload
以下是一个简单的脚本示例,用于自动打开SSH和HTTP服务的端口:
#!/bin/bash
# 开放SSH端口(默认22)
firewall-cmd --zone=public --add-service=ssh --permanent
# 开放HTTP端口(80)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重新加载防火墙配置
firewall-cmd --reload
通过以上步骤和示例代码,你应该能够更好地理解和使用 Red Hat Linux 上的 firewalld
防火墙工具。
领取专属 10元无门槛券
手把手带您无忧上云