3 Commits

Author SHA1 Message Date
Jarod Pauchet
3cc5c7a773 playbook wireguard 2024-11-14 16:49:17 +01:00
Jarod Pauchet
149e630c47 Ajout des playbooks wireguard 2024-11-14 16:45:36 +01:00
d6e080d014 Ajout de l'étape 6 2024-11-14 09:53:24 +00:00
5 changed files with 176 additions and 1 deletions

View File

@@ -1,6 +1,9 @@
# Projet SDIS29 - 2025 - Groupe 3 # Projet SDIS29 - 2025 - Groupe 3
**Lastest Update** Version v0.0.5c-rr : le 14/11/24 à 10h40 par Rotsy Rahaingo
**Lastest Update** Version v0.0.4c-jp : le 08/11/2024 à 11h10 par Jarod PAUCHET **Oldest Update** Version v0.0.5b-rr : le 14/11/24 à 09h35 par Rotsy Rahaingo
**Oldest Update** Version v0.0.4c-jp : le 08/11/2024 à 11h10 par Jarod PAUCHET
**Oldest Update** Version v0.0.4a-rr : le 08/11/2024 à 10h30 par Rotsy Rahaingo **Oldest Update** Version v0.0.4a-rr : le 08/11/2024 à 10h30 par Rotsy Rahaingo
@@ -192,3 +195,10 @@ sudo sed -i "$rpl" /etc/systemd/journal-upload.conf
sudo systemctl enable --now systemd-journal-upload.service sudo systemctl enable --now systemd-journal-upload.service
sudo systemctl restart systemd-journal-upload.service sudo systemctl restart systemd-journal-upload.service
```` ````
## **Etape 6: Automatisation avec ansible**
Il est également possible d'installer les serveurs ap33-prod et ap33-test automatiquement grâce à ansible. Comme ces machines sont en production, il sera plus judicieux de le faire sur une machine test. Il faudra donc créer deux autres machines :
* **ap33-ans** qui contiendra les différents playbooks
* **ap33-pt** sera la machine cible et également la machine test
Pour avoir plus de détails sur chaque playbook, on peut voir dans le répertoire [ansible](https://gitea.lyc-lecastel.fr/uap33-2025-r/sdis29-3/src/branch/main/ansible).

Binary file not shown.

View File

@@ -1,2 +1,12 @@
[pt] [pt]
ap33-pt ap33-pt
[wg]
ap33-mon
ap33-prod
[wg_master]
ap33-mon
[wg_cli]
ap33-prod

65
ansible/mkwgconf.sh Normal file
View File

@@ -0,0 +1,65 @@
#!/bin/bash
set -u
set -e
<<<<<<< HEAD
AddressAwg=10.0.0.1/24 # Adresse VPN Wireguard extremite A
EndpointA=172.16.0.122 # Adresse extremite A
PortA=51820 # Port ecoute extremite A
AddressBwg=10.0.0.2/24 # Adresse VPN Wireguard extremite B
=======
AddressAwg=172.16.0.1/24 # Adresse VPN Wireguard extremite A
EndpointA=172.16.0.122 # Adresse extremite A
PortA=51820 # Port ecoute extremite A
AddressBwg=172.16.0.2/24 # Adresse VPN Wireguard extremite B
>>>>>>> d6e080d0145615056a7a0eb3d2f9e512809eb4f5
EndpointB=172.16.0.121 # Adresse extremite B
PortB=51820 # Port ecoute extremite B
umask 077 ;
wg genkey > endpoint-a.key
wg pubkey < endpoint-a.key > endpoint-a.pub
wg genkey > endpoint-b.key
wg pubkey < endpoint-b.key > endpoint-b.pub
PKA=$(cat endpoint-a.key)
pKA=$(cat endpoint-a.pub)
PKB=$(cat endpoint-b.key)
pKB=$(cat endpoint-b.pub)
<<<<<<< HEAD
cat <<FINI > wg0-1.conf
=======
cat <<FINI > wg1-a.conf
>>>>>>> d6e080d0145615056a7a0eb3d2f9e512809eb4f5
# local settings for Endpoint A
[Interface]
PrivateKey = $PKA
Address = $AddressAwg
ListenPort = $PortA
# remote settings for Endpoint B
[Peer]
PublicKey = $pKB
Endpoint = ${EndpointB}:$PortB
AllowedIPs = $AddressBwg
FINI
<<<<<<< HEAD
cat <<FINI > wg0-2.conf
=======
cat <<FINI > wg1-b.conf
>>>>>>> d6e080d0145615056a7a0eb3d2f9e512809eb4f5
# local settings for Endpoint B
[Interface]
PrivateKey = $PKB
Address = $AddressBwg
ListenPort = $PortB
# remote settings for Endpoint A
[Peer]
PublicKey = $pKA
Endpoint = ${EndpointA}:$PortA
AllowedIPs = $AddressAwg
FINI

90
ansible/wg.yml Normal file
View File

@@ -0,0 +1,90 @@
---
- hosts: wg
<<<<<<< HEAD
become: yes
tasks:
- name: arrete unattended-upgrades
service:
name: unattended-upgrades
state: stopped
- name: installe Wireguard
apt:
name:
- wireguard
- wireguard-tools
state: present
- hosts: wg_master
tasks:
- name: copie le fichier wg0-1.conf et wg0-2.conf vers les machines master et cli
copy:
src: mkwgconf.sh
dest: mkwgconf.sh
- name: generations fichier configuration wireguard wg0-1.conf etc
shell: bash mkwgconf.sh
- name: récupération du fichier wg0-1.conf vers ap33-ans
fetch:
src: wg0-1.conf
dest: wg0-1.conf
flat: yes
- name: récupération du fichier wg0-2.conf vers ap33-ans
fetch:
src: wg0-2.conf
dest: wg0-2.conf
flat: yes
- hosts: wg
become: yes
tasks:
- name: copie fichier wg0-1 vers les clients
copy:
src: wg0-1.conf
dest: /etc/wireguard/wg0.conf
when: ansible_hostname == "ap33-mon"
- name: copie fichier wg0-2 vers les clients
copy:
src: wg0-2.conf
dest: /etc/wireguard/wg0.conf
when: ansible_hostname == "ap33-prod"
- hosts: wg
become: yes
tasks:
- name: Activation de wireguard
service:
name: wg-quick@wg0.service
enabled: yes
- name: Redémarre le wireguard
service:
name: wg-quick@wg0.service
state: restarted
=======
tasks:
- name: installe Wireguard
apt:
name:
- wireguard
- wireguard-tools
state: present
- hosts: wg-master
tasks:
- name: copie le fichier wg1-a.conf et wg1-b.conf vers les machines master et cli
copy:
src: mkwgconf.sh
dest: mkwgconf.sh
flat: yes
- name: generations fichier configuration wireguard wg0-1.conf etc
shell: bash mkwgconf.sh
- hosts: wg-cli
tasks:
- name: copie fichier
>>>>>>> d6e080d0145615056a7a0eb3d2f9e512809eb4f5