RHEL/CentOS的firewalld防火墙服务配置

从 RHEL/CentOS 7开始,使用新的防火墙服务——firewalld。这里介绍该防火墙服务的基本用法
一、防火墙服务管理:从 RHEL/CentOS 7开始采用Systemd作为新的系统管理器,而systemctl则是Systemd中用于管理服务的命令

# 启动防火墙服务
systemctl start firewalld# 停止防火墙服务
systemctl stop firewalld# 重启防火墙服务
systemctl restart firewalld# 查看防火墙服务状态
systemctl status firewalld# 防火墙服务 设置开机自启
systemctl enable firewalld# 防火墙服务 取消开机自启
systemctl disable firewalld

二、防火墙配置
firewalld提供了命令行客户端——firewall-cmd用于实现配置、修改防火墙规则
在firewalld中引入zone区域的概念。可以按网卡接口、网络连接的源地址将网络流量归属到不同的区域下进行管理。每个区域使用独立的防火墙规则。故一个网格连接只能属于一个区域,但一个区域拥有多个网络连接。当一个网络流量不属于任何一个区域管理时,则会使用默认区域(通常,该默认区域为public区域)

# 查看所有区域的名称
firewall-cmd --get-zones# 查看所有区域的详情
firewall-cmd --list-all-zones# 查看指定区域的详情(防火墙规则)
firewall-cmd --zone=<区域名称> --list-all# 查看默认区域
firewall-cmd --get-default-zone# 设置默认区域
firewall-cmd --set-default-zone <区域名称># 查看活动的区域 及其配置的 网卡接口、源地址
# (一个区域如果配置了 网卡接口 或 网络连接的源地址,即为active zone活动区域)
firewall-cmd --get-active-zones# 查看指定网卡接口所属的区域
firewall-cmd --get-zone-of-interface=<网卡接口名称># 向指定区域 添加 网卡接口
firewall-cmd --zone=<区域名称> --add-interface=<网卡接口名称># 从指定区域 移除 网卡接口
firewall-cmd --zone=<区域名称> --remove-interface=<网卡接口名称># 查看指定源地址所属的区域
firewall-cmd --get-zone-of-source=<源地址># 向指定区域 添加 源地址
firewall-cmd --zone=<区域名称> --add-source=<源地址># 从指定区域 移除 源地址
firewall-cmd --zone=<区域名称> --remove-source=<源地址>

三、控制端口
开放端口

# 对指定区域,开放端口
firewall-cmd --zone=<区域名称>  --add-port=<端口号>[-端口号]/<协议># 对public区域,开放tcp协议83端口
firewall-cmd --zone=public  --add-port=83/tcp# 对public区域,开放udp协议的10、11、12、13、14、15端口
firewall-cmd --zone=public  --add-port=10-15/udp

删除端口,相当于禁用端口

# 从指定区域,删除端口
firewall-cmd --zone=<区域名称>  --remove-port=<端口号>[-端口号]/<协议># 对public区域,删除tcp协议的83端口
firewall-cmd --zone=public  --remove-port=83/tcp# 对public区域,删除udp协议的10、11、12、13、14、15端口
firewall-cmd --zone=public  --remove-port=10-15/udp

查看所有开放的端口

# 查看指定区域下,所有开放的端口
firewall-cmd --zone=<区域名称> --list-ports# 查询指定区域下,指定协议的端口是否开放,结果yes表示开放,结果no表示未开放
firewall-cmd --zone=<区域名称> --query-port=<端口>/<协议># 查看public区域下,tcp协议的19999端口是否开放
firewall-cmd --zone=public --query-port=19999/tcp

使用服务
在firewalld中引入了服务service的概念,可以将其理解为一系列端口的集合。这样只需添加相应的服务到防火墙规则中,即可打开该服务关联的所有端口。firewalld中已经预定义了一部分service服务及其相应的端口

# 查看所有预定义的服务
firewall-cmd --get-services

预定义服务的xml文件位于 /usr/lib/firewalld/services/ 下,可通过查看相应服务的xml文件确认其所关联的端口

此外我们还可以自定义服务及其关联的端口集合,自定义服务xml文件的写法可以去抄预定义服务xml文件的作业;然后将自定义服务的xml文件存放于 /etc/firewalld/services 路径下;最后执行 firewall-cmd --reload 命令,使得自定义服务的xml文件生效。此时就可以像使用预定义服务一样,去使用自定义服务了(自定义服务的服务名即为xml文件的文件名,例如demo1.xml文件对应的服务名即为demo1)

# 查看指定区域下添加的服务
firewall-cmd --zone=<区域名称> --list-service# 查询指定区域下,指定的服务是否被添加到该区域,结果yes表示已添加,结果no表示未添加
firewall-cmd --zone=<区域名称> --query-service=<服务名># 向指定区域中添加服务
firewall-cmd --zone=<区域名称> --add-service=<服务名># 从指定区域中移除服务
firewall-cmd --zone=<区域名称> --remove-service=<服务名>

Note
Runtime Mode 运行时模式、Permanent Mode 永久模式
Runtime Mode 运行时模式:通过 firewall-cmd 修改防火墙配置时,默认只会对当前立即有效,即所谓的Runtime Mode 运行时模式。防火墙服务重启后将会失效

Permanent Mode 永久模式:如果期望防火墙服务重启后使用新配置,可在firewall-cmd命令中使用 --permanent选项。此时新配置将不会在当前立即生效,而是在重启防火墙服务后永久生效。即所谓的Permanent Mode 永久模式

如果期望同时修改两种模式(运行时模式、永久模式)下的配置,可有下述两种方式实现。这里推荐使用方式1,这样可以实现在将新配置应用到永久模式前,能够立即验证修改配置的效果

# 在 运行时模式下 修改防火墙配置
firewall-cmd <other options># 将修改后的所有配置保存到永久模式下,使得防火墙服务重启后新配置依然生效。即修改了永久模式的配置
firewall-cmd --runtime-to-permanent
# 在 永久模式下 修改防火墙配置
firewall-cmd --permanent <other options># 重新加载配置,使得修改后的所有配置在当前立即生效。即修改了运行时模式的配置
firewall-cmd --reload

timeout 选项
通过远程访问服务器时,一旦使用错误配置可能会导致用户锁定自身的机器,无法再次登陆访问。故可以使用 --timeout 选项 避免发生该问题。在达到超时时间后,相关更改会恢复到之前的状态。此外使用该选项时,将无法使用–permanent选项

# 向pulbic区域添加名为demo6的服务,并在5分钟后撤销此配置
firewall-cmd --zone=public --add-service=demo6 --timeout 5m

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌Gemini刚发就惹质疑:测试标准有失偏颇,效果视频疑似剪辑

梦晨 克雷西 发自 凹非寺 量子位 | 公众号 QbitAI 谷歌憋了许久的大招&#xff0c;双子座Gemini大模型终于发布&#xff01;其中一图一视频最引人注目&#xff1a; 一图&#xff0c;MMLU多任务语言理解数据集测试&#xff0c;Gemini Ultra不光超越GPT-4&#xff0c;甚至超越了…

OpenGL学习资料

1.学习网站 Song Ho Ahn LearnOpenGL GAMES101:现代计算机图形学入门 OpenGL 官网 2.书籍 Fundamentals of computer graphics OpenGL ES 3.0编程指南 计算机图形学(OpenGL版)第3版 3.参考的一些文章 颜色缓冲区 深度缓冲 VBO&#xff0c;VAO和EBO详解 深入探索透视投影变…

实战干货!基于ERNIE Bot SDK的数字诗人聊天开发教程

随着人工智能技术的不断迭代发展&#xff0c;数字人的开发与应用需求也与日俱增&#xff0c;并且随着大语言模型的发展&#xff0c;数字人也更智能&#xff0c;从最初的语音预制到现在的实时交流&#xff0c;目前已在很多场景都有广泛应用。 虚拟客服&#xff1a;数字人可以通…

Mysql自动备份脚本(本地备份、远程备份、删除冗余备份)

Mysql自动备份脚本&#xff08;本地备份、远程备份、删除冗余备份&#xff09; 1. 脚本功能 自动备份mysql数据到服务器上&#xff0c;可以通过linux的 crontab定义备份周期。 自动删除七天前的备份数据。 2. 脚本内容 #!/bin/bash # auth Eric source /etc/profile # 设…

【EMNLP 2023】基于知识迁移的跨语言机器阅读理解算法

近日&#xff0c;阿里云人工智能平台PAI与华南理工大学朱金辉教授团队、达摩院自然语言处理团队合作在自然语言处理顶级会议EMNLP2023上发表基于机器翻译增加的跨语言机器阅读理解算法X-STA。通过利用一个注意力机制的教师来将源语言的答案转移到目标语言的答案输出空间&#x…

计算机网络高频面试八股文

目录&#xff1a; 网络分层结构三次握手两次握手可以吗&#xff1f;四次挥手第四次挥手为什么要等待2MSL&#xff1f;为什么是四次挥手&#xff1f;TCP有哪些特点&#xff1f;说说TCP报文首部有哪些字段&#xff0c;其作用又分别是什么&#xff1f;TCP和UDP的区别&#xff1f;…

套接字应用程序

这章节是关于实现 lib_chan 库的 。 lib_chan 的代码在 TCP/IP 之上实现了一个完整的网络层&#xff0c;能够提供认证和Erlang 数据流功能。一旦理解了 lib_chan 的原理&#xff0c;就能量身定制我们自己的通信基础结构&#xff0c;并把它叠加在TCP/IP 之上了。 就lib_chan 本身…

MMLM之Gemini:《Introducing Gemini: our largest and most capable AI model》的翻译与解读

MMLM之Gemini&#xff1a;《Introducing Gemini: our largest and most capable AI model》的翻译与解读 导读&#xff1a;2023年12月6日&#xff0c;Google重磅发布大规模多模态模型Gemini&#xff0c;表示了Google语言模型发展到了一个新阶段&#xff0c;其多模态和通用能力明…

中断、异常和系统调用(2-1,2-2,2-3)

2-1 课堂练习2.1&#xff1a;外部中断 本实训分析 Linux 0.11 对外部中断的响应和处理过程。在每条指令执行的末尾&#xff0c;如果没有关中断&#xff0c;CPU 会检查是否收到了外部中断信号&#xff0c;如果有信号&#xff0c;则 CPU 就切换到核心态去执行对应的中断处理程序…

Android 获取进程名称

Android 获取进程名称 本篇文章主要获取下当前应用的进程名称,具体代码如下: public static String getProcessNameDevice(final Context context) {int myPid Process.myPid();if (context null || myPid < 0) {return "";}ActivityManager.RunningAppProces…

DHTMLX Scheduler PRO 6.0.5 Crack

功能丰富的 JavaScript调度程序 DHTMLX Scheduler 是一个 JavaScript 日程安排日历&#xff0c;具有 10 个视图和可定制的界面&#xff0c;用于开发任何类型的日程安排应用程序。 DHTMLX JS 调度程序库的主要特性 我们的 JS 调度程序最需要的功能之一是时间轴视图。借助时间轴…

vue-loader是如何工作的?

什么是单文件组件&#xff1f; 单文件组件是一种将模板、脚本和样式封装在一个 .vue 文件中的方式 例如&#xff1a; <template><div class"example">{{ msg }}</div> </template> <script>export default {data() {return {msg: &qu…

【语义分割数据集】——imagenet语义分割

地址&#xff1a;https://github.com/LUSSeg/ImageNet-S 1 例图 2. 类别和数量信息 疑问 根据原文的描述&#xff1a;Based on the ImageNet dataset, we propose the ImageNet-S dataset with 1.2 million training images and 50k high-quality semantic segmentation annot…

【JNPF】好用、高性价比的低代码开发平台

目录 1.JNPF介绍 突出优势 2.JNPF的开放性与扩展性 平台的开放性&#xff1a; 平台高拓展性 在快速发展的软件开发领域&#xff0c;低代码平台已经成为了一种重要的开发方法&#xff0c;它使非专业开发人员也能够参与到软件开发中去&#xff0c;大大加速了软件开发的效率。…

2023年总结和2024年展望(以ue为主攻)

2023年就要过去了&#xff0c;总结下&#xff1a; 先说好的地方 1&#xff0c;pbr材质集成到了osg中&#xff0c;加上直接光和间接光。终于知道pbr咋回事了。光线追踪的视频也跟着敲了一个。 2&#xff0c;得到了认可。拿到了半年奖&#xff0c;leader让我明年和架构师一起进行…

Leetcode—2034.股票价格波动【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—2034.股票价格波动 算法思想 实现代码 class StockPrice { public:int last 0;multiset<int> total;unordered_map<int, int> m;StockPrice() {}void update(int timestamp, int price) {if(m.count(time…

VUE学习一、环境的安装

1.node.js安装 node.js是前端依赖的环境, 类似于java中的jdk 下载地址 node.js 下载 msi文件 下完就是一顿嘎嘎安装 , 安装后可以cmd看看node和npm的版本 1.2 yarn的安装 Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管…

计算机图形学——消隐算法

目录 消隐算法 &#xff08;1&#xff09;隐藏线消除算法 &#xff08;2&#xff09;隐藏面消除算法 曲面体消隐算法 3D Mesh 隐藏面消除算法 &#xff08;1&#xff09;深度缓冲器算法&#xff08;zBuffer&#xff09; 深度缓冲器 &#xff08;2&#xff09;深度排序…

SpringBoot的监控(Actuator) 功能

目录 0、官方文档 一、引入依赖 二、application.yml文件中开启监控 三、具体使用 四、具体细节使用 五、端点开启与禁用 六、定制Endpoint 1. 定制 /actuator/health 2. 定制 /actuator/info &#xff08;1&#xff09;直接在配置文件中写死 &#xff08;2&#xff…

分页显示功能函数的核心 代码主要参考思路

分页显示功能函数的核心 代码主要参考思路 package org.utils;import java.util.List;import org.entity.Student;/*** * author 24519* 分页的工具类**/ public class PageUtils {//页大小&#xff08;每页显示多少条记录&#xff09;private int pageSize;//当前页private in…