HCRM博客

CentOS防火墙文件详解,如何配置和管理?

CentOS防火墙文件详解

一、

CentOS防火墙文件详解,如何配置和管理?-图1
(图片来源网络,侵权删除)

CentOS 7及更高版本默认使用firewalld作为防火墙管理工具,相较于传统的iPTAbles,firewalld通过区域和服务的方式简化了配置过程,本文将详细介绍firewalld的核心概念、常用命令和操作实例,帮助读者更好地理解和管理服务器的网络连接。

二、核心概念

区域(Zone)

区域是firewalld中的一个重要概念,用于定义网络接口的分组,每个区域可以定义一组预定义的安全规则,常见的预定义区域包括:

drop:任何传入本机的网络数据包都会被丢弃,并且不会回复,只允许本机对外访问其他服务器。

block:任何传入本机的网络连接请求都会被拒绝,并回复一条拒绝访问的消息。

public:适用于公共网络环境,仅接受特定的连接请求,如某些特定的IP或开放特定端口。

CentOS防火墙文件详解,如何配置和管理?-图2
(图片来源网络,侵权删除)

external:与public类似,但默认仅开放ssh连接请求的22端口。

dmz:与external相同。

work:适用于工作网络环境,信任大部分其他计算机不会对本机进行攻击。

home:适用于家庭网络环境,信任网络上的其他计算机不会攻击本机。

internal:与home相同。

trusted:所有对本机的网络连接请求都会被接受。

CentOS防火墙文件详解,如何配置和管理?-图3
(图片来源网络,侵权删除)

服务(Service)

服务是一组预定义的规则集合,可以通过名称来指代一组特定的端口和协议,HTTP服务通常使用端口80,而HTTPS服务使用端口443,常用的服务包括ssh、http、https等。

端口(Port)

端口用于标识网络服务的数字,每个网络服务都会监听特定的端口以便于通信,SSH服务通常监听22端口,HTTP服务监听80端口。

三、常用命令

以下是一些常用的firewalld命令及其解释:

启动/停止/重启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/目录下,其中主要的配置文件有:

firewalld.conf:firewalld的主要配置文件。

zones/:每个区域的配置文件都在这个目录下,例如public.xml,internal.xml等。

services/:包含每个服务的XML文件,例如http.xml,ssh.xml等。

六、FAQs

Q1: 如何永久关闭防火墙?

A1: 要永久关闭firewalld,你需要先停止服务,然后禁用开机启动。

停止 firewalld 服务
systemctl stop firewalld
禁用 firewalld 开机启动
systemctl disable firewalld

Q2: 如何查看当前活跃的区域及其绑定的网络接口?

A2: 你可以使用以下命令查看当前活跃的区域及其绑定的网络接口:

firewallcmd getactivezones

通过上述内容,你应该能够熟练地使用firewalld来保护和管理你的CentOS服务器,记得根据实际需求和安全策略及时更新防火墙规则,以确保服务器的安全性和稳定性。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/17271.html

分享:
扫描分享到社交APP
上一篇
下一篇