在Linux中配置和管理防火墙的有用的“FirewallD”规则

Firewalld提供了一种在Linux中配置动态防火墙规则的方法,可以立即应用,而无需防火墙重新启动,也支持D

Firewalld提供了一种配置在Linux的动态防火墙规则,可以立即被应用,而不需要防火墙重启并且也支持D BUS和区的概念,这使得结构简单。

管理Linux防火墙的有用的防火墙规则

管理Linux防火墙的有用的防火墙规则

Firewalld取代旧的Fedora的防火墙(Fedora的18起)机制,RHEL / CentOS 7等最新发行依靠这个新机制。 引入新的防火墙系统的最大动机之一是,旧防火墙在进行每次更改后需要重新启动,从而中断所有活动连接。 如上所述,最新的firewalld支持动态区域,这对于通过命令行或使用GUI方法为您的办公室或家庭网络配置不同的区域和规则集是有用的。

最初,firewalld概念看起来很难配置,但服务和区域使它更容易保持在一起,如本文所述。

在我们之前的文章中,我们已经看到了如何使用firewalld及其区域,现在在这篇文章中,我们将看到一些有用的firewalld规则,以使用命令行方式配置当前的Linux系统。

  1. RHEL / CentOS 7中的防火墙配置

本文中涉及的所有例子在CentOS实际上是测试7分布,也适用于RHEL和Fedora发行版。

在实施firewalld规则之前,请确保首先检查firewalld服务是否已启用并正在运行。

# systemctl status firewalld
防火墙状态检查

防火墙状态检查

上图显示firewalld处于活动状态并正在运行。 现在是时候检查所有活动区域和活动服务。

# firewall-cmd --get-active-zones
# firewall-cmd --get-services
检查防火墙区域和服务

检查区域和服务

如果incase,你不熟悉命令行,你也可以从GUI管理firewalld,为此你需要有GUI包安装在系统上,如果不使用以下命令安装它。

# yum install firewalld firewall-config

如上所述,这篇文章是专为命令行爱好者和所有的例子,我们将要覆盖的是基于命令行,没有GUI的方式。

在进一步移动之前,首先确保在哪个公共区域中配置Linux防火墙,并使用以下命令列出所有活动服务,端口和丰富的公共区域规则。

# firewall-cmd --zone=public --list-all
检查防火墙公共区域

检查公共区域

在上面的图片中,没有添加任何活动规则,让我们看看如何添加,删除和修改规则在本文的剩余部分...。

1.在Firewalld中添加和删除端口

要打开公共区域的任何端口,请使用以下命令。 例如,以下命令将打开公共区域的端口80。

# firewall-cmd --permanent --zone=public --add-port=80/tcp

同样,要删除添加的端口,只需使用'-remove'选项可以firewalld命令,如下图所示。

# firewall-cmd --zone=public --remove-port=80/tcp

添加或删除特定端口后,请确认该端口是否加入或使用'-list端口 “选项去掉。

# firewall-cmd --zone=public --list-ports
在Firewalld中添加端口

在Firewalld中添加端口

2.在Firewalld中添加和删除服务

默认情况下,firewalld附带预定义的服务,如果要添加特定服务的列表,则需要创建一个包含文件中所有服务的新xml文件,或者也可以通过运行以下命令手动定义或删除每个服务命令。

例如,以下命令将帮助您添加或删除特定服务,如我们在本示例中所做的那样。

# firewall-cmd --zone=public --add-service=ftp
# firewall-cmd --zone=public --remove-service=ftp
# firewall-cmd --zone=public --list-services
在Firewalld中添加服务

在Firewalld中添加服务

3.阻止输入和输出数据包(紧急模式)

如果你想阻止任何传入或传出的连接,你需要使用一个“ 恐慌式 ”模式来阻止这样的请求。 例如,以下规则将删除系统上任何现有已建立的连接。

# firewall-cmd --panic-on

使恐慌模式后,尝试ping任何域(例如google.com),并检查恐慌模式是使用 '-query恐慌 “选项,如下所示。

# ping google.com -c 1
# firewall-cmd --query-panic
阻止防火墙中的传入连接

阻止防火墙中的传入连接

你在上面的图片中看到,恐慌查询写着“ 未知主机google.com”。 现在尝试禁用紧急模式,然后再次ping和检查。

# firewall-cmd --query-panic
# firewall-cmd --panic-off
# ping google.com -c 1
在Firewalld中禁用紧急模式

在Firewalld中禁用紧急模式

现在这一次,将有来自google.com的ping请求。