initial version of pf module

This commit is contained in:
Timo Makinen 2019-05-22 23:39:12 +03:00
parent 107f5d32ac
commit 332b433971
4 changed files with 53 additions and 0 deletions

View file

@ -0,0 +1,6 @@
---
firewall_in:
- {proto: tcp, port: 22}
firewall_raw: []

View file

@ -0,0 +1,4 @@
---
- name: reload pf
command: /sbin/pfctl -f /etc/pf.conf

21
roles/pf/tasks/main.yml Normal file
View file

@ -0,0 +1,21 @@
---
- name: copy pf.conf
copy:
src: "{{ firewall_src }}"
dest: /etc/pf.conf
mode: 0600
owner: root
group: "{{ ansible_wheel }}"
notify: reload pf
when: firewall_src is defined
- name: create pf.conf from template
template:
src: pf.conf.j2
dest: /etc/pf.conf
mode: 0600
owner: root
group: "{{ ansible_wheel }}"
notify: reload pf
when: firewall_src is not defined

View file

@ -0,0 +1,22 @@
set block-policy return
set skip on lo0
block in
pass out
pass in quick proto icmp
pass in quick proto icmp6
{% for rule in firewall_raw %}
{{ rule }}
{% endfor %}
{% for rule in firewall_in %}
{% if rule.from is defined %}
{% for from in rule.from | ipaddr %}
pass in quick proto {{ rule.proto }} from {{ from }} to port {{ rule.port }}
{% endfor %}
{% else %}
pass in quick proto {{ rule.proto }} to port {{ rule.port }}
{% endif %}
{% endfor %}