darexsu.firewalld

Ansible 角色 firewalld

CI MoleculeAnsible 角色

平台

测试 可使用
Debian 11 :heavy_check_mark:
Debian 10 :heavy_check_mark:
Ubuntu 20.04 :heavy_check_mark:
Ubuntu 18.04 :heavy_check_mark:
Oracle Linux 8 :heavy_check_mark:
Rocky Linux 8 :heavy_check_mark:

安装

ansible-galaxy install darexsu.firewalld --force

行为

替换或合并字典(在 ansible.cfg 中使用 "hash_behaviour=replace"):

# 替换             # 合并
---                   ---
  vars:                 vars:
    dict:                 merge:
      a: "value"            dict: 
      b: "value"              a: "value" 
                              b: "value"

# 合并是如何工作的?
你的变量 [host_vars]  -->  默认变量 [当前角色] --> 默认变量 [包含角色]
  
  dict:          dict:              dict:
    a: "1" -->     a: "1"    -->      a: "1"
                   b: "2"    -->      b: "2"
                                      c: "3"
    
安装和配置:firewalld(合并版本)

---
- hosts: all
  become: true

  vars:
    merge:
      # FirewallD
      firewalld:
        enabled: true
      # FirewallD -> 安装
      firewalld_install:
        enabled: true
      # FirewallD -> 规则
      firewalld_rules:
        port_80:
          enabled: true
          zone: "public"
          state: "enabled"
          port: "80/tcp"
          permanent: true
        service_http:
          enabled: true
          zone: "public"
          state: "enabled"
          service: "http"
          permanent: true
        service_https:
          enabled: true
          zone: "public"
          state: "enabled"
          service: "https"
          permanent: true
      # ...
  tasks:
    - name: role darexsu firewalld
      include_role:
        name: darexsu.firewalld
安装:firewalld(合并版本)

---
- hosts: all
  become: true

  vars:
    merge:
      # FirewallD
      firewalld:
        enabled: true
      # FirewallD -> 安装
      firewalld_install:
        enabled: true

  tasks:
    - name: role darexsu firewalld
      include_role:
        name: darexsu.firewalld
配置:添加防火墙规则(合并版本)

---
- hosts: all
  become: true

  vars:
    merge:
      # FirewallD
      firewalld:
        enabled: true
      # FirewallD -> 规则
      firewalld_rules:
        port_80:
          enabled: true
          zone: "public"
          state: "enabled"
          port: "80/tcp"
          permanent: true
        service_http:
          enabled: true
          zone: "public"
          state: "enabled"
          service: "http"
          permanent: true
        service_https:
          enabled: true
          zone: "public"
          state: "enabled"
          service: "https"
          permanent: true
      # rule_name:
      #   enabled: true
      #   key: value
      #   ...
  tasks:
    - name: role darexsu firewalld
      include_role:
        name: darexsu.firewalld
安装和配置:firewalld(完整版本)

---
- hosts: all
  become: true

  vars:
    # FirewallD
    firewalld:
      enabled: true
      service:
        enabled: true
        state: "started"
    # FirewallD -> 安装
    firewalld_install:
      enabled: true
    # FirewallD -> 规则
    firewalld_rules:
      port_80:
        enabled: true
        zone: "public"
        state: "enabled"
        port: "80/tcp"
        permanent: true
        immediate: true
      service_http:
        enabled: true
        zone: "public"
        state: "enabled"
        service: "http"
        permanent: true
        immediate: true
      service_https:
        enabled: true
        zone: "public"
        state: "enabled"
        service: "https"
        permanent: true
        immediate: true
    # ...
  tasks:
    - name: role darexsu firewalld
      include_role:
        name: darexsu.firewalld
安装:firewalld(完整版本)

---
- hosts: all
  become: true

  vars:
    # FirewallD
    firewalld:
      enabled: true
    # FirewallD -> 安装
    firewalld_install:
      enabled: true

  tasks:
    - name: role darexsu firewalld
      include_role:
        name: darexsu.firewalld
配置:添加防火墙规则(完整版本)
---
- hosts: all
  become: true

  vars:
    # FirewallD
    firewalld:
      enabled: true
      service:
        enabled: true
        state: "started"
    # FirewallD -> 规则
    firewalld_rules:
      port_80:
        enabled: true
        zone: "public"
        state: "enabled"
        port: "80/tcp"
        permanent: true
        immediate: true
      service_http:
        enabled: true
        zone: "public"
        state: "enabled"
        service: "http"
        permanent: true
        immediate: true
      service_https:
        enabled: true
        zone: "public"
        state: "enabled"
        service: "https"
        permanent: true
        immediate: true
    # rule_name:
    #   enabled: true
    #   key: value
    #   ...
  tasks:
    - name: role darexsu firewalld
      include_role:
        name: darexsu.firewalld
关于项目

install and configure firewalld

安装
ansible-galaxy install darexsu.firewalld
许可证
mit
下载
3.2k
拥有者