diff options
author | heqnx <root@heqnx.com> | 2025-06-24 00:28:18 +0300 |
---|---|---|
committer | heqnx <root@heqnx.com> | 2025-06-24 00:28:18 +0300 |
commit | 4d996aff99c9c31ed66f82afb11c74569ccc6763 (patch) | |
tree | a4dd5b17132fb2a9543fcb2f8eecf440b5b76577 /tasks/wg_setup.yaml | |
parent | 5832dc592761147a607a3ba35af8715c9adb0527 (diff) | |
download | ansible-pve-host-4d996aff99c9c31ed66f82afb11c74569ccc6763.tar.gz ansible-pve-host-4d996aff99c9c31ed66f82afb11c74569ccc6763.zip |
adding wireguard setup for pve vm access
Diffstat (limited to 'tasks/wg_setup.yaml')
-rw-r--r-- | tasks/wg_setup.yaml | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tasks/wg_setup.yaml b/tasks/wg_setup.yaml new file mode 100644 index 0000000..9557a79 --- /dev/null +++ b/tasks/wg_setup.yaml @@ -0,0 +1,72 @@ +- name: install wireguard and dependencies + apt: + name: "{{ wireguard_packages }}" + state: present + update_cache: yes + +- name: update apt packages + apt: + update_cache: true + +- name: install apt packages + apt: + name: "{{ apt_packages }}" + state: present + update_cache: true + environment: + DEBIAN_FRONTEND: noninteractive + +- name: create wireguard server directory + file: + path: "{{ wireguard_server_home }}" + state: directory + mode: "0700" + +- name: create wireguard peers directory + file: + path: "{{ wireguard_peers_home }}" + state: directory + mode: "0700" + +- name: generate wireguard server keys + shell: + cmd: | + wg genpsk > "{{ wireguard_server_home }}/psk.key" + wg genkey > "{{ wireguard_server_home }}/server.key" + creates: "{{ wireguard_server_home }}/server.key" + args: + chdir: "{{ wireguard_server_home }}" + +- name: get server public key + shell: + cmd: wg pubkey < "{{ wireguard_server_home }}/server.key" + register: server_pubkey + changed_when: false + +- name: read wireguard server.key from remote host + slurp: + src: "{{ wireguard_server_home }}/server.key" + register: wg_key + +- name: set private key from remote file + set_fact: + private_key: "{{ wg_key.content | b64decode }}" + +- name: deploy {{ wireguard_server_home }}/wg0.conf + template: + src: wg0.conf.j2 + dest: "{{ wireguard_server_home }}/wg0.conf" + mode: "0600" + +- name: deploy manage_wg_peers.sh + template: + src: manage_wg_peers.sh.j2 + dest: /root/manage_wg_peers.sh + mode: "0600" + +- name: restart wireguard + systemd: + name: wg-quick@wg0.service + state: restarted + enabled: true + when: ansible_service_mgr == 'systemd' |