Firewalld 是一个用于管理 Linux 发行版上的防火墙的动态管理工具,它基于 iptables 和 nftables。Firewalld 提供了一个易于使用的接口来管理防火墙规则,以及支持网络/端口转发、虚拟主机和以太网桥接等功能。
以下是如何在 Linux 上使用 firewalld 的基本步骤:
-
安装 firewalld: 对于基于 RPM 的发行版(如 CentOS、RHEL):
sudo yum install firewalld
对于基于 Debian 的发行版(如 Ubuntu):
sudo apt-get install firewalld
-
启动 firewalld 服务:
sudo systemctl start firewalld
若要使 firewalld 在系统启动时自动运行,请执行:
sudo systemctl enable firewalld
-
查看 firewalld 状态:
sudo firewall-cmd --state
-
查看所有打开的端口和服务:
sudo firewall-cmd --list-all
-
添加服务到防火墙: 例如,要添加 HTTP 服务,请执行:
sudo firewall-cmd --permanent --add-service=http
-
删除服务从防火墙: 例如,要删除 HTTP 服务,请执行:
sudo firewall-cmd --permanent --remove-service=http
-
添加端口到防火墙: 例如,要添加端口 8080,请执行:
sudo firewall-cmd --permanent --add-port=8080/tcp
-
删除端口从防火墙: 例如,要删除端口 8080,请执行:
sudo firewall-cmd --permanent --remove-port=8080/tcp
-
重新加载防火墙配置: 当你对防火墙规则进行更改时,需要重新加载配置以使更改生效:
sudo firewall-cmd --reload
-
查看防火墙区域: Firewalld 支持多个区域,每个区域具有不同的安全级别。要查看可用区域,请执行:
sudo firewall-cmd --get-zones
-
更改接口的区域: 例如,要将 eth0 接口更改为 work 区域,请执行:
sudo firewall-cmd --permanent --zone=work --change-interface=eth0
-
查看接口的区域: 要查看接口所属的区域,请执行:
sudo firewall-cmd --get-active-zones
这些是使用 firewalld 的基本操作。根据你的需求,你可以使用更多高级选项来定制防火墙规则。更多信息,请查阅 firewalld 的官方文档:https://firewalld.org/documentation/