当前位置: 首页 > news >正文

使用 firewall-cmd 管理 Linux 防火墙

firewalld-cmd命令翻译<一>
Linux 系统中,firewalld 是一个流行的动态防火墙管理工具, firewall-cmd 是它的命令行接口。通过 firewall-cmd,可以轻松地管理防火墙规则、配置区域(zones)、处理端口等。

这篇文章介绍了firewall-cmd 的常用功能。

1.启动和管理 `firewalld` 服务

启动、停止、重启和检查服务状态

# 启动 firewalld 服务
sudo systemctl start firewalld# 停止 firewalld 服务
sudo systemctl stop firewalld# 重启 firewalld 服务
sudo systemctl restart firewalld# 检查 firewalld 服务状态
sudo systemctl status firewalld# 设置 firewalld 开机自启动
sudo systemctl enable firewalld# 禁用 firewalld 开机自启动
sudo systemctl disable firewalld

这些命令用于管理 firewalld 服务的启动和停止。

2. 状态管理

这些命令用于查询 firewalld 的当前状态,或者重新加载防火墙配置。

  • --state:返回 firewalld 当前运行状态。
  • --reload:重新加载防火墙配置,但保留现有的状态信息。
  • --complete-reload:完全重新加载防火墙,清除所有当前状态,包括动态规则。
# 查询 firewalld 当前状态
firewall-cmd --state# 重新加载防火墙配置
firewall-cmd --reload

3. 区域管理(Zone Management)

防火墙中的区域(Zone)定义了不同的信任级别,并可以为每个区域分配不同的规则。

  • --get-default-zone:获取系统中默认的区域名称。
  • --set-default-zone=<zone>:设置某个区域为系统的默认区域。
  • --get-active-zones:列出当前激活的区域。
  • --list-all-zones :列出所有区域的详细信息 。
# 获取当前默认区域
firewall-cmd --get-default-zone# 设置新的默认区域
firewall-cmd --set-default-zone=public# 列出所有激活的区域
firewall-cmd --get-active-zones# 列出所有区域的详细信息
firewall-cmd --list-all-zones

4. 服务管理

防火墙的服务规则用于允许或阻止特定的服务。

  • --list-services:列出当前区域中启用的服务。
  • --add-service=<service>:为当前区域添加一个服务。
  • --remove-service=<service>:从当前区域移除一个服务。
# 列出区域中启用的服务
firewall-cmd --zone=public --list-services# 添加 HTTP 服务到当前区域
firewall-cmd --zone=public --add-service=http# 从当前区域移除 HTTP 服务
firewall-cmd --zone=public --remove-service=http

5. 端口管理

有时需要直接开放或关闭某个端口以允许特定的网络流量。

  • --list-ports:列出当前区域中开放的端口。
  • --add-port=<portid>/protocol:开放指定端口。
  • --remove-port=<portid>/protocol:关闭指定端口。
# 列出当前区域中开放的端口
firewall-cmd --zone=public --list-ports# 开放 8080 端口(TCP 协议)
firewall-cmd --zone=public --add-port=8080/tcp# 关闭 8080 端口
firewall-cmd --zone=public --remove-port=8080/tcp

6. 富规则(Rich Rules)

富规则允许你创建更复杂的规则,如基于 IP 地址的访问控制、日志记录等。

  • --add-rich-rule='<rule>':添加一个富规则。
  • --remove-rich-rule='<rule>':删除一个富规则。
  • --list-rich-rules:列出当前区域中的所有富规则。
# 添加一个允许从特定 IP 访问 SSH 的富规则
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'# 列出所有富规则
firewall-cmd --zone=public --list-rich-rules

7. 授权和锁定(Lockdown)

可以启用锁定模式,限制防火墙规则的更改,或管理白名单。

  • --lockdown-on:启用锁定模式,防止任何防火墙规则更改。
  • --lockdown-off:禁用锁定模式。
  • --query-lockdown:查询锁定模式是否启用。
# 启用锁定模式
firewall-cmd --lockdown-on# 禁用锁定模式
firewall-cmd --lockdown-off

8. 伪装和转发

在路由场景中,可能需要启用伪装(Masquerade)和端口转发。

  • --add-masquerade:启用 IP 伪装(NAT)。
  • --remove-masquerade:禁用 IP 伪装。
  • --add-forward-port:添加端口转发规则。
# 启用 IP 伪装
firewall-cmd --zone=public --add-masquerade# 添加端口转发,从 8080 转发到 80
firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toport=80

9. 直接规则(Direct Rules)

直接规则允许你绕过 firewalld,直接通过 iptables 创建规则。

  • --add-rule:为指定链添加规则。
  • --get-all-rules:列出所有直接规则。
  • --remove-rule:移除指定的直接规则。
# 列出所有直接规则
firewall-cmd --direct --get-all-rules# 添加一个直接规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 8080 -j ACCEPT

总结

通过 firewall-cmd,可以轻松管理 Linux 防火墙的各种规则和配置。无论是简单的端口开放还是复杂的富规则,firewalld 提供了灵活的工具集来保护系统。


相关文章:

使用 firewall-cmd 管理 Linux 防火墙

firewalld-cmd命令翻译<一> Linux 系统中&#xff0c;firewalld 是一个流行的动态防火墙管理工具&#xff0c; firewall-cmd 是它的命令行接口。通过 firewall-cmd&#xff0c;可以轻松地管理防火墙规则、配置区域&#xff08;zones&#xff09;、处理端口等。 这篇文章…...

鸿蒙OS试题

哪些是持续部署最佳实践? A. 灰度发布:先在小部分用户或区域进行部署&#xff0c;观察没问题后再全面推广 B.手工部署:持续部署可以采用手工部署的方式发布软件: 1、有一份非常详尽的文档&#xff0c;该文档描述了执行步骤及每个步骤中易出错的地方; 2、以手工测试来确认该…...

Flutter InkWell组件去掉灰色遮罩

当InkerWell组件内部获取到焦点时&#xff0c;会展示一层灰色遮罩 将focusColor属性设置为透明即可 Flutter InkWell焦点效果源码分析 问题描述 当 InkWell 组件获得焦点时&#xff0c;会显示一层灰色遮罩效果。需要找出这个效果是由哪些组件控制的&#xff0c;以及具体的…...

Android——metaData

获取元数据信息的步骤&#xff1a; 调用 getPackageManager 方法获得当前应用的包管理器调用包管理器的 getActivityInfo 方法获得当前活动的信息对象活动信息对象的 metaData 是 Bundle 包裹类型&#xff0c;调用包裹对象的 getString 即可获得指定名称的参数值 配置 metaDa…...

SLAM|1. 相机投影及相机畸变

一个能思考的人&#xff0c;才真是一个力量无边的人。——巴尔扎克 本章主要内容&#xff1a; 1.针孔相机模型 2.相机成像的几个坐标系图像 3.畸变及相机标定 本节主要介绍在照相机拍摄过程中&#xff0c;现实物体如何跟照片上的像素关联起来&#xff0c;具体涉及相机成像的物…...

nginx配置及虚拟主机

nginx配置及虚拟主机 一、http协议介绍1、网站类型2、涉及的软件3、http协议介绍 二、nginx安装、启动1、nginx介绍2、nginx安装3、nginx启动管理 三、nginx配置文件1、配置文件语法结构2、全局配置3、事件驱动模型的配置4、http的配置 四、虚拟主机配置1、类型2、基于名称的虚…...

ElasticSearch - Bucket Script 使用指南

文章目录 官方文档Bucket Script 官文1. 什么是 ElasticSearch 中的 Bucket Script&#xff1f;2. 适用场景3. Bucket Script 的基本结构4. 关键参数详解5. 示例官方示例&#xff1a;计算每月 T 恤销售额占总销售额的比率百分比示例计算&#xff1a;点击率 (CTR) 6. 注意事项与…...

Android的SQLiteOpenHelper类 笔记241027

SQLiteOpenHelper SQLiteOpenHelper是Android开发中用于管理SQLite数据库的一个非常重要的工具类。以下是对SQLiteOpenHelper的详细介绍&#xff1a; 一、基本概念 SQLiteOpenHelper是一个抽象类&#xff0c;它主要用于管理数据库的创建和版本管理。通过继承这个类&#xff…...

「Mac畅玩鸿蒙与硬件10」鸿蒙开发环境配置篇10 - 项目实战:计数器应用

本篇将通过一个简单的计数器应用,带你体验鸿蒙开发环境的实际操作流程。本项目主要练习组件的使用、事件响应和状态管理,帮助开发者熟悉基本的应用构建流程。 关键词 计数器应用组件操作事件响应状态管理HarmonyOS 应用开发一、创建计数器项目 1.1 在 DevEco Studio 中新建项…...

安卓逆向之ARM汇编寻址,汇编指令

一&#xff1a;ARM汇编寻址 1. 立即数寻址 (Immediate Addressing) 指令中直接给出一个常数值&#xff08;立即数&#xff09;&#xff0c;并对其进行操作。 MOV R0, #5 ; 将立即数5载入寄存器R02. 直接寻址 (Direct Addressing) 指令中给出的地址直接指定了内存中的一…...

Idea常见插件(超级实用)

文章目录 Idea好用的插件推荐Idea插件安装Chinese(中文版)Alibaba Java Coding Guidelines&#xff08;代码规范&#xff09;Auto Filling Java Arguments&#xff08;自动补全参数&#xff09;CamelCase&#xff08;变量名称格式转换&#xff09;CodeGeeX&#xff08;智能&…...

C++中如何获取时间并格式化为字符串?

在C中&#xff0c;你可以使用标准库中的 <chrono> 和 <iomanip> 头文件来获取当前时间并将其格式化为字符串。以下是一个简单的示例&#xff0c;展示了如何获取当前时间并将其格式化为一个可读的字符串&#xff08;例如&#xff1a;YYYY-MM-DD HH:MM:SS&#xff09…...

项目1 yolov5鱼苗检测计数

yolov5鱼苗检测 1. yolov5鱼苗检测1.1. 环境配置1.2 Predict1.3 Validate1.4 Train1.5 生成 ONNX 2 代码解析2.1 模型2.2 数据集2.3 损失函数2.4 训练2.5 预测 之前做的项目&#xff0c;再回顾一下 环境&#xff1a;GPU1卡&#xff0c;CPU4核&#xff0c;每显卡12GB&#xff0c…...

GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)

文章目录 一、概述二、数据中心&#xff08;DC&#xff09;2.1 数据中心简介2.2 传统数据中心的网络模型2.3 脊叶网络模型&#xff08;Spine-Leaf&#xff09;2.4 Facebook的Fabric网络架构 三、基于数据中心的多机多卡拓扑3.1 Spine-Leaf 架构网络规模测算方法3.2 NVIDIA多机多…...

各编程语言处理HTTP状态码的库推荐

Http 状态码用那个库 备注 Spring 的状态码库为 org.springframework.http.HttpStatus Apache 的状态码库为&#xff1a; org.apache.http.HttpStatus 通常这 2 个库都差不多。 如你的项目中已经用了 Spring 的代码的话&#xff0c;那么就用 Spring 的库吧。 不管是那个库…...

【Mac】Python 环境管理工具

一、pyenv 1、安装 &#xff08;1&#xff09;安装 brew install pyenv&#xff08;2&#xff09;环境配置 查看系统使用 shell 是 bash 还是 zsh bash 配置文件&#xff1a;~/.bash_profile zsh 配置文件&#xff1a;~/.zshrc userMac ~ % echo $SHELL /bin/zsh userMa…...

大语言模型数据流程源码解读(基于llama3模型)

文章目录 前言一、数据进入LlamaForCausalLM(LlamaPreTrainedModel)类二、数据进入LlamaModel(LlamaPreTrainedModel)类1、input_ids的embedding编码2、position_ids位置获取3、causal_mask因果mask构建1、causal_mask调用2、因果mask代码解读(_update_causal_mask)4、hidden_s…...

[蓝桥杯 2015 省 A] 饮料换购

题目描述 乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料&#xff0c;凭 3 个瓶盖可以再换一瓶 C 型饮料&#xff0c;并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下&#xff0c;如果小明不浪费瓶盖&#xff0c;尽量地参加活动&#xff0c;那么&#xff…...

K8S测试pod内存和CPU资源不足

只设置requests参数 mysql主从pod启动后监控 读压测之后 同时设置limits和requests&#xff0c;只调低内存值 监控 压力测试 同时设置limits和requests&#xff0c;只调低CPU值 初始状态 开始压测 结论 对于CPU&#xff0c;如果pod中服务使用CPU超过设置的limits&…...

rabbitmq 使用注意事项

1&#xff0c;注意开启的端口号&#xff0c;一共四个端口号&#xff0c;1883是mqtt连接的端口号&#xff0c;如果没开&#xff0c;是连接不上的需要手动起mqtt插件。 //开始mqtt插件服务 rabbitmq-plugins enable rabbitmq_mqtt 2&#xff0c;15672端口是http网页登录的管理后…...

2026 年 5 月 AI 热点:大模型、硬件、人形机器人全面升级

一、大模型技术突破 | LLM Technology Breakthroughs 1.1 OpenAI GPT‑5.5 正式成为ChatGPT默认模型 | GPT‑5.5 Becomes ChatGPT Default Model 英文内容 | English On May 5, 2026, OpenAI officially rolled out GPT‑5.5 Instant as the new default model for ChatGPT, …...

Keil µVision TAB显示异常问题分析与解决方案

1. 问题现象与背景分析在Keil Vision集成开发环境中&#xff0c;部分用户遇到了编辑器界面显示异常的问题。具体表现为&#xff1a;当代码中包含TAB字符&#xff08;制表符&#xff09;时&#xff0c;屏幕上会出现奇怪的显示错乱&#xff0c;原本应该显示为空白缩进的区域&…...

WordPress与PageAdmin CMS深度技术对比:从架构到国产化合规的全维度分析

摘要在内容管理系统选型中&#xff0c;WordPress作为全球市场占有率最高的开源CMS&#xff0c;与国内企业级平台PageAdmin CMS代表了两种不同的技术路线。本文从底层架构&#xff08;PHP vs .NET Core&#xff09;、数据库设计、缓存策略、安全机制、二次开发能力、国产化适配及…...

气动黄油机核心技术解析:泵的选择与厂家评估方法论

工业黄油就是润滑脂&#xff0c;属于半固体润滑剂&#xff0c;润滑脂的作用主要是润滑、保护和密封。可以有效降低机械摩擦&#xff0c;防止磨损&#xff0c;同时还能防腐蚀及密封防尘。毫不夸张的说&#xff0c;润滑脂就是万金油&#xff0c;黄油加注机广泛应用于汽车制造业、…...

量子PSO与机器学习在天线小型化设计中的应用

1. 量子PSO与机器学习在天线小型化设计中的革命性应用作为一名长期从事射频工程和天线设计的从业者&#xff0c;我见证了传统设计方法从纯手工计算到计算机辅助设计的演进。但直到接触量子粒子群优化(QDPSO)与机器学习的融合应用&#xff0c;才真正体会到智能化设计带来的效率飞…...

Gemini 访问要不要额外网络工具?国内直连体验怎么看

最近不少开发者开始把 Gemini 放进日常工作流里&#xff1a;查资料、写代码注释、整理技术方案、做内容大纲。但实际使用前&#xff0c;大家最关心的往往不是模型参数&#xff0c;而是“能不能顺畅访问”。如果只是想先体验模型能力&#xff0c;可以通过 库拉 这类 AI模型聚合平…...

深度拆解:TypeScript 大神把 .claude 目录开源,18 个 Skill 是给 AI 编程踩刹车的工程纪律

2026 年 4 月底&#xff0c;Total TypeScript 创始人、TypeScript 社区教父级人物 Matt Pocock 干了一件挺简单的事——把他个人 .claude 目录下的全部 Agent Skills 开源了。仓库叫 mattpocock/skills&#xff0c;副标题只有一句话&#xff1a;Skills for Real Engineers。一个…...

14101开源难题解榜141期第一题:大规模光网络LLM亲和拓扑理解与决策协同标准化解题框架

开源难题解榜141期第一题&#xff1a;大规模光网络LLM亲和拓扑理解与决策协同标准化解题框架 摘要 本文依照标准化无偏差解题架构&#xff0c;完成黄大年茶思屋141期首道光网络技术难题全流程拆解&#xff0c;依次开展原题复刻、脱敏信息还原、工程需求定义、规范文献引用、基础…...

xclabel是一款开源图像标注与模型训练工具,采用Python+Flask开发,跨平台支持Windows/Linux/Mac

xclabel 作者&#xff1a;北小菜作者主页&#xff1a;https://www.yuturuishi.comgitee开源地址&#xff1a;https://gitee.com/Vanishi/xclabelgithub开源地址&#xff1a;https://github.com/beixiaocai/xclabel 软件介绍 xclabel是一款开源图像标注与模型训练工具&#x…...

iOS系统更新策略解析:从安全补丁到版本选择,如何理性应对系统升级

1. 从iOS 17.6.1看苹果的系统更新策略&#xff1a;一次“小修小补”背后的深意最近关于iOS 18和iOS 18.1的讨论铺天盖地&#xff0c;各种AI功能、界面大改的传闻让人眼花缭乱。但如果你像我一样&#xff0c;日常接触大量不同型号的iPhone用户&#xff0c;就会发现一个有趣的现象…...