ansible playbook 實戰案例roles | 實現基于firewalld添加端口

文章目錄

  • 一、核心功能描述
  • 二、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等文檔已成為信息傳遞的主要載體,但如何從這些格式中精準提取數據,卻成了困擾無數人的難題。…