本文介绍快速配置服务所需的基本任务。我假设您已经意识到防火墙的重要性,并且对防火墙如何保护服务器和工作站有大致的了解。
为了帮助您找到所需的信息,我以“如何做?”格式组织了本文,以解决这些步骤。只需向下滚动到您的问题并找到命令。如果您需要有关管理的更多详细信息,请阅读Shashank Nandishwar Hegde的文章防火墙规则和方案简介。
如何检查防火墙状态?
首先,确保firewalld
服务已安装、启动并启用:
$ sudo systemctl status firewalld
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
启动服务会在当前运行时激活它,而启用服务会导致它在系统引导时启动。
如何检查当前配置?
要显示当前在公共区域的防火墙上打开的服务或端口,请键入:
$ sudo firewall-cmd --list-all --zone=public
请注意区域和服务或端口。区域是与特定位置或服务器角色相关的配置。
如果需要,您可以按服务或端口号显示打开的端口:
$ sudo firewall-cmd --list-services
$ sudo firewall-cmd --list-ports
如何打开端口?
如果现有防火墙配置阻止了所需的服务,请打开相应的端口。如果是通用服务,则可以按服务名称指定它。但是,如果服务不常见、内部开发或使用自定义端口号,则可以按端口号打开防火墙端口。下面是 Web 服务的两个示例:
$ sudo firewall-cmd --zone=public --add-service=http
$ sudo firewall-cmd --zone=public --add-port=80/tcp
请注意 (或 ,取决于协议) 的使用。/tcp
/udp
此配置是非持久性的。如下所述,您将需要该标志来保留设置。--permanent
使用 或 选项验证设置。--list-services--list-ports
如何关闭端口?
开放端口也可能表示系统上不再安装的服务,或者由于其他原因应关闭该服务。使用以下命令按服务名称或端口号关闭端口:
$ sudo firewall-cmd --zone=public --remove-service=http
$ sudo firewall-cmd --zone=public --remove-port=80/tcp
同样,使用上述命令,此配置是非持久性的。
如何使防火墙设置持久化?
该选项使防火墙更改在重新启动后仍然存在。您可以将该标志集成到配置命令中:--permanent
$ sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
如何重新加载配置?
最后,重新加载防火墙以将更改集成到当前运行时中。在配置更改后,将此作为单独的步骤执行:
$ sudo firewall-cmd --reload
但是,重新启动服务的问题在于它会丢弃现有连接。在许多情况下,更好的选择是重新加载服务,该服务会重新读取配置文件,但不会删除现有连接,因此服务不会中断。
了解更多信息
防火墙的重要性是一个既定的事实。本文提供了快速检查配置、添加或删除规则以及重新加载设置所需的基本命令。您可以查看 Red Hat 文档,了解有关其他配置、使用各种区域、端口转发等的详细信息。