initial opencode commit
This commit is contained in:
6
roles/firewall/defaults/main.yml
Normal file
6
roles/firewall/defaults/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
firewall_zone: public
|
||||
firewall_zone_target: DROP
|
||||
firewall_allow_ping: true
|
||||
enable_geyser: true
|
||||
geyser_port: 19132
|
||||
68
roles/firewall/tasks/main.yml
Normal file
68
roles/firewall/tasks/main.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
# Firewall policy: default DROP, only SSH and the Minecraft port are exposed.
|
||||
|
||||
- name: Ensure firewalld is running and enabled
|
||||
ansible.builtin.systemd:
|
||||
name: firewalld
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
- name: Set the default zone target to DROP
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
target: "{{ firewall_zone_target }}"
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: present
|
||||
|
||||
- name: Allow SSH service
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
service: ssh
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: enabled
|
||||
|
||||
- name: Allow custom SSH port
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
port: "{{ ssh_port }}/tcp"
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: enabled
|
||||
when: ssh_port != 22
|
||||
|
||||
- name: Allow Minecraft server port (TCP)
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
port: "{{ minecraft_port }}/tcp"
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: enabled
|
||||
|
||||
- name: Allow Minecraft server port (UDP)
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
port: "{{ minecraft_port }}/udp"
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: enabled
|
||||
when: minecraft_udp | bool
|
||||
|
||||
- name: Allow Geyser Bedrock port (UDP)
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
port: "{{ geyser_port }}/udp"
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: enabled
|
||||
when: enable_geyser | bool
|
||||
|
||||
- name: Allow ICMP echo (ping) for basic connectivity checks
|
||||
ansible.posix.firewalld:
|
||||
zone: "{{ firewall_zone }}"
|
||||
icmp_block_inversion: true
|
||||
permanent: true
|
||||
immediate: true
|
||||
state: present
|
||||
when: firewall_allow_ping | bool
|
||||
Reference in New Issue
Block a user