No description
Find a file
semantic-release-bot fe2b239557 chore(release): 1.8.0 [skip ci]
# [1.8.0](https://github.com/de-it-krachten/ansible-role-iptables/compare/v1.7.0...v1.8.0) (2026-03-15)

### Features

* Added support for Fedora 43 ([05fc33c](05fc33c3a6))
* Drop support for Fedora 41 ([0c13e3d](0c13e3d50f))
2026-03-15 11:38:22 +00:00
.github/workflows Update supported platforms & CI 2026-03-14 19:37:34 +01:00
defaults Move from vars->defaults 2023-09-09 00:41:43 +02:00
meta Update CI 2026-03-06 22:42:52 +01:00
molecule/default Update supported platforms & CI 2026-03-14 14:54:52 +01:00
tasks Move from vars->defaults 2023-09-09 00:41:43 +02:00
templates Functioning role including molecule tests 2021-12-19 23:52:45 +01:00
.ansible-lint feat: Update CI to latest standards 2022-10-09 12:18:40 +02:00
.cicd Update CI 2026-03-06 22:42:52 +01:00
.cicd.overwrite Update CI 2026-03-06 22:42:52 +01:00
.collections feat: Add support for Ubuntu 24.04 LTS + Fedora 40 2024-05-31 23:18:50 +02:00
.gitignore feat: Update supported platforms & CI 2024-12-29 02:13:31 +01:00
.releaserc.yml Update CI 2026-03-06 22:42:52 +01:00
.roles feat: Update CI to latest standards 2022-10-09 12:18:40 +02:00
.yamllint feat: Update supported platforms & CI 2024-12-29 02:13:31 +01:00
CHANGELOG.md chore(release): 1.8.0 [skip ci] 2026-03-15 11:38:22 +00:00
README.md Update CI 2026-03-06 22:42:52 +01:00

CI

ansible-role-iptables

Sets up iptables and applies a default rule set.
For RedHat/CentOS, it will disable firewalld.
On Alpine, it depends on the presence of OpenRC.

Dependencies

Roles

None

Collections

None

Platforms

Supported platforms

  • Red Hat Enterprise Linux 81
  • Red Hat Enterprise Linux 91
  • Red Hat Enterprise Linux 101
  • RockyLinux 8
  • RockyLinux 9
  • RockyLinux 10
  • OracleLinux 8
  • OracleLinux 9
  • OracleLinux 10
  • AlmaLinux 8
  • AlmaLinux 9
  • AlmaLinux 10
  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)
  • Debian 13 (Trixie)
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS
  • Fedora 42
  • Fedora 43
  • Alpine 3

Note: 1 : no automated testing is performed on these platforms

Role Variables

defaults/main.yml


# Set-up iptables from template
iptables_setup: true

# Set-up iptables in persistant manner
iptables_persistent: true

# Flush active rules before applying default set
iptables_flush: false

# Allow server to be ping'ed
iptables_allow_icmp: true

# Allow access using loopback to by-pass iptables
iptables_allow_loopback: true

# Default access
iptables_chains:
  - { name: OUTPUT, policy: ACCEPT }
  - { name: INPUT, policy: DROP }
  - { name: FORWARD, policy: DROP }

# Default ports to be opened
iptables_incoming_rules:
  - { port: 22, proto: tcp }

defaults/family-Alpine.yml


# List of packages to install
iptables_packages:
  - iptables
  - iptables-openrc

# name of the iptables service
iptables_service: iptables

# File to write rules to/from
iptables_state: /etc/iptables/rules-save

defaults/family-Debian.yml


# List of packages to install
iptables_packages:
  - iptables
  - iptables-persistent

# name of the iptables service
iptables_service: netfilter-persistent

# File to write rules to/from
iptables_state: /etc/iptables/rules.v4

defaults/family-RedHat.yml


# List of packages to install
iptables_packages:
  - iptables
  - iptables-services

# name of the iptables service
iptables_service: iptables

# File to write rules to/from
iptables_state: /etc/sysconfig/iptables

Example Playbook

molecule/default/converge.yml


- name: sample playbook for role 'iptables'
  hosts: all
  become: 'yes'
  tasks:
    - name: Include role 'iptables'
      ansible.builtin.include_role:
        name: iptables