diff --git a/ansible/inventories/group_vars/wireguard_server/vlab1.yaml b/ansible/inventories/group_vars/wireguard_server/vlab1.yaml index 49d6dd5..29c533d 100644 --- a/ansible/inventories/group_vars/wireguard_server/vlab1.yaml +++ b/ansible/inventories/group_vars/wireguard_server/vlab1.yaml @@ -18,7 +18,8 @@ wg_peers: allowedIPs : - "192.168.99.0/24" - "10.22.0.0/16" - - name: second_missing_key_test + - name: forced_missing_key_test + forceRegeneration: True ip: "192.168.99.6/32" allowedIPs : - "192.168.99.0/24" diff --git a/ansible/playbooks/roles/wireguard_server/tasks/gather_current_config.yaml b/ansible/playbooks/roles/wireguard_server/tasks/gather_current_config.yaml index 3a9b73c..f1b8def 100644 --- a/ansible/playbooks/roles/wireguard_server/tasks/gather_current_config.yaml +++ b/ansible/playbooks/roles/wireguard_server/tasks/gather_current_config.yaml @@ -16,4 +16,5 @@ - name: Updating client configs info set_fact: wg_peers: "{{ wg_peers | community.general.lists_mergeby([{'name':item.key,'publicKey':item.value.publicKey}] ,'name')}}" + when: item.key in (wg_peers | map(attribute='name')) loop: "{{ existing_wg_config | ansible.builtin.dict2items }}" diff --git a/ansible/playbooks/roles/wireguard_server/tasks/main.yaml___back b/ansible/playbooks/roles/wireguard_server/tasks/main.yaml___back deleted file mode 100644 index a7d8955..0000000 --- a/ansible/playbooks/roles/wireguard_server/tasks/main.yaml___back +++ /dev/null @@ -1,62 +0,0 @@ ---- -- name: Install Wireguard Server - apt: - pkg: - - wireguard - state: latest - update_cache: true - - -- name: Create directory for wg keys - ansible.builtin.file: - path: /etc/wireguard/keys - state: directory - mode: '0755' - -- name: Creating server privatekey and publickey - shell: wg genkey | tee privatekey | wg pubkey > publickey - args: - chdir: /etc/wireguard/keys - -- name: Get Private Key [privatekey => var_privatekey] - shell: cat privatekey - register: var_privatekey - args: - chdir: /etc/wireguard/keys - - -#- name: Add WireGuard interface -# command: ip link add dev wg0 type wireguard - - -- name: Updating configuration - template: - src: wireguard_server.jinja - dest: /etc/wireguard/wg0.conf - -#- name: Activating link -# command: ip link set up dev wg0 - - -- name: Starting wg service - systemd: - state: started - name: wg-quick@wg0 - enabled: yes - - -- name: Getting public key - shell: cat publickey - register: var_publickey - args: - chdir: /etc/wireguard/keys - - -- name: Check server public IP - shell: curl https://ipinfo.io/ip - register: var_server_ip - - -- name: Printing public key - debug: - msg: "Server {{ ansible_hostname }} reachable @{{var_server_ip}}. Public key is {{ var_publickey }}" diff --git a/ansible/playbooks/roles/wireguard_server/templates/wireguard_server.jinja b/ansible/playbooks/roles/wireguard_server/templates/wireguard_server.jinja index cb8c9e3..2a8c72f 100644 --- a/ansible/playbooks/roles/wireguard_server/templates/wireguard_server.jinja +++ b/ansible/playbooks/roles/wireguard_server/templates/wireguard_server.jinja @@ -16,7 +16,7 @@ PostDown = iptables -t nat -D POSTROUTING ! -o {{wg_interface}} -m mark --mark 0 {% for peer in wg_peers %} -# {{ peer.name }} +# Peer ID : {{ peer.name }} [Peer] PublicKey = {{ peer.publicKey }} AllowedIPs = {{ peer.ip }}