write vpn config

networking
Jean-Marie Mineau 3 years ago
parent 967fc48329
commit 4346b49e62

@ -6,7 +6,7 @@ vpn_interfaces:
public_key: "o9rdoSdnp4twbNbZAMl0wY4sFQh647qqRv6V8HJwMQY="
keepalive: true
peers:
- endpoint: "{{ hostvars['hindley.adh.auro.re'].enp2s0.ipv4 }}"
public_key: "{{ hostvars['hindley.adh.auro.re'].wg0.public_key }}"
allowed_ip: "{{ hostvars['hindley.adh.auro.re'].wg0.ip }}"
- endpoint: "{{ hostvars['hindley.adh.auro.re'].interfaces.enp2s0.ipv4 }}"
public_key: "{{ hostvars['hindley.adh.auro.re'].vpn_interfaces.wg0.public_key }}"
allowed_ip: "{{ hostvars['hindley.adh.auro.re'].vpn_interfaces.wg0.ip }}"
allowed_mask: "{{ interfaces.wg0.netmaskv4 }}"

@ -6,7 +6,7 @@ vpn_interfaces:
public_key: "+qV1RHAgSigOkrxUKqpGR83bydmlIHrEiw+A7zjbRk4="
keepalive: true
peers:
- endpoint: "{{ hostvars['hindley.adh.auro.re'].enp2s0.ipv4 }}"
public_key: "{{ hostvars['hindley.adh.auro.re'].wg0.public_key }}"
allowed_ip: "{{ hostvars['hindley.adh.auro.re'].wg0.ip }}"
- endpoint: "{{ hostvars['hindley.adh.auro.re'].interfaces.enp2s0.ipv4 }}"
public_key: "{{ hostvars['hindley.adh.auro.re'].vpn_interfaces.wg0.public_key }}"
allowed_ip: "{{ hostvars['hindley.adh.auro.re'].vpn_interfaces.wg0.ip }}"
allowed_mask: "{{ interfaces.wg0.netmaskv4 }}"

@ -7,10 +7,10 @@ vpn_interfaces:
keepalive: false
peers:
- endpoint: ""
public_key: "{{ hostvars['azerty.fil.sand.auro.re'].wg0.public_key }}"
allowed_ip: "{{ hostvars['azerty.fil.sand.auro.re'].wg0.ip }}"
public_key: "{{ hostvars['azerty.fil.sand.auro.re'].vpn_interfaces.wg0.public_key }}"
allowed_ip: "{{ hostvars['azerty.fil.sand.auro.re'].vpn_interfaces.wg0.ip }}"
allowed_mask: 32
- endpoint: ""
public_key: "{{ hostvars['hellman.fil.sand.auro.re'].wg0.public_key }}"
allowed_ip: "{{ hostvars['hellman.fil.sand.auro.re'].wg0.ip }}"
public_key: "{{ hostvars['hellman.fil.sand.auro.re'].vpn_interfaces.wg0.public_key }}"
allowed_ip: "{{ hostvars['hellman.fil.sand.auro.re'].vpn_interfaces.wg0.ip }}"
allowed_mask: 32

@ -14,3 +14,13 @@
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Create config files
template:
src: "wiregard.conf"
dest: "/etc/wireguard/{{ item.key }}.conf"
owner: root
group: root
mode: '600'
loop:
- "{{ lookup('dict', vpn_interfaces) }}"

@ -0,0 +1,19 @@
{{ ansible_managed | comment }}
[Interface]
Address = {{ item.value.ip }}
PrivateKey = {{ item.value.private_key }}
ListenPort = {{ vpn_port }}
{% for peer in item.value.peers %}
[Peer]
Publickey = {{ peer.public_key }}
{% if peer.endpoint %}
Endpoint = {{peer.endpoint}}:{{ vpn_port }}
{% endif %}
AllowedIPs = {{peer.allowed_ip}}/{{ peer.allowed_mask }}
{% endfor %}
{% if item.value.keepalive %}
PersistentKeepalive = {{ vpn_keepalive_period }}
{% endif %}
Loading…
Cancel
Save