task_machine_configuration.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. ---
  2. - name: "00: UFW configuration"
  3. ansible.builtin.command: ufw allow "{{ vpn_server_port }}/udp"
  4. - name: "00: more UFW configuration"
  5. ansible.builtin.command: ufw allow "OpenSSH"
  6. - name: "10: last UFW configurion i promise"
  7. ansible.builtin.command: ufw disable
  8. - name: "10: last UFW configurion i promise"
  9. ansible.builtin.command: ufw --force enable
  10. - name: "00: Create Wireguard directory"
  11. ansible.builtin.file:
  12. path: "/etc/wireguard"
  13. state: "directory"
  14. - name: "10: Create Public and Private server keys"
  15. ansible.builtin.shell:
  16. cmd: "wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey"
  17. - name: "20: Modify Private key permissions"
  18. ansible.builtin.file:
  19. path: "/etc/wireguard/privatekey"
  20. mode: '0600'
  21. - name: "30: Read out VPN server private key"
  22. ansible.builtin.command: cat /etc/wireguard/privatekey
  23. register: private_key_cmd
  24. - name: "35: Register the stdout of previous"
  25. ansible.builtin.set_fact:
  26. vpn_private_key_content: "{{ private_key_cmd.stdout }}"
  27. - name : "40: Read out VPN server public key"
  28. ansible.builtin.command: cat /etc/wireguard/publickey
  29. register: public_key_cmd
  30. - name: "35: Register the stdout of previous"
  31. ansible.builtin.set_fact:
  32. vpn_public_key_content: "{{ public_key_cmd.stdout }}"
  33. - name: "40: Create server configuration file"
  34. ansible.builtin.template:
  35. src: "templates/wg0.conf.j2"
  36. dest: "/etc/wireguard/wg0.conf"
  37. - name: "50: Modify Server config file permissions"
  38. ansible.builtin.file:
  39. path: "/etc/wireguard/wg0.conf"
  40. mode: "0600"
  41. ansible.builtin.file:
  42. path: "/etc/wireguard/privatekey"
  43. mode: "0600"
  44. - name: "60: Start the wireguard server"
  45. ansible.builtin.shell:
  46. cmd: "wg-quick up wg0"
  47. - name: "70: Enable IP forwarding"
  48. ansible.builtin.sysctl:
  49. name: "net.ipv4.ip_forward"
  50. value: "1"
  51. sysctl_set: "yes"
  52. state: "present"
  53. reload: "yes"