Linux中(防火墙)firewalld详解

管理员
2023-04-18 / 0 评论 / 42 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年04月18日,已超过313天没有更新,若内容或图片失效,请留言反馈。

Firewalld 是一种用于管理 Linux 防火墙规则的工具,它提供了一个命令行界面和一个 GUI 界面,可以帮助管理员更加方便地配置防火墙规则。下面是关于 Firewalld 的详细介绍:

安装和启动 Firewalld
Firewalld 可以在大多数 Linux 发行版中安装和使用,可以使用以下命令来安装和启动 Firewalld:

sudo apt-get install firewalld   # Debian/Ubuntu
sudo yum install firewalld       # CentOS/RHEL
sudo systemctl start firewalld   # 启动 Firewalld
sudo systemctl enable firewalld  # 设置 Firewalld 开机自启动

基本概念
Firewalld 的配置基于一些基本概念,如 zone、service、port、source、interface 等。这些概念在配置防火墙规则时都会被用到。下面是一些常用的概念:
Zone:
一个 zone 定义了一组防火墙规则,用于限制从特定接口进入系统的流量。常见的 zone 有 public、private、internal 等。
Service:
一个 service 是一组定义在 /etc/services 中的端口和协议的集合。可以将一个 service 添加到一个 zone 中,从而允许所有服务于该 service 相关的端口的流量通过该 zone。
Port:
一个端口用于标识网络上的一个应用程序,一个 port 通常包含一个协议和一个数字端口号。可以将一个 port 添加到一个 zone 中,从而允许该端口的流量通过该 zone。
Source:
一个 source 定义了一个网络地址、网络段或其他一个防火墙的规则集。可以将一个 source 添加到一个 zone 中,从而允许从该 source 进入该 zone 的流量通过。
Interface:
一个 interface 是一个网络接口,通常对应于一个网络设备,如 eth0 或 enp3s0。可以将一个 interface 添加到一个 zone 中,从而限制该 interface 上进入系统的流量。
常用操作
下面是一些常用的 Firewalld 操作:
查看当前的 zone:

sudo firewall-cmd --get-active-zones

查看指定 zone 的规则:

sudo firewall-cmd --zone=public --list-all

切换默认 zone:

sudo firewall-cmd --set-default-zone=public

开放端口:

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

这将允许从公共接口进入系统的流量通过 80/tcp 端口。
关闭端口:

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

开放服务:

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

这将允许从公共接口进入系统的流量通过 http 服务相关的端口。
关闭服务:`sudo firewall

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

开放指定源的流量:

sudo firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent

这将允许来自 192.168.1.0/24 网段的流量进入公共接口。
关闭指定源的流量:

sudo firewall-cmd --zone=public --remove-source=192.168.1.0/24 --permanent

设置默认接口:

sudo firewall-cmd --zone=public --change-interface=eth0 --permanent

这将将公共接口更改为 eth0。
重载配置:

sudo firewall-cmd --reload

这将重新加载防火墙配置。
永久和运行时规则
Firewalld 支持两种类型的规则:
永久规则和运行时规则。永久规则是指在重新启动防火墙之后仍然有效的规则,而运行时规则则是在防火墙运行期间有效的规则。可以使用 --permanent 参数来指定永久规则,例如:

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

如果没有使用 --permanent 参数,则规则将仅在运行时有效。

总结
以上是关于 Linux 中 Firewalld 的详细介绍,Firewalld 是一种强大而灵活的防火墙管理工具,可以帮助管理员更加方便地管理防火墙规则。通过理解 Firewalld 的基本概念和常用操作,可以更好地使用它来保护系统的安全。

0

打赏

评论 (0)

取消