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

🍎个人博客:个人主页

🏆个人专栏:Linux

⛳️ 功不唐捐,玉汝于成


目录

前言

正文

Firewalld基础概念:

Firewalld常用命令:

启动/停止/重启Firewalld服务:

查看Firewalld状态:

查看所有区域:

查看指定区域的规则:

开放端口:

添加服务:

删除端口/服务:

Firewalld实例操作:

开放SSH访问(端口22):

开放HTTP和HTTPS服务:

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

禁止Ping请求:

允许特定IP访问SSH端口:

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)的详细讲解,希望对你有所帮助。

启动/停止/重启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实例操作:

开放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命令来配置和管理服务器的网络连接。记得根据实际需求和安全策略,及时更新防火墙规则,以确保服务器的安全性和稳定性。

我的其他博客

【MySQL】数据库规范化的三大法则 --- 一探范式设计原则-CSDN博客

【JAVA】线程的run()和start()有什么区别?-CSDN博客

【日常聊聊】程序员必备的面试技巧:如何在面试战场上脱颖而出-CSDN博客

【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁-CSDN博客

【JAVA】怎么确保一个集合不能被修改-CSDN博客

【Web开发】会话管理与无 Cookie 环境下的实现策略-CSDN博客

【Mybatis】Mybatis如何防止sql注入-CSDN博客

【软件工程】航行敏捷之路:深度解析Scrum框架的精髓-CSDN博客

【Spring】理解IoC与AOP:构建灵活而模块化的软件架构-CSDN博客

相关推荐
青椒大仙KI11几秒前
24/9/19 算法笔记 kaggle BankChurn数据分类
笔记·算法·分类
鱼饼6号11 分钟前
Prometheus 上手指南
linux·运维·centos·prometheus
WG_1713 分钟前
C++多态
开发语言·c++·面试
Asher Gu17 分钟前
Linux系统编程入门 | 模拟实现 ls -l 命令
linux
鱼跃鹰飞33 分钟前
Leetcode面试经典150题-130.被围绕的区域
java·算法·leetcode·面试·职场和发展·深度优先
c无序34 分钟前
【Linux进程控制】进程程序替换
linux
liangbm339 分钟前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
重生之我在20年代敲代码2 小时前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记