# WireGuard Client Configuration - {{ item.name }} # Generated by Ansible on {{ ansible_date_time.iso8601 }} # Server: {{ inventory_hostname }} [Interface] PrivateKey = {{ item.private_key }} Address = {{ item.ipv4 }}/32,{{ item.ipv6 }}/128 {% if wireguard_dns_servers | length > 0 %} DNS = {{ wireguard_dns_servers | join(', ') }} {% endif %} [Peer] PublicKey = {{ wireguard_server_public_key }} {% if item.preshared_key %} PresharedKey = {{ item.preshared_key }} {% endif %} Endpoint = {{ public_ip }}:{{ wireguard_port }} # Allow all VPN traffic (peer-to-peer connectivity) AllowedIPs = {{ wireguard_ipv4_network }},{{ wireguard_ipv6_network }}{% if wireguard_additional_routes | length > 0 %},{{ wireguard_additional_routes | join(',') }}{% endif %} PersistentKeepalive = {{ item.persistent_keepalive | default(25) }}