CentOS防火墙(Firewalld)全面指南
CentOS 7及更高版本默认使用firewalld
作为防火墙管理工具,本文将详细介绍firewalld
的概念、常用命令和操作实例,帮助你更好地理解和管理服务器的网络连接。
一、基本概念
firewalld
是iptables
的前端,通过区域和服务的方式简化了配置过程,以下是一些核心概念:
1、区域(Zone):网络接口分组,每个区域可以定义一组预定义的安全规则,例如公共、私有、内部、信任等。
2、服务(Service):一组预定义的规则集合,可以通过名称来指代一组特定的端口和协议,例如HTTP服务通常使用端口80,HTTPS服务通常使用端口443。
3、端口(Port):用于标识网络服务的数字,每个网络服务都会监听特定的端口以便于通信。
二、常用命令
启动/停止/重启firewalld
服务
启动 firewalld systemctl start firewalld 查看 firewalld 状态 systemctl status firewalld 停止 firewalld systemctl stop firewalld 重启 firewalld systemctl restart firewalld
查看所有区域
firewallcmd getzones
查看指定区域的规则
firewallcmd zone=public listall
开放端口
添加端口到 public 区域 firewallcmd zone=public addport=80/tcp permanent 重新加载防火墙配置 firewallcmd reload
添加服务
添加 HTTP 服务到 public 区域 firewallcmd zone=public addservice=http permanent 重新加载防火墙配置 firewallcmd reload
删除端口/服务
删除端口 80 从 public 区域 firewallcmd zone=public removeport=80/tcp permanent 重新加载防火墙配置 firewallcmd reload
三、实例操作
开放 SSH 访问(端口 22)
firewallcmd zone=public addservice=ssh permanent firewallcmd reload
开放 HTTP 和 HTTPS 服务
firewallcmd zone=public addservice=http permanent firewallcmd zone=public addservice=https permanent firewallcmd reload
将网络接口从默认的 public 区域移动到 trusted 区域
firewallcmd zone=trusted changeinterface=eth0 permanent firewallcmd reload
禁止 Ping 请求
firewallcmd zone=public icmpblockinversion permanent firewallcmd reload
允许特定 IP 访问 SSH 端口
firewallcmd zone=public addrichrule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' permanent firewallcmd reload
四、配置文件路径
firewalld
的配置文件位于/etc/firewalld/
目录下,其中主要的配置文件有:
1、firewalld.conf
:firewalld
的主要配置文件。
2、zones/
:每个区域的配置文件都在这个目录下,例如public.xml
,internal.xml
等。
3、services/
:包含每个服务的 XML 文件,例如http.xml
,ssh.xml
等。
五、FAQs
Q1:如何永久关闭防火墙?
A1: 要永久关闭firewalld
,你需要先停止服务,然后禁用开机启动。
停止 firewalld 服务 systemctl stop firewalld 禁用 firewalld 开机启动 systemctl disable firewalld
Q2:如何查看当前活跃的区域及其绑定的网络接口?
A2: 你可以使用以下命令查看当前活跃的区域及其绑定的网络接口:
firewallcmd getactivezones
firewalld
是一个功能强大且灵活的防火墙管理工具,适用于各种复杂的网络环境,通过上述内容,你应该能够熟练地使用firewalld
来保护和管理你的 CentOS 服务器,记得根据实际需求和安全策略及时更新防火墙规则,以确保服务器的安全性和稳定性。