ansible-role-wireguard_client/templates/wireguard_client.conf

26 lines
1.1 KiB
Text

[Interface]
Address = {{ wg_address | default(AllowedIPs) }}
PrivateKey = {{ private_key }}
ListenPort = {{ listenport }}
{% if vpn_dns is defined %}DNS = {{ vpn_dns }}{% endif %}
# From inventory
{% for item in groups['wireguard_clients'] %}{% if hostvars[item]['inventory_hostname'] != inventory_hostname and 'PublicKey' in hostvars[item] and 'AllowedIPs' in hostvars[item] %}
# Peer name: {{ item }}
[Peer]
PublicKey = {{ hostvars[item]['PublicKey'] }}
AllowedIPs = {{ hostvars[item]['AllowedIPs'] }}
{% if hostvars[item]['EndPointIP'] is defined and hostvars[item]['EndPointIP'] != '' %}EndPoint = {{ hostvars[item]['EndPointIP'] }}:{{ hostvars[item]['listenport'] | default(listenport) }}
{% endif %}{% endif %}{% endfor %}
# From peers configuration
{% for item in wireguard_peers %}{% if item['name'] != inventory_hostname and 'PublicKey' in item and 'AllowedIPs' in item %}
# Peer name: {{ item.name }}
[Peer]
PublicKey = {{ item.PublicKey }}
AllowedIPs = {{ item.AllowedIPs }}
{% if item.EndPointIP is defined and item.EndPointIP != '' %}
EndPoint = {{ item.EndPointIP }}:{{ listenport }}
{% endif %}
{% endif %}{% endfor %}