Firewalld 引入了区域(Zones)概念,这是一种将网络接口、源地址和服务规则有效组织的方法。区域帮助用户定义并管理一个或多个网络的安全级别,使得安全策略的应用更加直观和灵活。本文将指导你如何利用 firewalld 的区域来提高你的网络安全。
区域(Zones)是什么?
在 firewalld 术语中,一个“区域”代表一组特定的规则,这些规则决定了穿过与该区域关联的网络接口的数据包的命运。每个区域定义了一套允许和限制的规则,这些规则可以应用于一个或多个网络接口。Firewalld 预定义了一些区域,如 public
、home
、external
等,每个都有其默认的安全策略。
配置和使用区域
-
查看可用区域
要查看系统上可用的所有区域,你可以使用以下命令:
sudo firewall-cmd --get-zones
-
查看活动区域
活动区域是当前已经分配有网络接口或源地址的区域。使用此命令查看活动区域和它们的配置信息:
sudo firewall-cmd --get-active-zones
-
指定接口到区域
你可以将网络接口指定到特定的区域。例如,将
eth0
接口指定到public
区域,你可以使用以下命令:sudo firewall-cmd --zone=public --change-interface=eth0
永久执行该操作(即使重启后仍生效),需要添加
--permanent
标志。 -
向区域添加服务
如果你希望在某个区域允许特定的服务,比如 HTTP,可以使用如下命令:
sudo firewall-cmd --zone=public --add-service=http --permanent
这条命令将 HTTP 服务添加到
public
区域,并通过--permanent
确保更改在重启后生效。 -
向区域添加端口
有时你可能需要开放特定的端口而不是整个服务。以下命令在
public
区域开放 TCP 端口 8080:sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
-
应用更改
使用
--permanent
标志后,更改在重启防火墙服务后生效。要重新加载防火墙并应用更改,请执行:sudo firewall-cmd --reload
小结
通过了解 firewalld 的区域(Zones)及其应用,你可以更精细地控制对网络接口和服务的访问规则。利用区域,可以根据网络环境的不同安全需求,对各类服务进行灵活的管理。始终记得,在对防火墙进行任何更改后,重新加载配置以确保新规则生效。了解这些基本操作可以帮助你建立一个更安全、更高效的网络环境。