服务器防火墙是一种在用户系统和外部网络之间充当保护屏障的软件,它根据预定义的规则允许或阻止数据包。防火墙主要在网络层运行,处理IPv4和 IPv6数据包。
允许或阻止数据包的决定取决于防火墙中定义的规则。这些规则可以是内置的,也可以是用户定义的。进入或离开网络的每个数据包都必须通过此防火墙,并根据这些规则对其进行评估。
Linux 系统提供了多种防火墙管理工具,最常见的是Firewalld和UFW。在本文中,我们将重点介绍这两个工具,解释它们的功能以及如何在现代 Linux 发行版上管理它们。
什么是 Firewalld?
Firewalld是一个动态防火墙管理工具,包含在RHEL、CentOS、Fedora等许多 Linux 发行版中。它提供了更高级别、用户友好的界面来管理防火墙规则和网络区域。
Firewalld允许两种类型的配置:
永久:这些规则在系统重启后仍然有效。
运行时:这些规则是临时的,当系统或服务重新启动时就会丢失。
Firewalld将网络流量组织到区域中,允许针对不同的网络(如公共网络、内部网络或受信任网络)设置不同的规则集。
Firewalld 的配置存储在两个目录中:
/usr/lib/firewalld:可能会被系统更新覆盖的默认配置。
/etc/firewalld:系统特定的配置,在重启和更新后仍然存在。
在 RHEL 系统中管理 Firewalld 服务
以下是在基于 RHEL 的发行版上管理 Firewalld 的一些常用命令:
启动Firewalld:
systemctl start firewalld
停止防火墙:
systemctl stop firewalld
检查防火墙状态:
systemctl status firewalld
检查Firewalld的状态:
firewall-cmd --state
启动时启用 Firewalld:
systemctl enable firewalld
禁用Firewalld:
systemctl disable firewalld
屏蔽 Firewalld(防止其启动):
systemctl mask firewalld
取消防火墙屏蔽:
systemctl unmask firewalld
什么是 UFW?
UFW(简单防火墙)是Ubuntu和其他一些 Linux 发行版的默认防火墙管理工具。
UFW是一个更易于使用的前端,用于通过 iptables 管理防火墙规则,旨在让不需要完全复杂的iptables的用户更轻松地管理防火墙。
在 Debian 系统中管理 UFW 服务
以下是在基于 Debian 的发行版上管理UFW的一些常用命令:
启用 UFW:
sudo ufw enable
禁用 UFW:
sudo ufw disable
检查UFW状态:
sudo ufw status
使用 UFW 添加和管理规则
以下是管理 UFW 的基本命令:
允许 UFW 上的特定端口(例如 HTTP 端口 80):
sudo ufw allow 80
拒绝 UFW 上的特定端口:
sudo ufw deny 80
允许 UFW 上的 SSH 流量:
sudo ufw allow ssh
删除 UFW 上的规则:
sudo ufw delete allow 80
启用 UFW 日志记录:
sudo ufw logging on
在本文中,我们介绍了在现代 Linux 发行版中管理Firewalld和UFW的基础知识。Firewalld和UFW都是管理网络流量和保护系统免受未经授权访问的强大工具。
Firewalld提供动态防火墙管理,支持区域和复杂规则集,非常适合高级用户和服务器。另一方面, UFW非常适合需要更简单、更用户友好的工具来管理防火墙规则的用户,尤其是在桌面或轻量级服务器环境(如 Ubuntu)上。