write vpn config
This commit is contained in:
parent
967fc48329
commit
4346b49e62
5 changed files with 39 additions and 10 deletions
|
@ -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) }}"
|
||||
|
|
19
roles/vpn/templates/wiregard.conf
Normal file
19
roles/vpn/templates/wiregard.conf
Normal file
|
@ -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…
Reference in a new issue