当前位置:首页 > 行业动态 > 正文

CentOS7使用firewalld打开关闭防火墙与端口

使用firewalld管理防火墙与端口

CentOS7使用firewalld打开关闭防火墙与端口  第1张

在CentOS 7中,firewalld是默认的防火墙管理工具,它提供了一个动态管理的防火墙,支持网络“区域”以逻辑上对网络进行分组和防火墙规则的管理,下面将详细介绍如何使用firewalld打开、关闭防火墙以及如何管理端口。

安装firewalld

在大多数CentOS 7系统中,firewalld已经预装,如果没有,可以通过以下命令安装:

sudo yum install firewalld

启动firewalld服务

安装完成后,需要启动firewalld服务:

sudo systemctl start firewalld

如果希望firewalld在系统启动时自动运行,可以启用该服务:

sudo systemctl enable firewalld

查看firewalld状态

使用以下命令检查firewalld服务的状态:

sudo systemctl status firewalld

关闭防火墙

要临时关闭防火墙,可以使用以下命令:

sudo systemctl stop firewalld

要永久关闭防火墙并禁止其开机自启,可以执行:

sudo systemctl disable firewalld

配置防火墙规则

firewalld通过管理不同的网络区域(zones)来控制网络访问,每个区域有一组预定义的规则,这些规则决定了哪些服务和端口是开放的。

查看可用区域

列出所有可用的区域:

sudo firewallcmd getactivezones

查看当前区域设置及规则

显示当前活动区域及其规则:

sudo firewallcmd listall

修改默认区域

设置默认区域为public(或其他区域):

sudo firewallconfig setdefaultzone=public

添加端口到区域

允许特定端口通过防火墙,例如开放端口80(HTTP)和443(HTTPS):

sudo firewallcmd permanent zone=public addport=80/tcp
sudo firewallcmd permanent zone=public addport=443/tcp

重新加载防火墙规则

应用更改后,需要重新加载防火墙规则:

sudo firewallcmd reload

删除端口规则

要从区域中删除端口规则,可以使用:

sudo firewallcmd permanent zone=public removeport=80/tcp
sudo firewallcmd permanent zone=public removeport=443/tcp

然后再次重新加载防火墙规则。

相关问答FAQs

Q1: 如果忘记重新加载防火墙规则会发生什么?

A1: 如果你添加或删除了端口规则但忘记重新加载防火墙,这些更改将不会被应用,只有重新加载后,新的规则才会生效。

Q2: 如何在不重启服务的情况下立即禁用一个端口?

A2: 你可以立即禁用一个端口,无需重新启动firewalld服务,只需使用removeport选项,然后重新加载规则即可。

sudo firewallcmd zone=public removeport=80/tcp
sudo firewallcmd reload

通过以上步骤,你可以在CentOS 7上有效地使用firewalld来管理防火墙和端口,记得在每次更改规则后重新加载防火墙,以确保更改立即生效。

0