[NetDev] Name={{ wireguard_p2p_interface.name }} Kind=wireguard {% if 'description' in wireguard_p2p_interface %} Description={{ wireguard_p2p_interface.description }} {% endif %} [WireGuard] {% if 'priv_key' in wireguard_p2p_interface %} PrivateKey={{ wireguard_p2p_interface.priv_key }} {% else %} PrivateKeyFile=/etc/systemd/network/{{ wireguard_p2p_interface.name }}.privkey {% endif %} {% if 'listen_port' in wireguard_p2p_interface %} ListenPort={{ wireguard_p2p_interface.listen_port }} {% endif %} {% for peer in wireguard_p2p_peers %} [WireGuardPeer] PublicKey={{ peer.pub_key }} {% for ip in peer.allowed_ips %} AllowedIPs={{ ip }} {% endfor %} {% if 'endpoint' in peer %} Endpoint={{ peer.endpoint.host }}:{{ peer.endpoint.port | default(51820) }} {% endif %} {% if 'keepalive_interval' in peer %} PersistentKeepalive={{ peer.keepalive_interval }} {% endif %} {% endfor %}