帮助文档 > 防火墙设置

防火墙设置

发布时间:2024-07-24 16:18

防火墙设置

在CentOS7系列之前,防火墙是通过 iptables 管理的。现在新版本默认使用 firewalld 来管理防火墙。以下将介绍 firewalld 的配置方法。

1.firewalld网络区域划分

为了简化管理,firewalld 将所有网络流量分为 9 个区域(zone),每个区域定义了自己的开放或关闭的端口和服务列表。具体介绍如下:

trusted(信任区域):允许所有的传入流量。
public(公共区域):允许与 ssh 或 dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
external(外部区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。默认将通过此区域转发的 IPv4 传出流量进行地址伪装,可用于为路由器启用伪装功能的外部网络。
home(家庭区域):允许与 ssh、ipp-client、mdns、samba-client 或 dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。
internal(内部区域):默认设置与 home 区域相同。
work(工作区域):允许与 ssh、ipp-client、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。
dmz(隔离区域或非军事区):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。
block(限制区域):拒绝所有传入流量。
drop(丢弃区域):丢弃所有传入流量,并且不产生包含 ICMP 的错误响应。

说明:每个区域的安全程度最终取决于管理员在该区域设置的规则。区域类似于进入主机的安全门,每个区域都有不同的限制规则,只允许符合规则的流量进入。可以根据网络规模使用一个或多个区域,但任何一个活动区域至少需要关联源地址或接口。默认情况下,public 区域是默认区域,包含所有接口(网卡)。

 

2. firewalld 防火墙配置

①配置方法

firewalld 有以下三种配置方法:

使用 firewall-config 图形工具。前提是安装了 CentOS 图形化界面。编写 "/etc/firewalld/"目录中的配置文件。firewalld 会优先使用"/etc/firewalld/"目录中的配置文件,如果不存在,则使用 "/usr/lib/firewalld/" 目录中的配置文件。
"/etc/firewalld/":用户自定义配置文件,需要时可从"/usr/lib/firewalld/" 目录中复制。
"/usr/lib/firewalld/":默认配置文件,不建议修改,若恢复至默认配置,可以直接删除"/etc/firewalld/"目录中的配置。
使用 firewall-cmd 命令行工具。分为运行时配置和永久配置两种模式:
运行时模式(runtime mode):实时生效,并持续到 firewalld 重新启动或重新加载配置。中断现有连接。可以修改服务配置。

② firewalld 服务命令

firewalld 服务命令如下:

```bash
# 启动/重启/停止/查看状态
systemctl start/restart/stop/status firewalld
# 开机自启/不自启
systemctl enable/disable firewalld
```

③获取预定义信息

firewall-cmd 预定义信息主要包括以下三种:预定义区域、预定义服务以及预定义 ICMP 阻塞类型,使用命令如下:

```bash
# 显示预定义的区域
firewall-cmd --get-zones
# 显示预定义的服务
firewall-cmd --get-services
# 显示预定义的 ICMP 类型
firewall-cmd --get-icmptypes
```

其中,firewall-cmd --get-icmptypes 命令的执行结果中,主要阻塞类型的含义如下:

destination-unreachable:目的地址不可达。
echo-reply:应答回应(pong)。
parameter-problem:参数问题。
redirect:重新定向。
router-advertisement:路由器通告。
router-solicitation:路由器征询。
source-quench:源端抑制。
time-exceeded:超时。
timestamp-reply:时间戳应答回应。
timestamp-request:时间戳请求。

本文导读

客户热线:13306992629

客户服务中心