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

如何在CentOS 7中配置和管理防火墙?

CentOS7默认使用firewalld作为防火墙,它通过区域(zone)和规则来管理网络流量。

CentOS 7防火墙配置详解

CentOS 7引入了firewalld作为默认的防火墙管理工具,相较于传统的iptables,firewalld提供了更为动态和灵活的防火墙规则管理方式,本文将详细介绍如何在CentOS 7中配置和管理firewalld防火墙。

如何在CentOS 7中配置和管理防火墙?  第1张

一、firewalld的基本操作

1、启动与停止

启动firewalld服务:systemctl start firewalld

停止firewalld服务:systemctl stop firewalld

查看firewalld状态:systemctl status firewalld

重启firewalld服务:systemctl restart firewalld

设置开机自启:systemctl enable firewalld

取消开机自启:systemctl disable firewalld

2、查看版本与帮助

查看版本:firewall-cmd --version

查看帮助:firewall-cmd --help

3、显示状态与查询

显示当前状态:firewall-cmd --state

查询是否拒绝所有包:firewall-cmd --query-panic

二、配置防火墙区域(Zone)

firewalld使用区域来定义不同的信任级别,每个区域对应不同的防火墙规则,常用的区域包括drop、block、public、external、work、home、internal、trusted等。

查看活动区域:firewall-cmd --get-active-zones

指定接口区域:firewall-cmd --zone=<区域> --change-interface=<接口>

查看接口所属区域:firewall-cmd --get-zone-of-interface=<接口>

三、端口与服务管理

1、开放与关闭端口

开放端口:firewall-cmd --permanent --add-port=80/tcp(永久生效)

关闭端口:firewall-cmd --permanent --remove-port=80/tcp

重新载入配置:firewall-cmd --reload

2、服务管理

添加服务到特定区域:firewall-cmd --permanent --add-service=http

移除服务:firewall-cmd --permanent --remove-service=http

四、IP地址伪装与端口转发

1、IP地址伪装

查看伪装状态:firewall-cmd --zone=external --query-masquerade

开启伪装:firewall-cmd --zone=external --add-masquerade

关闭伪装:firewall-cmd --zone=external --remove-masquerade

2、端口转发

添加端口转发规则:firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753

删除端口转发规则:firewall-cmd --zone=external --remove-forward-port=port=22:proto=tcp:toport=3753

五、自定义复杂规则

可以通过添加富规则(rich rules)来实现更复杂的防火墙策略,例如允许或拒绝特定IP访问特定端口。

添加富规则

允许特定IP访问本机8080端口:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'

禁止特定IP访问本机8080端口:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'

六、FAQs

Q1: 如何更改防火墙的默认区域?

A1: 可以通过修改区域的配置文件或使用firewall-cmd命令来更改,要将公共区域设置为默认区域,可以使用以下命令:

firewall-cmd --set-default-zone=public

Q2: 如何备份与恢复firewalld配置?

A2: firewalld的配置存储在/usr/lib/firewalld/和/etc/firewalld/目录下的XML文件中,备份这些文件即可备份整个配置,恢复时,只需将这些文件复制回原位置并重启firewalld服务即可。

小编有话说

CentOS 7的firewalld防火墙提供了强大的动态管理功能,使得防火墙规则的管理变得更加灵活和便捷,通过合理配置防火墙区域、端口和服务,可以有效地保护系统免受未经授权的访问和攻击,记得定期备份防火墙配置,以防不测,希望本文能帮助大家更好地理解和使用CentOS 7的firewalld防火墙。

0