Ansible Role firewall¶
This role configures a firewall on the system. For the currently supported firewalls, see the options for the firewall__firewall variable below.
Mandatory Requirements¶
When using
firewall__firewall == fwbuilder, you either need to manually deploy a Firewall Builder file to/etc/fwb.shor use thefirewall__fwbuilder_repo_urlvariable to clone the Firewall Builder files automatically.
Optional Requirements¶
When using
firewall__firewall == iptables, you can place an iptables config file in your inventory, which will be deployed to the system. The file has to be placed into{{ inventory_dir }}/host_files/{{ inventory_hostname }}/etc/sysconfig/iptables.
Optional Role Variables¶
firewall__firewall
Which firewall should be activated and configured. All other firewalls will be disabled. Possible options:
'None','firewalld','fwbuilder','iptables','nftables','ufw'.Type: String.
Default:
'fwbuilder'
firewall__firewalld_ports__group_var / firewall__firewalld_ports__host_var
List of dictionaries defining the FirewallD ports.
Type: List of dictionaries.
Default:
[]Subkeys:
port:Mandatory. Port or port range.
Type: String.
state:Optional. State of the port. Either
enabledordisabled.Type: String.
Default:
'enabled'
firewall__firewalld_services__group_var / firewall__firewalld_services__host_var
List of dictionaries defining the FirewallD services.
Type: List of dictionaries.
Default:
[]Subkeys:
service:Mandatory. Name of the service.
Type: String.
state:Optional. State of the service. Either
enabledordisabled.Type: String.
Default:
'enabled'
firewall__fwbuilder_fw_file
The name of the Firewall Builder file which will be created when compiling the firewall in Firewall Builder. Needed if
firewall__fwbuilder_repo_urlis used and if the Firewall name within Firewall Builder differs from{{ inventory_hostname }}.Type: String.
Default:
'{{ inventory_hostname }}'
firewall__fwbuilder_repo_url
The GIT repository URL to clone the compiled firewall files from.
Type: String.
Default: unset
Example:
# optional
firewall__firewall: 'fwbuilder'
firewall__firewalld_ports__group_var: []
firewall__firewalld_ports__host_var:
- port: '1234/tcp'
state: 'enabled'
firewall__firewalld_services__group_var: []
firewall__firewalld_services__host_var:
- service: 'ssh'
state: 'enabled'
firewall__fwbuilder_fw_file: 'example.fw'
firewall__fwbuilder_repo_url: 'git@git.example.com:fwbuilder/fwb.git'