文章目录

  • 一、核心功能描述
  • 二、roles内容
    • 2.1 文件结构
    • 2.2 主配置文件
    • 2.3 tasks文件内容

免费个人运维知识库,欢迎您的订阅:literator_ray.flowus.cn

一、核心功能描述

这个 Ansible Role (firewalld) 的核心功能是:动态地、安全地配置 firewalld,实现基于指定 IPSet 的白名单规则,精确控制特定 TCP 端口的访问权限。

关键特性与可变性:​

  1. 灵活的端口控制:​

    • 核心任务是管理一个特定的 TCP 端口

    • 端口号(如示例中的 19100)是完全可配置的变量。Role 可以通过变量轻松应用于管理任何 TCP 端口。

  2. 动态的 IP/IP 段管理 (基于 IPSet):​

    • 访问控制的核心是使用 ipset

    • IPSet 名称​(如示例中的 test)是可配置的

    • 允许访问的 IP 地址或网段​(如示例中的 192.141.254.0/24, 192.142.254.0/24)是可变且可扩展的列表。Role 可以通过修改 loop 列表轻松添加、删除或更改允许的源 IP 范围。

  3. 基于 IPSet 的精细化访问规则:​

    • 创建一个 firewalld富规则 (rich rule)​

    • 该规则利用配置好的 ​IPSet 名称​ 作为源 (source ipset=...)。

    • 该规则针对配置好的 ​TCP 端口​ (port protocol=tcp port=...)。

    • 规则动作是明确允许符合条件(匹配 IPSet 来源且访问目标端口)的流量 (accept)。

  4. 安全的变更过程:​

    • 在添加新规则前,​总是先删除目标端口上可能存在的旧规则​(通过 del_rule.yml)。这确保了:

      • 避免规则冲突或重复。

      • 提供幂等性(多次运行结果一致)。

      • 为新的、基于 IPSet 的规则提供一个干净的状态起点。

    • 配置采用 permanent: yes 确保规则持久化。

    • 执行重载 (reloaded) 使所有变更(IPSet 创建/更新、规则添加/删除)​立即生效

可以根据自己的实际需求修改脚本

二、roles内容

2.1 文件结构

firewalld/
`-- tasks|-- add_rule.yml|-- del_rule.yml`-- main.yml1 directory, 3 files

2.2 主配置文件

---
- hosts: 192.141.106.24remote_user: rootserial: 5roles:- firewalld

2.3 tasks文件内容

  • main.yml
- include: del_rule.yml
- include: add_rule.yml
  • include: del_rule.yml
- name: del ports rule 19100firewalld: port=19100/tcp zone=public permanent=yes immediate=yes state=disabled
  • include: add_rule.yml
- name: add ipsetsshell: firewall-cmd --permanent --new-ipset=test --type=hash:ip;firewall-cmd --permanent --ipset=test --add-entry={{ item }}loop:- 192.141.254.0/24- 192.142.254.0/24  - name: add port rule 19100firewalld:permanent: yeszone: publicrich_rule: rule family=ipv4 source ipset=test port protocol=tcp port=19100 acceptstate: enabled- name: firewalld reloadservice: name=firewalld state=reloaded

如果你不请什么是ansible中的角色,动动你的小手,跳转过去看看呗“roles角色”

请不要以此视为定论,这只是我的个人经验

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

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

相关文章

【深度学习实战(55)】记录一次在新服务器上使用docker的流程

使用docker:apt-get install dockersudo usermod -aG docker sliu (将用户 sliu 添加到 docker 用户组)newgrp docker (刷新)docker imagessudo docker load --input /home/sliu/workspace/env/shuai_docker.tar &…

面试后的跟进策略:如何提高录用几率并留下专业印象

面试结束后,许多求职者认为自己的任务已经完成,只需等待结果通知。然而,面试后的跟进策略同样是求职过程中的关键环节,它不仅能提高你的录用几率,还能展示你的专业素养和持续兴趣。本文将结合酷酷面试平台的专业建议&a…

深入解析RAGFlow六阶段架构

下面用“流程图 六阶段拆解”的方式,把 RAGFlow 的完整流程逐层剖开,力求把每一步的输入、输出、可选策略、内部机制都讲清楚。 ──────────────────────── 一、总览图(先建立体感) 用户提问 │ ├─→【…

Go语言中的迭代器模式与安全访问实践

Go语言中的迭代器模式与安全访问实践 1. 迭代器模式在Go中的演进 1.1 传统迭代器模式回顾 在传统面向对象语言中,迭代器模式通常涉及三个核心组件:可迭代集合接口(Iterable)迭代器接口(Iterator)具体实现类// 传统迭代器模式示例 type Iterator interfac…

从零开始:JDK 在 Windows、macOS 和 Linux 上的下载、安装与环境变量配置

前言 在进入 Java 世界之前,搭建一个稳定、可用的开发环境是每个开发者必须迈过的第一道门槛。JDK(Java Development Kit)作为 Java 程序开发的核心工具包,其正确安装与环境变量配置直接关系到后续编译、运行、调试等所有开发流程…

【音视频】芯片、方案、市场信息收集

系统级芯片安霸(Ambarella)Ambarella H22/H32:高端方案,支持8K/4K高帧率录制,低功耗,广泛用于GoPro Hero 11/12、Insta360等旗舰机型。 Ambarella A12/A10:早期主流方案,支持4K60fps…

中科米堆CASAIM提供机加工件来料自动化测量尺寸方案

机加工行业面临日益严格的质量追溯要求,来料质量的稳定性直接影响着后续生产效率与成品合格率。传统人工检测方式受限于接触式工具的测量精度与操作效率,难以应对小批量、多品种的现代生产需求。传统机加工件来料检测长期面临这些问题:其一&a…

MySQL只操作同一条记录也会死锁吗?

大家好,我是锋哥。今天分享关于【MySQL只操作同一条记录也会死锁吗?】面试题。希望对大家有帮助; MySQL只操作同一条记录也会死锁吗? 超硬核AI学习资料,现在永久免费了! 在 MySQL 中,死锁通常是由于多个事务对不同…

知识蒸馏 Knowledge Distillation 论文 Generalized Knowledge Distillation (GKD) 乘法法则、全概率公式、贝叶斯定理

知识蒸馏 Knowledge Distillation 论文 Generalized Knowledge Distillation (GKD) 乘法法则、全概率公式、贝叶斯定理 flyfish 代码实践 On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes 设定(方便算数)&#x…

Fastjson 2.x踩坑——序列化Java字段为null值默认输出

先上无法实现效果的代码,我的目的是序列化时如果数字型字段为null则填0,尽可能保证数据整齐。 Data NoArgsConstructor AllArgsConstructor ToString JSONType(serializeFeatures {JSONWriter.Feature.WriteNulls,JSONWriter.Feature.WriteMapNullValue…

4G高负荷解决方案

4G高负荷解决方案 一、网络优化手段(低成本优先)参数优化 调整功率控制、负荷均衡参数。优化小区重选与切换参数,避免高负荷小区拥塞。负荷均衡 开启 MLB(Mobility Load Balancing,移动负荷均衡)。引导用户…

K8S 安装部署 Rocky Linux 10.0 + Docker + Containerd + Calico

Docker Containerd Flannel 安装部署K8S 系统环境准备 # 1. 设置主机名 hostnamectl set-hostname k8s-n1 && bash# hostnamectl set-hostname k8s-n2 && bash # hostnamectl set-hostname k8s-n3 && bash# 2. 删除系统自带的容器软件(可…

新华三H3CNE网络工程师认证—等价路由

等价路由就是“去同一个地方有多条路,时间一样近,快递站聪明地分拨送货”的技术!(网络不堵车,速度翻倍爽!)路由表中存在等价路由之后,前往该目的网段的IP报文路由器辉通过所有有效的…

DBLens 业界首创AI表结构变更审查,智能评估影响,助力开发效率跃升。

智能守护每一次变更:dblens AI 审查流程详解 在快速迭代的软件开发过程中,数据库结构变更是常见却高风险的操作。一次不经意的字段调整,可能引发线上故障、数据不一致甚至业务中断。为应对这一挑战,dblens 率先引入AI驱动的表结构…

窗口看门狗(WWDG)

窗口看门狗(WWDG)1. WWDG 简介作用:在应用跑飞、死循环、长时间被中断占用等异常时,强制复位 MCU,提高系统可靠性。时钟来源:来自 APB1 时钟 (PCLK1) 的分频(与 IWDG 的 LSI 独立时钟不同&#…

PyTorch API 6

文章目录torch.onnx概述基于 TorchDynamo 的 ONNX 导出器基于TorchScript的ONNX导出器贡献与开发torch.optim如何使用优化器构建优化器每个参数的选项执行优化步骤optimizer.step()optimizer.step(closure)基类算法如何调整学习率如何利用命名参数加载优化器状态字典权重平均法…

2025年09月计算机二级MySQL选择题每日一练——第二期

计算机二级中选择题是非常重要的,所以开始写一个每日一题的专栏。 答案及解析将在末尾公布! 今日主题:SQL 交互操作基础 1、有如下创建表的语句: CREATE TABLE tb_gs( gno CHAR(10) NOT NULL, sno CHAR(10) NOT NULL, gjob CH…

MySQL诊断系列(5/6):表结构与元数据查询——快速掌握数据库“DNA”

🔗 接上一篇《MySQL性能瓶颈定位》,今天我们来学习如何像查字典一样,快速、精准地了解任何数据库的内部结构。 当你接手一个新项目,或者需要排查一个不熟悉的模块时,你最需要的是什么? 不是代码&#xff0…

精准评估新纪元:AI得贤招聘官AI面试智能体6.3,重新定义AI面试

随着生成式AI技术爆发式发展,人力资源管理正经历从“信息化”到“智能化”的跃迁。据Gartner预测,2025年60%的企业将使用AI完成HR基础事务性工作。在这场变革中,AI得贤招聘官以其卓越的技术实力和产品能力,已成为行业智能化转型的…

MinerU:重新定义PDF智能提取的开源利器

MinerU:重新定义PDF智能提取的开源利器 ——告别传统工具的“鸡肋”体验,让文档处理真正高效智能 在数字化时代,PDF、Word等文档已成为信息传递的主要载体,但如何从这些格式中精准提取数据,却成了困扰无数人的难题。…