【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作

简介: 【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作

前言

理解和有效地配置防火墙是任何系统管理员的重要任务之一。在Linux系统中,CentOS防火墙(Firewalld)是一个强大的工具,可以帮助保护服务器免受恶意网络活动的侵害。本文将详细介绍CentOS防火墙的基本概念、常用命令以及实例操作,帮助你更好地了解和管理防火墙设置。

正文

CentOS防火墙(Firewalld)是Linux系统中一种用于管理网络连接的工具,它可以配置和控制系统的网络流量,保护系统免受恶意网络活动的侵害。以下是CentOS防火墙的详细讲解:

Firewalld基础概念:

  1. 区域(Zone):Firewalld将网络接口分组到不同的区域中,每个区域可以定义一组预定义的安全规则,例如公共、私有、内部、信任等。
  2. 服务(Service):服务是一组预定义的规则集合,可以通过名称来指代一组特定的端口和协议。例如,HTTP服务通常使用端口80,HTTPS服务通常使用端口443。

3.端口(Port):端口是用于标识网络服务的数字,每个网络服务都会监听特定的端口以便于通信。防火墙可以通过允许或者拒绝端口的访问来控制网络流量。

Firewalld常用命令:

通过修改这些配置文件,你可以自定义Firewalld的行为,但记得在修改后重新加载防火墙配置。

以上就是CentOS防火墙(Firewalld)的详细讲解,希望对你有所帮助。

  1. 启动/停止/重启Firewalld服务:
sudo systemctl start firewalld
sudo systemctl stop firewalld
sudo systemctl restart firewalld

查看Firewalld状态:

sudo firewall-cmd --state

查看所有区域:

sudo firewall-cmd --get-zones

查看指定区域的规则:

sudo firewall-cmd --zone=public --list-all

开放端口:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

添加服务:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

删除端口/服务:

sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --zone=public --remove-service=http --permanent
sudo firewall-cmd --reload

Firewalld实例操作:

  1. 开放SSH访问(端口22):
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload

开放HTTP和HTTPS服务:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

将网络接口从默认的public区域移动到trusted区域:

sudo firewall-cmd --zone=trusted --change-interface=eth0
sudo firewall-cmd --reload

禁止Ping请求:

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" protocol="icmp" icmp-type="echo-request" drop' --permanent
sudo firewall-cmd --reload

允许特定IP访问SSH端口:

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' --permanent
sudo firewall-cmd --reload

Firewalld配置文件路径:
Firewalld的配置文件位于/etc/firewalld/目录下,其中主要的配置文件有:

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

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

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

结语

通过本文的学习,你应该对CentOS防火墙有了更深入的了解,并能够使用Firewalld命令来配置和管理服务器的网络连接。记得根据实际需求和安全策略,及时更新防火墙规则,以确保服务器的安全性和稳定性。

相关文章
|
NoSQL Linux 编译器
GDB符号表概念和在Linux下获取符号表的方法
通过掌握这些关于GDB符号表的知识,你可以更好地管理和理解你的程序,希望这些知识可以帮助你更有效地进行调试工作。
580 16
|
Unix Linux
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
282 20
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2286 25
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
475 5
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
1505 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
617 10
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
899 0
|
存储 Linux Shell
Linux进程概念-详细版(二)
在Linux进程概念-详细版(一)中我们解释了什么是进程,以及进程的各种状态,已经对进程有了一定的认识,那么这篇文章将会继续补全上篇文章剩余没有说到的,进程优先级,环境变量,程序地址空间,进程地址空间,以及调度队列。
252 0
|
Linux 调度 C语言
Linux进程概念-详细版(一)
子进程与父进程代码共享,其子进程直接用父进程的代码,其自己本身无代码,所以子进程无法改动代码,平时所说的修改是修改的数据。为什么要创建子进程:为了让其父子进程执行不同的代码块。子进程的数据相对于父进程是会进行写时拷贝(COW)。
321 0
|
存储 Linux 调度
【Linux】进程概念和进程状态
本文详细介绍了Linux系统中进程的核心概念与管理机制。从进程的定义出发,阐述了其作为操作系统资源管理的基本单位的重要性,并深入解析了task_struct结构体的内容及其在进程管理中的作用。同时,文章讲解了进程的基本操作(如获取PID、查看进程信息等)、父进程与子进程的关系(重点分析fork函数)、以及进程的三种主要状态(运行、阻塞、挂起)。此外,还探讨了Linux特有的进程状态表示和孤儿进程的处理方式。通过学习这些内容,读者可以更好地理解Linux进程的运行原理并优化系统性能。
548 4