如何使用 FirewallD 限制网络访问
作为 Linux 用户,您可以选择使用 CentOS/RHEL 8 和大多数 RHEL 自带的 Firewalld 防火墙来允许或限制对某些服务或 IP 地址的网络访问基于发行版,例如 Fedora。
firewalld 防火墙使用firewall-cmd 命令行实用程序来配置防火墙规则。
在执行任何配置之前,我们首先使用 systemctl 实用程序启用 firewalld 服务,如下所示:
sudo systemctl enable firewalld
启用后,您现在可以通过执行以下命令来启动 firewalld 服务:
sudo systemctl start firewalld
您可以通过运行以下命令来验证 firewalld 的状态:
sudo systemctl status firewalld
下面的输出确认 firewalld 服务已启动并正在运行。
使用 Firewalld 配置规则
现在我们已经运行了firewalld,我们可以直接进行一些配置。 Firewalld 允许您添加和阻止端口、黑名单以及白名单 IP、地址以提供对服务器的访问。完成配置后,请始终确保重新加载防火墙以使新规则生效。
添加 TCP/UDP 端口
要添加端口,例如 HTTPS 的端口 443,请使用以下语法。请注意,您必须在端口号后指定端口是 TCP 还是 UDP 端口:
sudo firewall-cmd --add-port=22/tcp --permanent
同样,要添加 UDP 端口,请指定 UDP 选项,如下所示:
sudo firewall-cmd --add-port=53/udp --permanent
--permanent
标志确保规则即使在重新启动后也仍然存在。
阻止 TCP/UDP 端口
要阻止 TCP 端口(例如端口 22),请运行以下命令。
sudo firewall-cmd --remove-port=22/tcp --permanent
同样,阻止 UDP 端口将遵循相同的语法:
sudo firewall-cmd --remove-port=53/udp --permanent
允许服务
网络服务在/etc/services文件中定义。要允许诸如 https 之类的服务,请执行以下命令:
sudo firewall-cmd --add-service=https
阻止服务
要阻止服务,例如 FTP,请执行:
sudo firewall-cmd --remove-service=https
将 IP 地址列入白名单
要允许单个 IP 地址穿过防火墙,请执行以下命令:
sudo firewall-cmd --permanent --add-source=192.168.2.50
您还可以使用 CIDR(无类域间路由)表示法允许一系列 IP 或整个子网。例如,要允许 255.255.255.0 子网中的整个子网,请执行。
sudo firewall-cmd --permanent --add-source=192.168.2.0/24
删除白名单IP地址
如果您希望删除防火墙上列入白名单的 IP,请使用 --remove-source
标志,如下所示:
sudo firewall-cmd --permanent --remove-source=192.168.2.50
对于整个子网,运行:
sudo firewall-cmd --permanent --remove-source=192.168.2.50/24
阻止 IP 地址
到目前为止,我们已经了解了如何添加和删除端口和服务,以及如何将其列入白名单和删除白名单 IP。要阻止 IP 地址,可以使用“丰富规则”来实现此目的。
例如,要阻止 IP 192.168.2.50,请运行以下命令:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"
要阻止整个子网,请运行:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"
保存防火墙规则
如果您对防火墙规则进行了任何更改,则需要运行以下命令才能立即应用更改:
sudo firewall-cmd --reload
查看防火墙规则
要查看防火墙中的所有规则,请执行以下命令:
sudo firewall-cmd --list-all
关于如何在 CentOS/RHEL 8 上使用 FirewallD 允许或限制网络访问的指南到此结束。我们希望本指南对您有所帮助。