--- - name: Install required packages apt: pkg: - ifupdown2 - wireguard - nftables state: latest update_cache: yes - name: Tweak sysctl to enable IP forwarding template: src: sysctl.conf.j2 dest: /etc/sysctl.d/forwarding.conf owner: root group: root mode: u=rw,g=r,o= - name: Create tunnels configurations template: src: wireguard.conf.j2 dest: "/etc/wireguard/{{ item.name }}.conf" owner: root group: root mode: u=rw,g=,o= loop: "{{ wireguard_endpoints }}" # try to hide clear-text private keys from Ansible output no_log: True diff: no - name: Create network interfaces template: src: interface.j2 dest: "/etc/network/interfaces.d/{{ item.name }}" owner: root group: root mode: u=rw,g=r,o= loop: "{{ wireguard_endpoints }}" no_log: True diff: no notify: - Reload network interfaces - name: Enable nftables systemd: name: nftables.service state: started enabled: yes - name: Configure nftables template: src: nftables.conf.j2 dest: /etc/nftables.conf validate: /sbin/nft -c -f %s owner: root group: root mode: u=rw,g=r,o= notify: - Reload nftables ...