Linux 防火墙配置指南:firewalld 端口管理应用案例(二十个实列)

news2025/2/27 8:32:34

   

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧🐧Linux高级管理专栏:点击!

🔐Linux中firewalld防火墙点击!

⏰️创作时间:2024年7月5日9点11分

🀄️文章质量:95分

​​


目录

案例1: 开放单个端口

案例2: 开放端口范围

案例3: 开放UDP端口

案例4: 关闭特定端口

案例5: 查询特定端口是否开放

案例6: 列出所有开放的端口

案例7: 开放多个端口

案例8: 在特定区域开放端口

案例9: 临时开放端口(重启后失效)

案例10: 将端口转发到另一个IP

案例11: 在特定区域临时开放端口

案例12: 拒绝所有入站连接

案例13: 添加特定服务的规则

案例14: 移除特定服务的规则

案例15: 设置默认区域

案例16: 列出特定区域中的所有端口

案例17: 将网络接口分配到特定区域

案例18: 永久封禁某个IP地址

案例19: 允许特定IP地址的所有流量

案例20: 在特定区域启用端口转发

总结


前言

在本指南中,我们将通过十个实际案例,详细介绍如何使用 firewalld 管理和配置系统端口。无论您是刚开始学习 Linux 防火墙配置,还是希望深入了解 firewalld 的高级功能,这些案例都将为您提供实用的指导和参考。让我们一起探索如何确保系统安全并优化网络访问吧!

案例1: 开放单个端口

如果需要开放一个特定的端口,例如 8080 端口,可以使用以下命令:

firewall-cmd --permanent --add-port=8080/tcp
 

案例2: 开放端口范围

要开放一系列端口,例如从 5000 到 5500 端口,可以使用以下命令:

firewall-cmd --permanent --add-port=5000-5500/tcp
 

案例3: 开放UDP端口

如果需要开放一个 UDP 端口,例如 123 端口,可以使用以下命令:

firewall-cmd --permanent --add-port=123/udp
 

案例4: 关闭特定端口

如果需要关闭一个已经开放的端口,例如 8080 端口,可以使用以下命令:

firewall-cmd --permanent --remove-port=8080/tcp
 

案例5: 查询特定端口是否开放

要查询某个端口是否已经开放,例如 80 端口,可以使用以下命令:

firewall-cmd --query-port=80/tcp
 

案例6: 列出所有开放的端口

如果需要查看系统中所有已经开放的端口,可以使用以下命令:

firewall-cmd --list-ports
 

案例7: 开放多个端口

可以一次性开放多个端口,例如 3000、4000 和 5000 端口,可以使用以下命令:

firewall-cmd --permanent --add-port={3000/tcp,4000/tcp,5000/tcp}
 

案例8: 在特定区域开放端口

如果需要在特定区域(例如 public 区域)开放一个端口,例如 8888 端口,可以使用以下命令:

firewall-cmd --zone=public --permanent --add-port=8888/tcp
 

案例9: 临时开放端口(重启后失效)

如果只需要临时开放一个端口,例如 9999 端口,可以使用以下命令:

firewall-cmd --add-port=9999/tcp
 

案例10: 将端口转发到另一个IP

如果需要将一个端口的流量转发到另一个 IP 地址,例如将 80 端口的流量转发到 192.168.1.100 的 8080 端口,可以使用以下命令:

firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.100
 

案例11: 在特定区域临时开放端口

如果您希望在特定区域临时开放一个端口,可以使用以下命令。此更改将在系统重启后失效:

firewall-cmd --zone=public --add-port=7070/tcp
 

案例12: 拒绝所有入站连接

为了提高系统安全性,有时需要拒绝所有入站连接。可以使用以下命令来完成此操作:

firewall-cmd --panic-on

要取消此设置并恢复正常操作,请使用:

firewall-cmd --panic-off
 

案例13: 添加特定服务的规则

Firewalld 支持通过服务名来添加规则。例如,如果您希望开放 HTTP 服务,可以使用以下命令:

firewall-cmd --permanent --add-service=http
 

案例14: 移除特定服务的规则

如果您不再需要某个服务的规则,可以将其移除。例如,要移除 HTTP 服务的规则:

firewall-cmd --permanent --remove-service=http
 

案例15: 设置默认区域

默认区域是当接口未绑定到特定区域时所使用的区域。您可以通过以下命令设置默认区域为 public:

firewall-cmd --set-default-zone=public

案例16: 列出特定区域中的所有端口

要查看某个区域中所有开放的端口,可以使用以下命令。例如,列出 public 区域中的所有端口:

firewall-cmd --zone=public --list-ports
 

案例17: 将网络接口分配到特定区域

为了更好地管理网络流量,可以将特定的网络接口分配到指定区域。例如,将 eth0 接口分配到 public 区域:

firewall-cmd --zone=public --change-interface=eth0
 

案例18: 永久封禁某个IP地址

如果需要永久封禁来自某个 IP 地址的所有流量,可以使用以下命令:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
 

案例19: 允许特定IP地址的所有流量

相反,如果需要允许来自某个 IP 地址的所有流量,可以使用以下命令:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
 

案例20: 在特定区域启用端口转发

在某些情况下,您可能需要在特定区域内启用端口转发。例如,在 public 区域启用端口 8080 到 80 的转发:

firewall-cmd --zone=public --permanent --add-forward-port=port=80:proto=tcp:toport=8080
 

请记住,每次修改防火墙规则后,都需要重新加载防火墙配置以使更改生效:

firewall-cmd --reload
通过以上这些实例,您可以更加灵活地使用 firewalld 管理和配置系统端口,确保系统的安全性和网络的高效访问。

总结

这些例子涵盖了常见的服务器角色和应用场景。在实际操作中,我们还需要根据具体的网络拓扑、安全策略和应用需求来精细调整防火墙规则。例如,可能需要限制特定IP地址或网段的访问,设置端口转发,或者配置更复杂的富规则等。

此外,作为一个经验丰富的Linux运维工程师,我还建议定期审核防火墙规则,移除不再需要的规则,并使用如firewall-cmd --list-all这样的命令来检查当前的防火墙配置,确保系统安全性和性能的平衡。

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

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

相关文章

解决vscode配置C++编译带有中文名称报错问题

在新电脑上安装vscode运行带有中文路径和中文名称的C代码时遇到报错 根据别人的教程将laugh.json文件中"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",改成了"program": "${fileDirname}\\output\\test.exe",&#x…

c与c++的内存管理

给出内存四个分区名字:栈区、堆区、全局区(俗话也叫静态变量区)、代码区(也叫代码段)(代码段又分很多种,比如常量区) 当然也会看到别的定义如: 两者都正确,记…

suricata7 rule加载(一)加载 action

suricata7.0.5 一、前提条件 1.1 关键字注册 main | --> SuricataMain|--> PostConfLoadedSetup|--> SigTableSetupsigmatch_table是一个全局数组,每个元素就是一个关键字节点,是对关键字如何处理等相关回调函数。非常重要的一个结构&#x…

【论文解读】AGENTLESS:揭开基于LLM的软件工程代理的神秘面纱,重塑软件工程自动化新基线

📜 文献卡 英文题目: Agentless: Demystifying LLM-based Software Engineering Agents;作者: Chunqiu Steven Xia; Yinlin Deng; Soren Dunn; Lingming ZhangDOI: 10.48550/arXiv.2407.01489摘要翻译: 大型语言模型(LLM)的最新进展显著推进…

【pytorch19】交叉熵

分类问题的loss MSECross Entropy LossHinge Loss (SVN用的比较多) ∑ i m a x ( 0 , 1 − y i ∗ h θ ( x i ) ) \sum_imax(0,1-y_i*h_\theta(x_i)) ∑i​max(0,1−yi​∗hθ​(xi​)) Entropy(熵) Uncertainty(…

使用 ESP32-WROOM + DHT11 做个无屏温湿度计

最近梅雨天,有个房间湿度很大,而我需要远程查看温湿度,所以无所谓有没有显示屏,某宝上的温湿度计都是带屏的,如果连WIFI查看温湿度操作也比较麻烦,还需要换电池,实在不能满足我的需求&#xff0…

聊天广场(Vue+WebSocket+SpringBoot)

由于心血来潮想要做个聊天室项目 ,但是仔细找了一下相关教程,却发现这么多的WebSocket教程里面,很多都没有介绍详细,代码都有所残缺,所以这次带来一个比较完整得使用WebSocket的项目。 目录 一、效果展示 二、准备工…

python自动化办公之cryptography加密解密

目录 用到的库 实现效果 代码部分 1、加密2024.txt文件 2、解密2024.txt文件 用到的库 cryptography 实现效果 加密文件和解密文件 代码部分 1、加密2024.txt文件 # 加密 from cryptography.fernet import Fernet # 生成加密密钥 keyFernet.generate_key() cipher_s…

robotframework-appiumLibrary 应用 - 实现 app 自动化

1、安装appiumLibrary第三方库 运行pip命令:pip install robotframework-appiumlibrary 若已安装,需要更新版本可以用命令:pip install -U robotframework-appiumlibrary 2、安装app自动化环境。 参考我的另外一篇专门app自动化环境安装的…

baomidou多数据源切换注解@DS没有效果

baomidou多数据源切换注解DS没有效果 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.1.1</version> </dependency> ##原因 方法上有Transaction…

Android Studio Run窗口中文乱码解决办法

Android Studio Run窗口中文乱码解决办法 问题描述&#xff1a; AndroidStudio 编译项目时Run窗口中文乱码&#xff0c;如图&#xff1a; 解决方法&#xff1a; 依次打开菜单&#xff1a;Help--Edit Custom VM Options&#xff0c;打开studio64.exe.vmoptions编辑框&#xf…

2.1 tmux和vim

文章目录 前言概述tmuxvim总结 前言 开始学习的时间是 2024.7.6 ,13&#xff1a;47 概述 最好多使用&#xff0c;练成条件反射式的 直接使用终端的工具&#xff0c;可以连接到服务器&#xff0c;不需要使用本地的软件 tmux 这个主要有两个功能&#xff0c;第一个功能是分…

macOS查看系统日志的方法

1、command空格键打开搜索框&#xff0c;输入‘控制台’并打开 2、选择日志报告&#xff0c;根据日期打开自己需要的文件就可以

【vue组件库搭建05】vitePress中使用vue/antd/demo预览组件

一、vitepress使用vue及antd组件 1.安装antd之后在docs\.vitepress\theme\index.ts引入文件 // https://vitepress.dev/guide/custom-theme import { h } from vue import type { Theme } from vitepress import DefaultTheme from vitepress/theme import ./style.css impor…

智慧矿山建设规划方案(121页Word)

智慧矿山建设项目方案摘要 一、项目背景及现状分析 项目背景 随着信息技术的迅猛发展&#xff0c;智慧化、数字化已成为矿山行业转型升级的必然趋势。智慧矿山建设项目旨在通过集成先进的信息技术手段&#xff0c;实现对矿山生产、管理、安全等全过程的智能化监控与管理&…

大厂面试官赞不绝口的后端技术亮点【后端项目亮点合集(2)】

本文将持续更新~~ hello hello~ &#xff0c;这里是绝命Coding——老白~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff1a;绝命C…

【MYSQL】InnoDB引擎为什么选可重复读作为默认隔离级别

InnoDB引擎为什么选可重复读作为默认隔离级别 一般的DBMS系统&#xff0c;默认都会使用读提交&#xff08;Read-Comitted&#xff0c;RC&#xff09;作为默认隔离级别&#xff0c;如Oracle、SQL Server等&#xff0c;而MySQL却使用可重复读&#xff08;Read-Repeatable&#x…

一级指针 二级指针

目录 一级指针 二级指针 通过二级指针打印原数据 一级指针 一级指针就是存放变量的指针 代码演示&#xff1a; #include<stdio.h> int main() {int a 10;int* pa &a;return 0; } pa就是一级指针变量&#xff0c;是变量就会有地址&#xff0c;因为变量都是在…

Spring Boot 中的监视器是什么?有什么作用?

前言&#xff1a; 监听器相信熟悉 Spring、Spring Boot 的都知道&#xff0c;但是监视器又是什么&#xff1f;估计很多人一脸懵的状态&#xff0c;本篇分享一下 Spring Boot 的监视器。 Spring Boot 系列文章传送门 Spring Boot 启动流程源码分析&#xff08;2&#xff09; …

四端口千兆以太网交换机与 SFP 扩展功能

在数字化时代&#xff0c;网络基础设施的重要性日益凸显&#xff0c;它是企业和个人取得成功的关键支撑。配备 SFP 插槽的 4 端口千兆以太网交换机提供了一种灵活且可扩展的网络解决方案&#xff0c;能够应对快速的数据传输、低延迟以及不断增长的带宽需求。本篇文章深入探讨了…