使用 Firewall-CMD/Firewalld 配置防火墙

Red Hat Enterprise LinuxBeginner
立即练习

介绍

作为一名系统管理员,管理防火墙设置是确保服务器安全的关键任务。在 Red Hat Enterprise Linux (RHEL) 中,firewalld 是默认的防火墙管理工具,通过 firewall-cmd 命令行工具进行配置。在本挑战中,你将练习使用 firewall-cmd 配置防火墙规则,以实现对网络流量的精确控制。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是按照实验步骤一步步学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初级 难度的挑战,通过率为 92%。它在学习者中获得了 95% 的好评率。

配置防火墙

你的任务是修改当前的防火墙规则以允许 Web 流量。实验环境中 firewalld 服务已经处于运行状态。你需要为标准的 Web 流量端口添加规则,并确保这些更改是永久生效的。

任务

  • 任务 1:检查 firewalld 服务的当前状态,确保其正在运行。
  • 任务 2:添加永久防火墙规则,允许 http(80 端口)和 https(443 端口)服务。
  • 任务 3:重载防火墙配置,将永久配置应用到运行时配置中。
  • 任务 4:验证 httphttps 服务是否已列在当前的防火墙规则中。

要求

  • 所有防火墙修改必须使用 firewall-cmd 命令执行。
  • httphttps 的规则必须添加到永久配置中,以便在重载后依然生效。
  • 重载后,当前活动配置必须显示允许 httphttps 服务。

示例

当你成功完成所有任务后,执行 sudo firewall-cmd --list-all 的输出应在服务列表中包含 httphttps,如下例所示。其他详细信息可能会有所不同。

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

提示

  • 使用 sudo firewall-cmd --state 检查防火墙是否正在运行。如果防火墙未运行,你可以通过执行 sudo systemctl start firewalld 来启动它。
  • 要使规则永久生效,请使用 --permanent 标志。
  • 在使用 sudo firewall-cmd --reload 重载防火墙之前,永久规则不会应用到当前运行的配置中。
✨ 查看解决方案并练习

总结

在本挑战中,你学习了如何在 Red Hat Enterprise Linux 系统上使用 firewall-cmd 管理防火墙规则。你练习了检查防火墙状态、添加永久服务规则、重载防火墙以应用更改以及验证活动配置。这些是任何负责网络安全的系统管理员必须掌握的基础技能。