admin 发表于 2026-8-11 06:50:28

firewalld防火墙安装、启用与基础规则配置

在基于RHEL/CentOS或Fedora的Linux系统中,firewalld 是动态管理防火墙的默认工具。以下是安装、启用和配置基础规则的步骤:



1. 安装 firewalld

[*]大多数现代RHEL/CentOS/Fedora系统已预装firewalld。若未安装:

sudo yum install firewalld       # CentOS/RHEL 7+
# 或
sudo dnf install firewalld       # Fedora/RHEL 8+



2. 启用并启动 firewalld
sudo systemctl enable --now firewalld# 启用并立即启动服务
sudo systemctl status firewalld       # 检查状态(应显示active/running)



3. 基础配置命令
查看当前状态与规则
sudo firewall-cmd --state          # 检查是否运行
sudo firewall-cmd --list-all       # 显示所有当前配置(区域、服务、端口等)
sudo firewall-cmd --get-active-zones# 查看激活的区域

管理区域(Zones)

[*]区域(Zone) 是预定义的规则集合(如public、home、work等)。
[*]临时切换区域(重启后失效):

sudo firewall-cmd --set-default-zone=home# 设置默认区域
sudo firewall-cmd --get-default-zone       # 查看默认区域

开放端口/服务

[*]开放特定端口(如TCP 8080):

sudo firewall-cmd --add-port=8080/tcp --permanent# --permanent永久生效
sudo firewall-cmd --reload                         # 重载配置

[*]开放预定义服务(如HTTP/HTTPS):

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

允许IP/网段访问

[*]允许特定IP访问所有端口:

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' --permanent

[*]允许网段访问SSH:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'

拒绝或丢弃流量

[*]拒绝来自某IP的流量:

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.5" reject' --permanent



4. 常用示例
开放SSH和HTTP
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

仅允许特定IP访问MySQL(端口3306)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.50" port port="3306" protocol="tcp" accept'
sudo firewall-cmd --reload



5. 保存与恢复配置

[*]永久生效的规则需添加--permanent标志,修改后执行sudo firewall-cmd --reload。
[*]备份配置:

sudo firewall-cmd --runtime-to-permanent# 将当前运行时配置保存为永久配置
或手动备份/etc/firewalld/目录。



6. 禁用/停止 firewalld
sudo systemctl stop firewalld   # 临时停止
sudo systemctl disable firewalld# 禁用开机启动



注意事项

[*]测试规则:使用--timeout参数临时应用规则(如--add-port=80/tcp --timeout=300)。
[*]区域优先级:接口默认属于某个区域,可通过--change-interface=eth0 --zone=home调整。
[*]日志监控:查看被拒绝的流量:

   sudo journalctl -u firewalld --since today



通过以上步骤,您可以灵活管理firewalld的防火墙规则,确保系统安全的同时允许必要的网络访问。
页: [1]
查看完整版本: firewalld防火墙安装、启用与基础规则配置