You've already forked role_wireguard
Compare commits
6 Commits
1e5564ef62
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b900d7b9c | |||
| a6070477ad | |||
| cf129a2a44 | |||
| f1640b44cd | |||
| f7aa5380e0 | |||
| 5c7420d284 |
@@ -10,6 +10,12 @@ Variable permettant de déployer le module (dkms) de wireguard sur l'hôte qui h
|
|||||||
|
|
||||||
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
|
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
|
||||||
|
|
||||||
|
### wireguard_restart_services
|
||||||
|
|
||||||
|
Redémarrer les services si la configuration a été modifiée.
|
||||||
|
|
||||||
|
*<span style="text-decoration: underline">Valeur par défaut:</span> `true`*
|
||||||
|
|
||||||
### wireguard_interfaces
|
### wireguard_interfaces
|
||||||
|
|
||||||
Configuration des interfaces de wireguard (`/etc/wireguard/wgX.conf`).
|
Configuration des interfaces de wireguard (`/etc/wireguard/wgX.conf`).
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# defaults file for wireguard
|
# defaults file for wireguard
|
||||||
|
|
||||||
wireguard_module_host: ""
|
wireguard_module_host: ""
|
||||||
wireguard_listen_port: ""
|
wireguard_restart_services: true
|
||||||
|
|
||||||
wireguard_interfaces: []
|
wireguard_interfaces: []
|
||||||
# Exemple:
|
# Exemple:
|
||||||
|
|||||||
23
handlers/main.yml
Normal file
23
handlers/main.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
# handlers file for wireguard
|
||||||
|
|
||||||
|
- name: Activer les services
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
enabled: true
|
||||||
|
name: wg-quick@wg{{ item }}.service
|
||||||
|
become: true
|
||||||
|
loop: "{{ deploy.results | selectattr('changed', 'equalto', true) | map(attribute='index') }}"
|
||||||
|
loop_control:
|
||||||
|
index_var: index
|
||||||
|
label: wg{{ index }}
|
||||||
|
|
||||||
|
- name: Redémarrer les services
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
state: restarted
|
||||||
|
name: wg-quick@wg{{ item }}.service
|
||||||
|
when: wireguard_restart_services
|
||||||
|
become: true
|
||||||
|
loop: "{{ deploy.results | selectattr('changed', 'equalto', true) | map(attribute='index') }}"
|
||||||
|
loop_control:
|
||||||
|
index_var: index
|
||||||
|
label: wg{{ index }}
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
# tasks file for wireguard
|
|
||||||
|
|
||||||
- name: Déployer la configuration des interfaces
|
|
||||||
ansible.builtin.template:
|
|
||||||
src: wgN.j2
|
|
||||||
dest: /etc/wireguard/{{ interface }}.conf
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: u=rw,g=r,o=r
|
|
||||||
loop: "{{ wireguard_interfaces }}"
|
|
||||||
loop_control:
|
|
||||||
index_var: index
|
|
||||||
label: "{{ interface }}"
|
|
||||||
vars:
|
|
||||||
interface: wg{{ index }}
|
|
||||||
become: true
|
|
||||||
register: deploy
|
|
||||||
|
|
||||||
- name: Activer et redémarrer les services
|
|
||||||
ansible.builtin.systemd:
|
|
||||||
state: restarted
|
|
||||||
enabled: true
|
|
||||||
name: wg-quick@wg{{ item }}.service
|
|
||||||
become: true
|
|
||||||
loop: "{{ deploy.results | selectattr('changed', 'equalto', true) | map(attribute='index') }}"
|
|
||||||
loop_control:
|
|
||||||
index_var: index
|
|
||||||
label: wg{{ index }}
|
|
||||||
22
tasks/container.yml
Normal file
22
tasks/container.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
# tasks file for wireguard
|
||||||
|
|
||||||
|
- name: Tâches de gestion du module du noyau
|
||||||
|
block:
|
||||||
|
- name: Charger le module du noyau
|
||||||
|
community.general.modprobe:
|
||||||
|
name: wireguard
|
||||||
|
state: present
|
||||||
|
rescue:
|
||||||
|
- name: Installer le module du noyau sur l'hôte
|
||||||
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
name: wireguard-dkms
|
||||||
|
become: true
|
||||||
|
delegate_to: "{{ wireguard_module_host | default(omit, true) }}"
|
||||||
|
|
||||||
|
- name: Installer l'outil de configuration
|
||||||
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
name: wireguard-tools
|
||||||
|
become: true
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
---
|
|
||||||
# tasks file for wireguard
|
|
||||||
|
|
||||||
- name: Installer le paquet
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
name: wireguard
|
|
||||||
when: wireguard_module_host | length == 0
|
|
||||||
become: true
|
|
||||||
register: wireguard_install
|
|
||||||
|
|
||||||
- name: Installer le module du noyau sur l'hôte
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
name: wireguard-dkms
|
|
||||||
when: wireguard_module_host | length > 0
|
|
||||||
delegate_to: "{{ wireguard_module_host }}"
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Installer l'outil de configuration
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
name: wireguard-tools
|
|
||||||
when: wireguard_module_host | length > 0
|
|
||||||
become: true
|
|
||||||
|
|
||||||
#- name: Créer le dossier contenant la configuration
|
|
||||||
# ansible.builtin.file:
|
|
||||||
# state: directory
|
|
||||||
# mode: u=rwx,g=,o=
|
|
||||||
# path: "{{ wireguard_conf_path }}"
|
|
||||||
# delegate_to: "{{ wireguard_server_host }}"
|
|
||||||
# become: true
|
|
||||||
@@ -1,8 +1,33 @@
|
|||||||
---
|
---
|
||||||
# tasks file for wireguard
|
# tasks file for wireguard
|
||||||
|
|
||||||
- name: Importer les tâches d'installation
|
- name: Installer le paquet
|
||||||
ansible.builtin.import_tasks: installation.yml
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
name: wireguard
|
||||||
|
when: wireguard_module_host | length == 0
|
||||||
|
become: true
|
||||||
|
|
||||||
- name: Importer les tâches de configuration
|
- name: Importer les tâches spécifique aux conteneurs
|
||||||
ansible.builtin.import_tasks: configuration.yml
|
ansible.builtin.import_tasks:
|
||||||
|
file: container.yml
|
||||||
|
when: wireguard_module_host | length > 0
|
||||||
|
|
||||||
|
- name: Déployer la configuration des interfaces
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: wgN.j2
|
||||||
|
dest: /etc/wireguard/{{ interface }}.conf
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: u=rw,g=r,o=r
|
||||||
|
loop: "{{ wireguard_interfaces }}"
|
||||||
|
loop_control:
|
||||||
|
index_var: index
|
||||||
|
label: "{{ interface }}"
|
||||||
|
vars:
|
||||||
|
interface: wg{{ index }}
|
||||||
|
become: true
|
||||||
|
register: deploy
|
||||||
|
notify:
|
||||||
|
- Activer les services
|
||||||
|
- Redémarrer les services
|
||||||
|
|||||||
@@ -11,7 +11,9 @@ Address = {{ item.addresses | join(', ') }}
|
|||||||
[Peer]
|
[Peer]
|
||||||
# {{ peer.name }}
|
# {{ peer.name }}
|
||||||
PublicKey = {{ peer.pubkey }}
|
PublicKey = {{ peer.pubkey }}
|
||||||
|
{% if peer.endpoint is defined %}
|
||||||
Endpoint = {{ peer.endpoint }}
|
Endpoint = {{ peer.endpoint }}
|
||||||
|
{% endif %}
|
||||||
AllowedIPs = {{ peer.allowed_ips | join(', ') }}
|
AllowedIPs = {{ peer.allowed_ips | join(', ') }}
|
||||||
{% if peer.persistent_keepalive is defined %}
|
{% if peer.persistent_keepalive is defined %}
|
||||||
PersistentKeepalive = {{ peer.persistent_keepalive }}
|
PersistentKeepalive = {{ peer.persistent_keepalive }}
|
||||||
|
|||||||
Reference in New Issue
Block a user