Add playbooks/firewall.yml
This commit is contained in:
46
playbooks/firewall.yml
Normal file
46
playbooks/firewall.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
- name: configure firewall rules
|
||||
hosts: wireguard
|
||||
become: true
|
||||
|
||||
tasks:
|
||||
- name: confirm firewall is active
|
||||
service:
|
||||
name: firewalld
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: run script to remove all pre-configured services in public zone
|
||||
script: ../firewall/remove_services.sh
|
||||
|
||||
- name: allow ssh traffic in internal zone
|
||||
ansible.posix.firewalld:
|
||||
zone: internal
|
||||
service: ssh
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: allow wireguard traffic in internal zone
|
||||
ansible.posix.firewalld:
|
||||
zone: internal
|
||||
service: wireguard
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: allow wireguard traffic in public zone
|
||||
ansible.posix.firewalld:
|
||||
zone: public
|
||||
service: wireguard
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: add source to internal zone
|
||||
ansible.builtin.command: firewall-cmd --zone=internal --add-source=192.168.0.0/24 --permanent
|
||||
|
||||
- name: assign wg0 to internal zone on firewall
|
||||
ansible.builtin.command: firewall-cmd --zone=internal --add-interface=wg0 --permanent
|
||||
|
||||
- name: apply source NAT to internal zone
|
||||
ansible.builtin.command: firewall-cmd --zone=internal --add-masquerade --permanent
|
||||
|
||||
- name: reload firewalld
|
||||
ansible.builtin.command: firewall-cmd --reload
|
||||
Reference in New Issue
Block a user