2022-04-28 12:40:02 +02:00
|
|
|
---
|
2022-09-09 16:09:45 +02:00
|
|
|
|
|
|
|
- name: Stat minifirewall config file (before)
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.stat:
|
2022-09-09 16:09:45 +02:00
|
|
|
path: "/etc/default/minifirewall"
|
|
|
|
register: minifirewall_before
|
|
|
|
|
|
|
|
- name: Check if minifirewall is running
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.shell:
|
2022-09-09 16:09:45 +02:00
|
|
|
cmd: /sbin/iptables -L -n | grep -E "^(DROP\s+udp|ACCEPT\s+icmp)\s+--\s+0\.0\.0\.0\/0\s+0\.0\.0\.0\/0\s*$"
|
|
|
|
changed_when: False
|
|
|
|
failed_when: False
|
|
|
|
check_mode: no
|
|
|
|
register: minifirewall_is_running
|
|
|
|
|
2023-03-20 23:33:19 +01:00
|
|
|
- ansible.builtin.debug:
|
2022-09-09 16:09:45 +02:00
|
|
|
var: minifirewall_is_running
|
|
|
|
verbosity: 1
|
|
|
|
|
2022-04-28 12:40:02 +02:00
|
|
|
- name: Add some rules at the end of minifirewall file
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.template:
|
2022-04-28 12:40:02 +02:00
|
|
|
src: "{{ item }}"
|
|
|
|
dest: "{{ minifirewall_tail_file }}"
|
|
|
|
force: "{{ minifirewall_tail_force | bool }}"
|
|
|
|
follow: yes
|
|
|
|
loop: "{{ query('first_found', templates) }}"
|
|
|
|
vars:
|
|
|
|
templates:
|
|
|
|
- "templates/minifirewall-tail/minifirewall.{{ inventory_hostname }}.tail.j2"
|
|
|
|
- "templates/minifirewall-tail/minifirewall.{{ host_group | default('all') }}.tail.j2"
|
|
|
|
- "templates/minifirewall-tail/minifirewall.default.tail.j2"
|
|
|
|
- "templates/minifirewall.default.tail.j2"
|
|
|
|
register: minifirewall_tail_template
|
|
|
|
|
2023-03-20 23:33:19 +01:00
|
|
|
- ansible.builtin.debug:
|
2022-04-28 12:40:02 +02:00
|
|
|
var: minifirewall_tail_template
|
|
|
|
verbosity: 1
|
|
|
|
|
|
|
|
- name: source minifirewall.tail at the end of the main file
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.blockinfile:
|
2022-04-28 12:40:02 +02:00
|
|
|
dest: "{{ minifirewall_main_file }}"
|
|
|
|
marker: "# {mark} ANSIBLE MANAGED EXTERNAL RULES"
|
|
|
|
block: ". {{ minifirewall_tail_file }}"
|
|
|
|
insertbefore: EOF
|
|
|
|
register: minifirewall_tail_source
|
|
|
|
|
2023-03-20 23:33:19 +01:00
|
|
|
- ansible.builtin.debug:
|
2022-04-28 12:40:02 +02:00
|
|
|
var: minifirewall_tail_source
|
|
|
|
verbosity: 1
|
|
|
|
|
2022-09-09 16:09:45 +02:00
|
|
|
- name: Schedule minifirewall restart (legacy)
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.command:
|
|
|
|
cmd: /bin/true
|
2022-09-09 16:09:45 +02:00
|
|
|
notify: "restart minifirewall (legacy)"
|
2022-04-28 12:40:02 +02:00
|
|
|
when:
|
2022-09-09 16:09:45 +02:00
|
|
|
- minifirewall_install_mode == 'legacy'
|
2022-04-28 12:40:02 +02:00
|
|
|
- minifirewall_restart_if_needed | bool
|
2022-09-09 16:09:45 +02:00
|
|
|
- minifirewall_is_running.rc == 0
|
|
|
|
- minifirewall_tail_template is changed
|
2022-04-28 12:40:02 +02:00
|
|
|
|
2023-03-20 23:33:19 +01:00
|
|
|
- ansible.builtin.debug:
|
2022-04-28 12:40:02 +02:00
|
|
|
var: minifirewall_init_restart
|
|
|
|
verbosity: 1
|