HCRM博客

如何高效配置与管理CentOS防火墙?

CentOS防火墙(Firewalld)全面指南

CentOS 7及更高版本默认使用firewalld 作为防火墙管理工具,本文将详细介绍firewalld 的概念、常用命令和操作实例,帮助你更好地理解和管理服务器的网络连接。

如何高效配置与管理CentOS防火墙?-图1
(图片来源网络,侵权删除)

一、基本概念

firewalldiptables 的前端,通过区域和服务的方式简化了配置过程,以下是一些核心概念:

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

查看所有区域

如何高效配置与管理CentOS防火墙?-图2
(图片来源网络,侵权删除)
  • 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 服务

如何高效配置与管理CentOS防火墙?-图3
(图片来源网络,侵权删除)
  • 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.conffirewalld 的主要配置文件。

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 服务器,记得根据实际需求和安全策略及时更新防火墙规则,以确保服务器的安全性和稳定性。

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

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