main.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. ---
  2. - name: Install wireguard-tools
  3. yum:
  4. name: wireguard-tools
  5. state: installed
  6. - name: Copy wireguard config
  7. template:
  8. src: wg.conf.j2
  9. dest: /etc/wireguard/{{ wg_interface }}.conf
  10. owner: root
  11. group: root
  12. mode: '0644'
  13. notify:
  14. - Restart wireguard interface
  15. - name: Add {{ wg_interface }} to external zone
  16. firewalld:
  17. zone: external
  18. interface: "{{ wg_interface }}"
  19. permanent: yes
  20. state: enabled
  21. - name: Add {{ ansible_interfaces | sort | first }} to internal zone
  22. firewalld:
  23. zone: internal
  24. interface: "{{ ansible_interfaces | sort | first }}"
  25. permanent: yes
  26. state: enabled
  27. - name: Allow source networks to use wireguard
  28. firewalld:
  29. source: "{{ item }}"
  30. zone: external
  31. state: enabled
  32. permanent: yes
  33. with_items:
  34. - "{{ allowed_access_cidrs }}"
  35. - name: Allow services
  36. firewalld:
  37. zone: external
  38. service: "{{ item }}"
  39. state: enabled
  40. permanent: yes
  41. immediate: yes
  42. with_items:
  43. - "{{ allowed_services }}"
  44. - name: Start/Enable {{ wg_interface }} interface
  45. systemd:
  46. name: wg-quick@{{ wg_interface }}
  47. state: started
  48. enabled: yes