firewalld.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ---
  2. - name: Install firewalld packages
  3. package:
  4. name: firewalld
  5. state: present
  6. - name: Ensure iptables services are not enabled
  7. systemd:
  8. name: "{{ item }}"
  9. state: stopped
  10. enabled: no
  11. masked: yes
  12. with_items:
  13. - iptables
  14. - ip6tables
  15. register: task_result
  16. failed_when: "task_result|failed and 'could not' not in task_result.msg|lower"
  17. - name: Wait 10 seconds after disabling iptables
  18. pause:
  19. seconds: 10
  20. when: task_result | changed
  21. - name: Start and enable firewalld service
  22. systemd:
  23. name: firewalld
  24. state: started
  25. enabled: yes
  26. masked: no
  27. daemon_reload: yes
  28. register: result
  29. - name: need to pause here, otherwise the firewalld service starting can sometimes cause ssh to fail
  30. pause: seconds=10
  31. when: result | changed
  32. - name: Add firewalld allow rules
  33. firewalld:
  34. port: "{{ item.port }}"
  35. permanent: true
  36. immediate: true
  37. state: enabled
  38. with_items: "{{ os_firewall_allow }}"
  39. - name: Remove firewalld allow rules
  40. firewalld:
  41. port: "{{ item.port }}"
  42. permanent: true
  43. immediate: true
  44. state: disabled
  45. with_items: "{{ os_firewall_deny }}"