darexsu.firewalld
Ansible Role for Firewalld
- Role:
- Playbooks (Merge Version):
- Playbooks (Full Version):
Platforms
Testing | Ready for Use |
---|---|
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: |
Installation
ansible-galaxy install darexsu.firewalld --force
Behavior
Replace or Merge dictionaries (use "hash_behaviour=replace" in ansible.cfg):
# Replace # Merge
--- ---
vars: vars:
dict: merge:
a: "value" dict:
b: "value" a: "value"
b: "value"
# How does merging work?
Your vars [host_vars] --> default vars [current role] --> default vars [included role]
dict: dict: dict:
a: "1" --> a: "1" --> a: "1"
b: "2" --> b: "2"
c: "3"
Install and configure: Firewalld (Merge Version)
---
- hosts: all
become: true
vars:
merge:
# FirewallD
firewalld:
enabled: true
# FirewallD -> Install
firewalld_install:
enabled: true
# FirewallD -> Rules
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: Apply firewalld role
include_role:
name: darexsu.firewalld
Install: Firewalld (Merge Version)
---
- hosts: all
become: true
vars:
merge:
# FirewallD
firewalld:
enabled: true
# FirewallD -> Install
firewalld_install:
enabled: true
tasks:
- name: Apply firewalld role
include_role:
name: darexsu.firewalld
Configure: Add Firewall Rules (Merge Version)
---
- hosts: all
become: true
vars:
merge:
# FirewallD
firewalld:
enabled: true
# FirewallD -> Rules
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: Apply firewalld role
include_role:
name: darexsu.firewalld
Install and configure: Firewalld (Full Version)
---
- hosts: all
become: true
vars:
# FirewallD
firewalld:
enabled: true
service:
enabled: true
state: "started"
# FirewallD -> Install
firewalld_install:
enabled: true
# FirewallD -> Rules
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: Apply firewalld role
include_role:
name: darexsu.firewalld
Install: Firewalld (Full Version)
---
- hosts: all
become: true
vars:
# FirewallD
firewalld:
enabled: true
# FirewallD -> Install
firewalld_install:
enabled: true
tasks:
- name: Apply firewalld role
include_role:
name: darexsu.firewalld
Configure: Add Firewall Rules (Full Version)
---
- hosts: all
become: true
vars:
# FirewallD
firewalld:
enabled: true
service:
enabled: true
state: "started"
# FirewallD -> Rules
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: Apply firewalld role
include_role:
name: darexsu.firewalld