HOME

firewall-cmd 安全组规则

简介

firewall-cmd 是一个用于管理 Firewalld 动态防火墙配置的强大工具。Firewalld 是一种动态防火墙管理系统,允许对网络服务和端口进行快速、灵活的访问控制。firewall-cmd 命令提供了一系列选项来添加、删除或查询安全组规则。

安装与初始化

在使用 firewall-cmd 之前,需要确保系统中已经安装了 Firewalld。不同发行版的具体安装方法有所不同,以下是一些常见发行版的安装示例:

CentOS

sudo yum install firewalld -y

Ubuntu

sudo apt-get update && sudo apt-get install firewalld -y

安装完成后启动并启用 Firewalld

sudo systemctl start firewalld
sudo systemctl enable firewalld

使用 firewall-cmd 添加安全组规则

1. 添加服务规则

firewall-cmd 可以通过名称来添加服务规则,例如允许 HTTP 和 HTTPS 流量:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

2. 添加端口规则

除了服务之外,也可以通过端口号来添加规则。例如,允许特定的 SSH 连接:

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

3. 添加网络接口规则

可以基于网络接口添加规则。例如,允许 eth0 接口上的所有流量:

sudo firewall-cmd --zone=trusted --add-interface=eth0 --permanent

4. 查看当前规则

使用以下命令查看当前的防火墙配置:

sudo firewall-cmd --list-all

重新加载和重启防火墙

为了使更改生效,需要重新加载 Firewalld 配置或完全重启服务。

重新加载配置

sudo firewall-cmd --reload

完全重启服务

sudo systemctl restart firewalld

删除规则

可以通过以下命令删除之前添加的规则:

删除服务规则

sudo firewall-cmd --zone=public --remove-service=http --permanent
sudo firewall-cmd --zone=public --remove-service=https --permanent

删除端口规则

sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent

删除网络接口规则

sudo firewall-cmd --zone=trusted --remove-interface=eth0 --permanent

总结

通过 firewall-cmd,可以方便地管理和配置 Firewalld 中的安全组规则。了解如何使用此命令来添加、删除和查询安全组规则对于保障系统的网络安全至关重要。