Compare commits

..

88 Commits

Author SHA1 Message Date
9019c0dbe7 modification de lb-bd 2023-01-30 10:36:52 +01:00
9fd18796a6 modif README.md 2023-01-27 09:49:23 +01:00
6e33ccce33 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-27 09:45:16 +01:00
f38fca4561 ajout et modif README.md 2023-01-27 09:45:11 +01:00
01c2b76936 ajout ferm.conf 2023-01-27 09:43:16 +01:00
a6a35324ba Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-27 09:42:06 +01:00
70950f9e4e ajout README.md 2023-01-27 09:41:55 +01:00
a7f366a124 nmap rvp2 2023-01-27 09:37:04 +01:00
143c3878a3 ajout fichier test nmap 2023-01-27 09:15:49 +01:00
76b4ceabe3 ajout ferm.conf 2023-01-27 09:08:36 +01:00
0988c9729e enieme modif nfs 2023-01-27 09:01:34 +01:00
9bcfcc6305 modif role nfs-server again 2023-01-27 08:42:51 +01:00
4cb8aa49b9 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-26 11:56:37 +01:00
340333d5d1 readme maj s-backup 2023-01-26 11:55:44 +01:00
82f6fdc9c9 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-26 11:55:43 +01:00
17618a8c8e modif nfs-server 2023-01-26 11:55:37 +01:00
3dac065600 crontab desactivé par défaut pour crontab à 5h tout les jours s-backup sur partage smb s-win 2023-01-26 11:43:00 +01:00
acb722461c Correction du script d'installation de GLPI 2023-01-26 11:37:15 +01:00
6200de2cda correc role nfs-server 2023-01-26 11:23:29 +01:00
0074367972 wp tentative 2 2023-01-25 17:35:28 +01:00
3aa4a58252 modification README.md 2023-01-25 17:08:49 +01:00
8fd183998e Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 17:05:42 +01:00
f4b736847e Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 17:02:52 +01:00
5c8efd5e62 modification README.md 2023-01-25 17:02:49 +01:00
ab2cc8da96 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 17:02:42 +01:00
44c8fc32a5 tentative de faire marcher wp 1 2023-01-25 17:02:39 +01:00
385563b4f2 Mise à jour du playbook pour l'installation de GLPI 2023-01-25 16:54:29 +01:00
fff62c5507 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 16:34:11 +01:00
6139095296 MAJ role lb-web 2023-01-25 16:33:56 +01:00
9b609e6418 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 16:26:08 +01:00
332c8a2167 mise a jour goss s-agence 2023-01-25 16:25:40 +01:00
a3c2d85952 erreur dans lb-web 2023-01-25 16:09:44 +01:00
f8e3eabb9d Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 15:59:38 +01:00
043a273589 nouveau role lb-web 2023-01-25 15:59:35 +01:00
5981b67dd9 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 15:33:10 +01:00
36336384e6 haproxy FINAL correc 2023-01-25 15:31:26 +01:00
0da9fc0d5a mise a jour goss r-vp2 2023-01-25 15:25:07 +01:00
62f9591c62 goss s-backup 2023-01-25 15:24:53 +01:00
c32cf92cf5 correction role lb-front 2023-01-25 15:17:18 +01:00
d0ba31e795 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 11:29:48 +01:00
69aa1ac739 update test goss 2023-01-25 11:29:45 +01:00
90222678ce correction haproxy 2023-01-25 11:26:54 +01:00
1fc84c8f19 goss s-mon correction 2023-01-25 11:21:09 +01:00
b17d0fbac1 correction ip s-elk en 99.11 dns-master et compagnie 2023-01-25 11:07:20 +01:00
edbce48966 correc2 2023-01-25 11:02:49 +01:00
56f3780480 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 10:45:47 +01:00
5eae26a67c correction roles lb 2023-01-25 10:45:36 +01:00
7711d023e8 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-25 10:43:19 +01:00
1777bec595 mise a jour 2023-01-25 10:43:14 +01:00
12621bb60a ajout readme 2023-01-25 10:28:22 +01:00
592843932c modif doc README 2023-01-25 00:23:46 +01:00
abfe277180 script s-backup backup.sh trap 2023-01-24 10:49:32 +01:00
c2eb2b85a4 correction script gsb partage 2023-01-24 10:13:40 +01:00
c20f44ec6e mkusr-backup windows 2023-01-24 09:34:23 +01:00
0c7d48caf3 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-24 09:23:40 +01:00
12de1c8891 commenter erreur 2023-01-24 09:23:21 +01:00
5fffbc77e2 ajout echo pour ping 2023-01-24 08:50:27 +01:00
b1e87cdd1e modification ping infra 2023-01-23 11:32:54 +01:00
7f7207cf46 ortho 2023-01-21 17:37:36 +01:00
1187a5e28d doc... 2023-01-21 17:36:02 +01:00
8cef3cbf6b doc ... 2023-01-21 17:08:20 +01:00
49ca8325e8 doc ... 2023-01-21 16:57:44 +01:00
08973e83b3 doc role nxc-traefik 2023-01-21 16:44:56 +01:00
79c7bd34e6 Maj lb-front 2023-01-20 09:46:08 +01:00
0cd9f1bb4c Correction fichier interface 2023-01-20 09:38:46 +01:00
4dd5b711e2 nettoyage 2023-01-20 09:15:54 +01:00
f4361d9ecb maj doc 2023-01-19 12:48:44 +01:00
5d767a195d maj doc 2023-01-19 12:46:32 +01:00
7092ed5963 maj doc .md 2023-01-19 12:36:35 +01:00
a508e7e65c reorganisation 2023-01-19 00:03:47 +01:00
da5011466b nettoyage, maj doc, README 2023-01-19 00:02:58 +01:00
e395c14752 modif mkvm 2023-01-18 23:24:33 +01:00
c5c261893c Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-18 10:26:01 +01:00
b8d05aa7c5 Changement README Windows 2023-01-18 10:24:51 +01:00
ce6d9e4c57 correction erreur nommage WP inst-depl 2023-01-17 10:59:47 +01:00
8d241f8786 inst-depl MAJ version WP FILEBEAT,METRICBEAT,MKCERT,GOSS,... + s-adm pas role local-store 2023-01-17 10:51:40 +01:00
2822944c95 postfix ok et template mail nagios 2023-01-12 11:57:09 +01:00
85657ca334 Modif du script d'installation de docker 2023-01-12 11:42:49 +01:00
d3c3ef1fdc commenté sshpass dans main.yml 2023-01-12 11:34:37 +01:00
073c529f19 recup
Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023
2023-01-12 09:38:13 +01:00
c5d7bc847b modif pour glpi 10.0.5 2023-01-12 09:37:45 +01:00
4c0b3295af Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-12 09:05:01 +01:00
cd9c94ec5c Modification mkvm pour s-fog 2023-01-12 09:04:03 +01:00
dd73c48e28 modif mkvm ajout s-nxc 2023-01-12 08:55:46 +01:00
7f4588c279 Modification mkvm pour s-fog 2023-01-12 08:45:54 +01:00
ca6a1b9513 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-10 09:41:43 +01:00
2ab19a6497 modif goss r-ext 2023-01-10 09:41:14 +01:00
b017071726 correction interfaces sources ignore 2023-01-10 09:41:08 +01:00
130 changed files with 1097 additions and 576 deletions

View File

@ -1,22 +1,40 @@
# gsb2023
2023-01-06
2023-01-25 ps
Environnement et playbooks ansible pour le projet GSB 2023
## Quickstart
prérequis :
Prérequis :
* une machine Debian Bullseye
* VirtualBox
* fichier machines viruelles **ova** :
* **debian-bullseye-gsb-2023a.ova**
* **debian-buster-gsb-2023a.ova**
## Les machines
* s-adm
* s-infra
* r-int
* r-ext
* s-proxy
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
* **r-int** : routage, DHCP
* **r-ext** : routage, NAT
* **s-proxy** : squid
* **s-itil** : serveur GLPI
* **s-backup** : DNS esclave + sauvegarde s-win (SMB)
* **s-mon** : supervision avec **Nagios4**, notifications et syslog
* **s-fog** : deploiement postes de travail avec **FOG**
* **s-win** : Windows Server 2019, AD, DNS, DHCP, partage fichiers
* **s-nxc** : NextCloud avec **docker**
* **s-elk** : pile ELK dockerisée
* **s-lb** : Load Balancer **HaProxy** pour application Wordpress (DMZ)
* **r-vp1** : Routeur VPN Wireguard coté siège
* **r-vp2** : Routeur VPN Wireguard coté agence, DHCP
* **s-agence** : Serveur agence
* **s-lb** : Load Balancer **HaProxy** pour application Wordpress
* **s-lb-web1** : Serveur Wordpress 1 Load Balancer
* **s-lb-web2** : Serveur Wordpress 2 Load Balancer
* **s-lb-db** : Serveur Mariadb pour Wordpress
* **s-lb-nfs** : Serveur NFS pour application Wordpress
## Les playbooks
@ -26,7 +44,7 @@ prérequis :
On utilisera l'image de machine virtuelle suivante :
* **debian-bullseye-2023a.ova** (2023-01-06)
* Debian Bullseye 11 - 2 cartes - 1 Go - stockage 20 Go
* Debian Bullseye 11.6 - 2 cartes - 1 Go - stockage 20 Go
### Machine s-adm

12
goss/list-goss Normal file
View File

@ -0,0 +1,12 @@
cd goss/
goss -g r-vp1.yaml v
goss -g r-vp1.yaml aa wireguard
goss add interface enp0s3
goss add interface enp0s8
goss add interface enp0s9
goss add interface wg0
goss aa wireguard
goss add package wireguard-tools
goss add service wg-quick@wg0
goss add command "ping -c4 10.0.0.2"
goss add file "/etc/wireguard/wg0.conf"

View File

@ -34,8 +34,6 @@ interface:
- 192.168.100.254/24
enp0s9:
exists: true
addrs:
- 192.168.0.38/24
enp0s16:
exists: true
addrs:

View File

@ -1,67 +1,56 @@
file:
/etc/wireguard/wg0.conf:
exists: true
mode: "0644"
owner: root
group: root
filetype: file
contains:
- AllowedIPs = 10.0.0.2/32, 172.16.128.0/24
package:
# ferm:
# installed: true
strongswan:
wireguard:
installed: true
port:
udp:68:
listening: true
versions:
- 1.0.20210223-1
wireguard-tools:
installed: true
versions:
- 1.0.20210223-1
service:
# dnsmasq:
# enabled: true
# running: true
strongswan:
enabled: true
running: true
ssh:
wg-quick@wg0:
enabled: true
running: true
command:
sysctl net.ipv4.ip_forward:
host 192.168.99.99:
exit-status: 0
stdout:
- net.ipv4.ip_forward = 1
- 99.99.168.192.in-addr.arpa domain name pointer s-adm.gsb.adm.
stderr: []
timeout: 10000
command:
ping -c 4 192.168.0.52:
ping -c4 10.0.0.2:
exit-status: 0
stdout:
- 4 received = 1
- 0% packet loss
stderr: []
timeout: 10000
command:
ping -c 4 192.168.1.1:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
command:
ping -c 4 192.168.200.254:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
command:
ping -c 4 172.16.0.1:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
#process:
# dnsmasq:
# running: true
# squid:
# running: true
interface:
enp0s3:
exists: true
addrs:
- 192.168.99.112/24
mtu: 1500
enp0s8:
exists: true
addrs:
- 192.168.0.51/24
- 192.168.1.2/24
mtu: 1500
enp0s9:
exists: true
addrs:
- 192.168.1.2/24
- 192.168.0.51/24
mtu: 1500
wg0:
exists: true
addrs:
- 10.0.0.1/32
mtu: 1420

52
goss/r-vp2.yaml Normal file
View File

@ -0,0 +1,52 @@
file:
/etc/wireguard/wg0.conf:
exists: true
mode: "0644"
owner: root
group: root
filetype: file
contains: []
package:
wireguard:
installed: true
versions:
- 1.0.20210223-1
wireguard-tools:
installed: true
versions:
- 1.0.20210223-1
service:
isc-dhcp-server:
enabled: true
running: true
wg-quick@wg0:
enabled: true
running: true
command:
ping -c4 10.0.0.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
interface:
enp0s3:
exists: true
addrs:
- 192.168.99.102/24
mtu: 1500
enp0s8:
exists: true
addrs:
- 172.16.128.254/24
mtu: 1500
enp0s9:
exists: true
addrs:
- 192.168.0.52/24
mtu: 1500
wg0:
exists: true
addrs:
- 10.0.0.2/32
mtu: 1420

View File

@ -1,67 +0,0 @@
package:
ferm:
installed: true
ipsec:
installed: true
port:
tcp:53:
listening: true
udp:67:
listening: true
udp:68:
listening: true
service:
dnsmasq:
enabled: true
running: true
ferm:
enabled: true
running: true
ssh:
enabled: true
running: true
command:
sysctl net.ipv4.ip_forward:
exit-status: 0
stdout:
- net.ipv4.ip_forward = 1
stderr: []
timeout: 10000
sysctl ping -c 4 192.168.0.51:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
sysctl ping -c 4 192.168.1.1:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
sysctl ping -c 4 192.168.200.254:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
sysctl ping -c 4 172.16.0.1:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
process:
dnsmasq:
running: true
squid3:
running: true
interface:
enp0s8:
exists: true
addrs:
- 172.16.128.254/24
enp0s9:
exists: true
addrs:
- 192.168.0.52/24

View File

@ -1,39 +1,19 @@
command:
ip r:
ip route |grep default:
exit-status: 0
stdout:
- default via 172.16.128.254 dev enp0s8
- 172.16.128.0/24
- 192.168.99.0/24
stderr: []
timeout: 10000
ping -c 2 172.16.128.254:
ping -c4 172.16.0.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.1.2:
ping -c4 172.16.128.254:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.1.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.200.254:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 172.16.0.1:
exit-status: 0
stdout:
- 0% packet loss
- 0% packet loss
stderr: []
timeout: 10000

41
goss/s-backup.yaml Normal file
View File

@ -0,0 +1,41 @@
package:
bind9:
installed: true
cifs-utils:
installed: true
rsync:
installed: true
smbclient:
installed: true
service:
bind9:
enabled: true
running: true
rsync:
enabled: true
running: false
command:
ping -c4 ns.gsb.lan:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
#check si partage windows accesible
smbclient -L //s-win --user=uBackup%Azerty1+ | grep 'public':
exit-status: 0
stdout:
- public
stderr: []
timeout: 10000
interface:
enp0s3:
exists: true
addrs:
- 192.168.99.4/24
mtu: 1500
enp0s8:
exists: true
addrs:
- 172.16.0.4/24
mtu: 1500

View File

@ -49,7 +49,7 @@ interface:
enp0s3:
exists: true
addrs:
- 192.168.99.104/24
- 192.168.99.8/24
enp0s8:
exists: true
addrs:

View File

@ -1,8 +0,0 @@
---
- hosts: localhost
connection: local
roles:
- goss
- docker-graylog-pont
- post

View File

@ -1,14 +0,0 @@
#!/bin/bash
ping -c3 172.16.128.254
ping -c3 192.168.1.2
ping -c3 192.168.1.1
ping -c3 192.168.200.253
ping -c3 192.168.200.254
ping -c3 172.16.0.254
ping -c3 172.16.0.1

View File

@ -1,14 +0,0 @@
#!/bin/bash
ping -c3 172.16.0.1
ping -c3 172.16.0.254
ping -c3 192.168.200.254
ping -c3 192.168.1.1
ping -c3 192.168.1.2
ping -c3 172.16.128.254
ping -c3 172.16.128.10

View File

@ -1,12 +0,0 @@
#!/bin/bash
ping -c3 172.16.0.1
ping -c3 192.168.200.253
ping -c3 192.168.1.1
ping -c3 192.168.1.2
ping -c3 172.16.128.254
ping -c3 172.16.128.10

View File

@ -1,14 +0,0 @@
#!/bin/bash
ping -c3 172.16.0.254
ping -c3 192.168.200.254
ping -c3 192.168.200.253
ping -c3 192.168.1.1
ping -c3 192.168.1.2
ping -c3 172.16.125.254
ping -c3 172.16.128.10

View File

@ -1,5 +1,5 @@
#!/bin/bash
## ps : 2021-04-01 15:25
## aa : 2023-04-18 15:25
set -o errexit
set -o pipefail
@ -9,33 +9,42 @@ apt update && apt upgrade
apt install -y apache2 git
STOREREP="/var/www/html/gsbstore"
GLPIREL=9.5.6
GLPIREL=10.0.6
str="wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
FIREL=9.5
str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5%2B3.0/fusioninventory-9.5+3.0.tar.bz2"
FIAGREL=2.6
str31="wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x64_${FIAGREL}.exe"
#Fusion Inventory
#FIREL=10.0.3+1.0
#str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.bz2"
#GLPI Agent
GLPIAGVER=1.4
str31="wget -nc https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x64.msi"
str32="wget -nc https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x86.msi"
str32="wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x86_${FIAGREL}.exe"
FOGREL=1.5.9
str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
WPREL=5.8.2
str5="wget -nc https://fr.wordpress.org/wordpress-${WPREL}-fr_FR.tar.gz"
WPREL=6.1.1
#v6.1.1 le 17/01/2023
str5="wget -nc https://fr.wordpress.org/latest-fr_FR.tar.gz -O wordpress-6.1.1-fr_FR.tar.gz"
GOSSVER=v0.3.16
GOSSVER=v0.3.21
str6="curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss"
DOCKERREL=1.29.2
str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose"
#DOCKERREL=1.29.2
#str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose"
GESTSUPREL=3.2.15
str8="wget -nc https://gestsup.fr/downloads/versions/current/version/gestsup_${GESTSUPREL}.zip"
#GESTSUPREL=3.2.30
#str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
ELKREL=7.16.3
ELKREL=8.6.0
str81="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
str82="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
@ -70,12 +79,12 @@ curl -L https://get.docker.com -o getdocker.sh
chmod +x ./getdocker.sh
${str7}
#${str7}
chmod +x ./docker-compose
#chmod +x ./docker-compose
wget -nc https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 -O mkcert
wget -nc https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64 -O mkcert
chmod +x ./mkcert
@ -90,4 +99,3 @@ EOT
)
cat "${STOREREP}/getall"

View File

@ -1,5 +1,9 @@
#!/bin/bash
dir=/root/tools/ansible
prj=gsb2023
opt=""
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
fi
@ -11,6 +15,14 @@ dir=/root/tools/ansible
cd "${dir}" || exit 1
hostname > hosts
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
if [[ $# == 1 ]] ; then
opt=$1
fi
if [[ "${opt}" == '-l' ]] ; then
cd "${dir}/${prj}" || exit 2
ansible-playbook -i localhost, -c local "$(hostname).yml"
else
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
fi
exit 0

1
proxy
View File

@ -1 +0,0 @@
/etc/nginx/sites-availables/proxy

View File

@ -1,6 +1,6 @@
#!/bin/bash
if [ -z ${UREP+x} ]; then
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
fi
@ -11,6 +11,6 @@ dir=/root/tools/ansible
cd "${dir}" || exit 1
hostname > hosts
ansible-pull -i "${dir}/hosts" -U "${UREP}"
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
exit 0

View File

@ -10,18 +10,23 @@
192.168.99.3 s-appli.gsb.adm
192.168.99.4 s-backup.gsb.adm
192.168.99.5 s-puppet.gsb.adm
192.168.99.6 s-win.gsb.adm
192.168.99.6 s-win.gsb.adm
192.168.99.7 s-nxc.gsb.adm
192.168.99.8 s-mon.gsb.adm
192.168.99.9 s-itil.gsb.adm
192.168.99.10 s-sspec.gsb.adm
192.168.99.11 s-web-ext.gsb.adm
192.168.99.10 s-lb.gsb.adm
192.168.99.11 s-elk.gsb.adm
192.168.99.10 s-dns.gsb.adm
192.168.99.12 r-int.gsb.adm
192.168.99.13 r-ext.gsb.adm
192.168.99.14 s-nas.gsb.adm
192.168.99.15 s-san.gsb.adm
192.168.99.16 s-fog.gsb.adm
192.168.99.50 s-lb-bd.gsb.adm
192.168.99.101 s-lb-web1.gsb.adm
192.168.99.102 s-lb-web2.gsb.adm
192.168.99.103 s-lb-web3.gsb.adm
192.168.99.8 syslog.gsb.adm

View File

@ -11,16 +11,20 @@
192.168.99.3 s-appli.gsb.adm
192.168.99.4 s-backup.gsb.adm
192.168.99.5 s-puppet.gsb.adm
192.168.99.6 s-win.gsb.adm
192.168.99.6 s-win.gsb.adm
192.168.99.7 s-nxc.gsb.adm
192.168.99.8 s-mon.gsb.adm
192.168.99.9 s-itil.gsb.adm
192.168.99.10 s-sspec.gsb.adm
192.168.99.11 s-web-ext.gsb.adm
192.168.99.10 s-lb.gsb.adm
192.168.99.11 s-elk.gsb.adm
192.168.99.10 s-dns.gsb.adm
192.168.99.12 r-int.gsb.adm
192.168.99.13 r-ext.gsb.adm
192.168.99.14 s-nas.gsb.adm
192.168.99.50 s-lb-bd.gsb.adm
192.168.99.101 s-lb-web1.gsb.adm
192.168.99.102 s-lb-web2.gsb.adm
192.168.99.103 s-lb-web3.gsb.adm
192.168.99.8 syslog.gsb.adm

View File

@ -5,7 +5,7 @@
;
$TTL 604800
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
2022041200 ; Serial
2023012500 ; Serial
7200 ; Refresh
86400 ; Retry
8419200 ; Expire
@ -25,7 +25,7 @@ s-nxc IN A 172.16.0.7
s-docker IN A 172.16.0.7
s-mon IN A 172.16.0.8
s-itil IN A 172.16.0.9
s-elk IN A 172.16.0.10
s-elk IN A 172.16.0.11
s-gestsup IN A 172.16.0.17
r-int IN A 172.16.0.254
r-int-lnk IN A 192.168.200.254

View File

@ -5,7 +5,7 @@
;
$TTL 604800
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
2022041200 ; Serial
2023012500 ; Serial
7200 ; Refresh
86400 ; Retry
8419200 ; Expire
@ -20,12 +20,12 @@ $TTL 604800
6.0 IN PTR s-win.gsb.lan.
7.0 IN PTR s-nxc.gsb.lan.
8.0 IN PTR s-mon.gsb.lan.
9.0 IN PTR s-itil.gsb.lan.
9.0 IN PTR s-itil.gsb.lan.
101.1 IN PTR s-web1
101.2 IN PTR s-web2
100.10 IN PTR s-lb
100.10 IN PTR s-lb.gsb.lan
10.0 IN PTR s-elk.gsb.lan.
11.0 IN PTR s-elk.gsb.lan.
17.0 IN PTR s-gestsup.lan
254.0 IN PTR r-int.gsb.lan.

View File

@ -1,16 +1,16 @@
---
- name: Téléchargement getdocker.sh
ansible.builtin.get_url:
url: http://s-adm.gsb.adm/gsbstore/getdocker.sh
dest: /tmp
mode: '0755'
- name: Supprime le fichier getdocker.sh si déjà présent
file:
state: absent
path: /tmp/getdocker.sh
- name: Télécharge le script d'installation de docker
uri:
url: 'https://get.docker.com'
method: GET
dest: /tmp/getdocker.sh
mode: a+x
register: result
- name: Execution du script getdocker
ansible.builtin.script:
cmd: /tmp/getdocker.sh
- name: Téléchargement docker-compose
ansible.builtin.get_url:
url: http://s-adm.gsb.adm/gsbstore/docker-compose
dest: /usr/local/bin
mode: '0755'
shell: bash /tmp/getdocker.sh

19
roles/fw-ferm-1/README.md Normal file
View File

@ -0,0 +1,19 @@
[Ferm]:http://ferm.foo-projects.org/
Modifier l'execution d'iptables [plus d'info ici]:https://wiki.debian.org/iptables
```bash
update-alternatives --set iptables /usr/sbin/iptables-legacy
```
Pour tester utiliser [Nmap]:https://nmap.org/man/fr/man-briefoptions.html
```bash
sudo nmap -p51820 192.168.0.51
```(r-vp1)
```bash
sudo nmap -p51820 192.168.0.52
```(r-vp2)
Sortie :
`PORT STATE SERVICE
51820/tcp filtered unknown`
Faire des ping!

63
roles/fw-ferm-1/ferm.conf Normal file
View File

@ -0,0 +1,63 @@
# -*- shell-script -*-
#
# Ferm script r-vp1
@def $DEV_PRIVATE = enp0s8;
@def $DEV_WORLD = enp0s9;
@def $NET_PRIVATE = 172.16.0.0/24;
table filter {
chain (INPUT OUTPUT){
# allow VPN
proto udp dport 51820 ACCEPT;
}
chain INPUT {
policy DROP;
# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
# allow local connections
interface lo ACCEPT;
# respond to ping
proto icmp icmp-type echo-request ACCEPT;
# allow SSH connections from the private network and from some
# well-known internet hosts
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT;
# we provide DNS and SMTP services for the internal net
interface $DEV_PRIVATE saddr $NET_PRIVATE {
proto (udp tcp) dport domain ACCEPT;
proto udp dport bootps ACCEPT;
}
# interface réseau
interface $DEV_WORLD {
}
# the rest is dropped by the above policy
}#FIN INPUT
# outgoing connections are not limited
chain OUTPUT policy ACCEPT;
chain FORWARD {
policy ACCEPT;
# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
# connections from the internal net to the internet or to other
# internal nets are allowed
interface $DEV_PRIVATE ACCEPT;
# the rest is dropped by the above policy
}
}

19
roles/fw-ferm-2/README.md Normal file
View File

@ -0,0 +1,19 @@
[Ferm]:http://ferm.foo-projects.org/
Modifier l'execution d'iptables [plus d'info ici]:https://wiki.debian.org/iptables
```bash
update-alternatives --set iptables /usr/sbin/iptables-legacy
```
Pour tester utiliser [Nmap]:https://nmap.org/man/fr/man-briefoptions.html
```bash
sudo nmap -p51820 192.168.0.51
```(r-vp1)
```bash
sudo nmap -p51820 192.168.0.52
```(r-vp2)
Sortie :
`PORT STATE SERVICE
51820/tcp filtered unknown`
Faire des ping!

62
roles/fw-ferm-2/ferm.conf Normal file
View File

@ -0,0 +1,62 @@
# -*- shell-script -*-
#
# Ferm script r-vp2
@def $DEV_PRIVATE = enp0s9;
@def $DEV_WORLD = enp0s8;
@def $NET_PRIVATE = 172.16.0.0/24;
table filter {
chain (INPUT OUTPUT){
# allow VPN
proto udp dport 51820 ACCEPT;
}
chain INPUT {
policy DROP;
# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
# allow local connections
interface lo ACCEPT;
# respond to ping
proto icmp icmp-type echo-request ACCEPT;
# allow SSH connections from the private network and from some
# well-known internet hosts
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT;
# we provide DNS and SMTP services for the internal net
interface $DEV_PRIVATE saddr $NET_PRIVATE {
proto (udp tcp) dport domain ACCEPT;
proto udp dport bootps ACCEPT;
}
# interface réseau
interface $DEV_WORLD {
}
# the rest is dropped by the above policy
}#FIN INPUT
# outgoing connections are not limited
chain OUTPUT policy ACCEPT;
chain FORWARD {
policy ACCEPT;
# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
# connections from the internal net to the internet or to other
# internal nets are allowed
interface $DEV_PRIVATE ACCEPT;
# the rest is dropped by the above policy
}
}

View File

@ -0,0 +1,6 @@
depl_url: "http://s-adm.gsb.adm/gsbstore"
#depl_glpi: "glpi-9.5.6.tgz"
depl_glpi: "glpi-10.0.6.tgz"
#depl_fusioninventory: "fusioninventory-9.5+3.0.tar.bz2"
depl_glpi_agentx64: "GLPI-Agent-1.4-x64.msi"
depl_glpi_agentx86: "GLPI-Agent-1.4-x86.msi"

View File

@ -105,12 +105,12 @@
# - name: copy .my.cnf file with root password credentials
# copy: src=.my.cnf dest=/root/tools/ansible/.my.cnf owner=root mode=0600
- name: Installation de Fusioninventory pour Linux
unarchive:
src: "{{ depl_url }}/{{ depl_fusioninventory }}"
#src: http://depl/gsbstore/fusioninventory-{{ fd_version }}.tar.bz2
dest: /var/www/html/glpi/plugins
remote_src: yes
# - name: Installation de Fusioninventory pour Linux
# unarchive:
# src: "{{ depl_url }}/{{ depl_fusioninventory }}"
#src: http://depl/gsbstore/fusioninventory-{{ fd_version }}.tar.bz2
# dest: /var/www/html/glpi/plugins
# remote_src: yes
- name: Creation de ficlient
file:
@ -127,23 +127,15 @@
group: www-data
mode: 0775
- name: Installation de FusionInventory windows x64
- name: Installation de GLPI Agent windows x64
get_url:
url: "{{ depl_url }}/{{ depl_fusioninventory_agentx64 }}"
url: "{{ depl_url }}/{{ depl_glpi_agentx64 }}"
dest: "/var/www/html/ficlients"
- name: Installation de FusionInventory windows x86
get_url:
url: "{{ depl_url }}/{{ depl_fusioninventory_agentx86 }}"
dest: "/var/www/html/ficlients"
- name: Attribution des permissions sur repertoire /plugins/fusioninventory
file:
path: /var/www/html/glpi/plugins/fusioninventory
owner: www-data
group: www-data
recurse: yes
state: directory
# - name: Installation de GLPI Agent windows x86
# get_url:
# url: "{{ depl_url }}/{{ depl_glpi_agentx86 }}"
# dest: "/var/www/html/ficlients"
- name: Copie du script dbdump
copy:

View File

@ -1,5 +0,0 @@
depl_url: "http://s-adm.gsb.adm/gsbstore"
depl_glpi: "glpi-9.5.6.tgz"
depl_fusioninventory: "fusioninventory-9.5+3.0.tar.bz2"
depl_fusioninventory_agentx64: "fusioninventory-agent_windows-x64_2.6.exe"
depl_fusioninventory_agentx86: "fusioninventory-agent_windows-x86_2.6.exe"

View File

@ -44,7 +44,6 @@ backend fermeweb
#option httpchk HEAD / HTTP/1.0
server s-lb-web1 192.168.101.1:80 check
server s-lb-web2 192.168.101.2:80 check
#server s-lb-web3 192.168.101.3:80 check
listen stats

View File

@ -0,0 +1,25 @@
- name: install haproxy
apt:
name: haproxy
state: present
- name: parametre backend et fontend
blockinfile:
path: /etc/haproxy/haproxy.cfg
block: |
frontend proxypublic
bind 192.168.100.10:80
default_backend fermeweb
backend fermeweb
balance roundrobin
option httpclose
#option httpchk HEAD / HTTP/1.0
server s-lb-web1 192.168.101.1:80 check
server s-lb-web2 192.168.101.2:80 check
- name: redemarre haproxy
service:
name: haproxy
# state: restarted
enabled: yes

View File

@ -0,0 +1,10 @@
# Role s-nas-server
## Installation de nfs-server et mise en oeuvre du partage /home/wordpress
Ce rôle :
* installe **nfs-server**
* copie le fichier de configuration **exports** pour exporter le répertoire **/home/wordpress**
* relance le service **nfs-server**
* décompresse wordpress
### Objectif
Le répertoire **/home/wordpress** est exporté par **nfs** sur le réseau **n-dmz-db**

View File

@ -7,4 +7,4 @@
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
/home/wordpress 192.168.102.0/255.255.255.0 (rw,no_root_squash,subtree_check)
/home/wordpress 192.168.102.0/255.255.255.0(rw,no_root_squash,subtree_check)

View File

@ -0,0 +1,70 @@
- name: 00 - cree repertoire wordpress pour export nfs
file:
path: /home/wordpress
state: directory
- name: 05 - Install nfs-server
apt:
name: nfs-server
state: present
- name: 10 - creation fichier exports nfs
ansible.builtin.blockinfile:
path: /etc/exports
block: |
/home/wordpress 192.168.102.0/255.255.255.0(rw,no_root_squash,subtree_check)
- name: 20 - decompresse wordpress
unarchive:
src: https://fr.wordpress.org/latest-fr_FR.tar.gz
dest: /home/
remote_src: yes
- name: 22 - change owner et group pour repertoire wordpress
file:
path: /home/wordpress
state: directory
recurse: yes
owner: www-data
group: www-data
- name: 30 - genere fichier de config wordpress
copy:
src: /home/wordpress/wp-config-sample.php
dest: /home/wordpress/wp-config.php
remote_src: yes
- name: 35 - ajuste variable dbname dans fichier de config wp-config.php
replace:
path: /home/wordpress/wp-config.php
regexp: "votre_nom_de_bdd"
replace: "wordpressdb"
backup: yes
- name: 40 ajuste variable dbusername dans fichier de config wp-config.php
replace:
path: /home/wordpress/wp-config.php
regexp: "votre_utilisateur_de_bdd"
replace: "wordpressuser"
backup: yes
- name: 45 - ajuste variable mdp dans fichier de config wp-config.php
replace:
path: /home/wordpress/wp-config.php
regexp: "votre_mdp_de_bdd"
replace: "wordpresspasswd"
backup: yes
- name: 50 - ajuste hostname fichier wp-config.php
replace:
path: /home/wordpress/wp-config.php
regexp: "localhost"
replace: "192.168.102.253"
backup: yes
- name: 55 - relance nfs
service:
name: nfs-server
state: restarted
enabled: yes

View File

@ -0,0 +1,2 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_wordpress: "wordpress-6.1.1-fr_FR.tar.gz"

View File

@ -0,0 +1,10 @@
---
- name: installation php et apache ...
apt:
name:
- apache2
- php
- php-mbstring
- php-mysql
- mariadb-client
state: present

View File

@ -1,5 +1,6 @@
#!/bin/bash
GLPIREL=9.5.3
#GLPIREL=9.5.3
GLPIREL=10.0.5
wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz
FIREL=9.5+1.0

View File

@ -0,0 +1 @@
MAIL_DEST: "anthony.arnoux@protonmail.ch"

View File

@ -35,7 +35,7 @@ define contact {
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email nagios.gsb22@gmail.com
email {{ MAIL_DEST }}
}

View File

@ -2,34 +2,36 @@
Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionner ce playbook, docker doit être installé.
## Premièrement
## 1.
Le playbook va créer le dossier nxc à la racine de root. Deux fichier docker-compose "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
Enfin, dans le répertoire nxc, seront créé les dossier certs et config.
Le playbook crée le dossier **nxc** à la racine de root.
### Deuxièmement
Les fichiers "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
Le playbook va copier les fichiers placés dans "files" et les placer dans les bons répertoires.
Enfin, dans le répertoire nxc, sont créés les répertoires **certs** et **config**.
#### Troisièmement
## 2. Copie des fichiers
Le playbook va créer un certificat x509 grâce à mkcert, il s'agit d'une solution permettant de créer
des certificats auto-signés. Pour cela il télécharge mkcert sur s-adm (utiliser le getall).
Le playbook copie les fichiers placés dans "files" et les placer dans les bons répertoires.
mkcert sera placé dans : /usr/local/bin/
## 3. Génération du certificat
Pour créer le certificat le playbook va executer des lignes de commandes (lancé depuis nxc/) :
Le playbook crée un certificat **x509** grâce à **mkcert**, il s'agit d'une solution permettant de créer des certificats auto-signés. Pour cela, il télécharge **mkcert** sur **s-adm** (utiliser le script **getall**).
**mkcert** est placé dans : /usr/local/bin/
Pour créer le certificat, le playbook exécute les commandes (lancé depuis nxc/) :
```
/usr/local/bin/mkcert -install # Installe mkcert
/usr/local/bin/mkcert -key-file key.pem -cert-file cert.pem "hôte.domaine.local" "*.domaine.local" #Crée le certificat le DNS spécifié
```
##### Quatrièmement
## 4. Lancement
Le playbook va lancer les fichier "docker-compose" à savoir : nextcloud.yml et traefik.yml.
Cela va installer les solutions automatiquement. Nextcloud est alors fonctionnel avec
un proxy inverse qui va rediriger en HTTPS.
Le playbook lance les fichiers "docker-compose" à savoir : nextcloud.yml et traefik.yml qui démarrent les deux piles **docker**.
Nextcloud est alors fonctionnel avec le proxy inverse **traefik** assurant la redirection vers HTTPS.
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
Une fois le script fini, accedez au site :
https://s-nxc.gsb.lan
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan

View File

@ -8,37 +8,30 @@ iface lo inet loopback
# Reseau N-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.12
netmask 255.255.255.0
address 192.168.99.12/24
# Reseau liaison avec r-ext
allow-hotplug enp0s8
iface enp0s8 inet static
address 192.168.200.254
netmask 255.255.255.0
address 192.168.200.254/24
gateway 192.168.200.253
up ip route add default via 192.168.200.253
# Reseau wifi
allow-hotplug enp0s9
iface enp0s9 inet static
address 172.16.65.254
netmask 255.255.255.0
address 172.16.65.254/24
# Reseau user
allow-hotplug enp0s10
iface enp0s10 inet static
address 172.16.64.254
netmask 255.255.255.0
address 172.16.64.254/24
# Reseau infra
allow-hotplug enp0s16
iface enp0s16 inet static
address 172.16.0.254
netmask 255.255.255.0
up /root/routagenat
address 172.16.0.254/24

View File

@ -8,13 +8,13 @@ iface lo inet loopback
# cote N-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.10
address 192.168.99.11
netmask 255.255.255.0
gateway 192.168.99.99
# cote N-infra
allow-hotplug enp0s8
iface enp0s8 inet static
address 172.16.0.10
address 172.16.0.11
netmask 255.255.255.0
post-up route add -net 172.16.64.0/24 gw 172.16.0.254

View File

@ -1,7 +1,7 @@
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
#source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
@ -10,7 +10,7 @@ iface lo inet loopback
# cote n-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.104/24
address 192.168.99.8/24
gateway 192.168.99.99
# Cote n-infra
@ -20,4 +20,4 @@ iface enp0s8 inet static
up ip route add 172.16.64.0/24 via 172.16.0.254
up ip route add 172.16.128.0/24 via 172.16.0.254
up ip route add 192.168.0.0/16 via 172.16.0.254
up ip route add 192.168.200.0/24 via 172.16.0.254
up ip route add 192.168.200.0/24 via 172.16.0.254

View File

@ -1,4 +1,4 @@
source /etc/network/interfaces.d/*
#source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
@ -14,4 +14,4 @@ iface enp0s3 inet static
allow-hotplug enp0s8
iface enp0s8 inet static
address 192.168.102.253
netmask 255.255.255.0
netmask 255.255.255.0

View File

@ -1,2 +1 @@
[smtp.gmail.com]:587 nagios.gsb22@gmail.com:Azerty1+
chmod 600 /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 anthony.arnoux22@gmail.com:gndtfomdkxnmcdft

View File

@ -4,6 +4,7 @@
name:
- postfix
- mailutils
- libsasl2-modules
state: latest
- name: Copie du fichier sasl_passwd
@ -12,17 +13,75 @@
src: sasl_passwd
dest: /etc/postfix/sasl/
- name: Copie du fichier main.cf
tags: main.cf
template:
src: main.cf.j2
dest: /etc/postfix.main.cf
- name: ajout relay host gmail
tags: postfix
replace:
path: /etc/postfix/main.cf
regexp: '^relayhost ='
replace: 'relayhost = [smtp.gmail.com]:587'
notify: restart postfix
- name: Commande postmap
- name: ajout lignes conf postfix
tags: postfix
blockinfile:
path: /etc/postfix/main.cf
block: |
#TLS
smtp_use_tls = yes
#SASL
smtp_sasl_auth_enable = yes
#pas d auth anonyme
smtp_sasl_security_options = noanonymous
#chemin sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
#chemin certificats CA
smtp_tls_CAfile = /etc/postfix/cacert.pem
notify: restart postfix
#- name: Copie du fichier main.cf
# tags: main.cf
# template:
# src: main.cf.j2
# dest: /etc/postfix.main.cf
- name: Commande postmap identifiants
tags: postmap
command: postmap /etc/postfix/sasl/sasl_passwd
notify: restart postfix
- name: Ensure directory exists for local self-signed TLS certs.
file:
path: /etc/ssl/certs/postfix
state: directory
- name: Generate an OpenSSL private key
community.crypto.openssl_privatekey:
path: /etc/ssl/certs/postfix/privkey.pem
- name: Generate an OpenSSL CSR
community.crypto.openssl_csr:
path: /etc/ssl/certs/postfix/postfix.csr
privatekey_path: /etc/ssl/certs/postfix/privkey.pem
common_name: "GSB2023.LAN"
- name: Generate a Self Signed OpenSSL certificate.
community.crypto.x509_certificate:
path: /etc/ssl/certs/postfix/fullchain.pem
privatekey_path: /etc/ssl/certs/postfix/privkey.pem
csr_path: /etc/ssl/certs/postfix/postfix.csr
provider: selfsigned
- name: Copy certificate preserve owner and permissions to be used with postfix
copy:
remote_src: true
src: /etc/ssl/certs/postfix/fullchain.pem
dest: /etc/postfix/cacert.pem
owner: root
group: root
mode: '0644'
notify: restart postfix
- name: message d'information pour gmail
tags: msg2
debug: msg="Il faut activer les applications moins sécurisées sur le compte google"
debug: msg="Il faut activer les applications moins sécurisées sur le compte google"

View File

@ -3,11 +3,11 @@
- name: Copie du fichier sysctl.conf
copy: src=sysctl.conf dest=/etc/
- name: copier le script de routage
copy: src=routagenat dest=/root/
#- name: copier le script de routage
# copy: src=routagenat dest=/root/
- name: rendre executabe le script
shell: chmod +x /root/routagenat
#- name: rendre executabe le script
# shell: chmod +x /root/routagenat
#- name: exectuer le script
# script: /root/routagenat

View File

@ -1,2 +0,0 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_wordpress: "wordpress-5.8.2-fr_FR.tar.gz"

View File

@ -1,38 +0,0 @@
---
- name: creation repertoir
file:
path: /home/
state: directory
- name: download and extract wordpress
unarchive:
src: "{{ depl_url }}/{{ depl_wordpress }}"
dest: /home/
remote_src: yes
owner: www-data
group: www-data
- name: Copy sample config file
command: mv /home/wordpress/wp-config-sample.php /home/wordpress/wp-config.php creates=/home/wordpress/wp-config.php
- name: Changement du fichier de conf
copy:
src: wp-config.php
dest: /home/wordpress/wp-config.php
- name: Attributions des permissions
file:
path: /home/wordpress
recurse: yes
owner: 33
group: 33
# - name: Fix permissions
# shell: chown -R www-data /var/www/wordpress/*
#
# - name: Update default Apache site
# lineinfile:
# dest=/etc/apache2/sites-enabled/000-default.conf
# regexp="(.)+DocumentRoot /var/www/html"
# line="DocumentRoot /var/www/wordpress"
# notify:
# - restart apache2

View File

@ -1,11 +0,0 @@
---
- name: Installation d'HAproxy
apt: pkg=haproxy state=present update_cache=yes
- name: Fichier de configuration
copy: src=haproxy.cfg dest=/etc/haproxy/haproxy.cfg
notify:
- restart haproxy
- name: Copie de goss
copy: src=goss.yaml dest=/root

View File

@ -1,3 +0,0 @@
##Installation de nfs
Ce rôle télécharge NFS puis copie un fichier de configuration pour partager le dossier /home/wordpress.

View File

@ -1,18 +0,0 @@
---
- name: installation des paquets
apt:
name:
- nfs-kernel-server
state: latest
- name: copie exports pour partage nfs wordpress
copy:
src: exports
dest: /etc
- name: redemarrage du service rpcbind requis pour le service nfs
shell: service rpcbind restart
- name: redemarrage du service nfs-kernel-server
shell: service nfs-kernel-server restart

View File

@ -6,6 +6,13 @@ s-backup permet de récupérer les dossiers et fichiers présent dans le répert
# Lancement du script backup.sh
Après la fin de l'installation de s-backup et la fin de la configuration de s-win vous pouvez
lancer le fichier backup.sh pour récuperer l'intégraliter du fichier partagé gsb.lan de s-win
lancer le fichier backupsmb.sh pour récuperer l'intégraliter du fichier partagé gsb.lan de s-win
sur la machine s-backup.
# Crontab
Une crontab a été ajoutée mais désactivée par défaut ( backupsmb.sh executée tout les jours à 5h00)
# Pistes
- Traps à consolider

View File

@ -1,27 +0,0 @@
#!/bin/bash
BDIR=/home/backup
SWIN=/tmp/s-win
[ -d "${BDIR}" ] || mkdir "${BDIR}"
[ -d "${BDIR}" ] || mkdir "${BDIR}/s-win"
[ -d "${SWIN}" ] || mkdir "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=u-backup,password=Azerty1+ //s-win/commun "${SWIN}"
if [ $? != 0 ] ; then
echo "$0 : erreur montage ${SWIN}"
exit 1
fi
rsync -av "${SWIN}/" "${BDIR}/s-win/commun"
umount "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=u-backup,password=Azerty1+ //s-win/public "${SWIN}"
if [ $? != 0 ] ; then
echo "$0 : erreur montage"
exit 2
fi
rsync -av "${SWIN}/" "${BDIR}/s-win/public"
umount "${SWIN}"
exit 0

View File

@ -0,0 +1,51 @@
#!/bin/bash
BDIR=/home/backup
SWIN=/tmp/s-win
LOCK=/tmp/s-backup.lock
#Fonction cleanup pour sortir propre dans tout les cas
cleanup()
{
rm "${LOCK}"
umount "${SWIN}"
echo "nettoyage effectue, sortie tout propre ..."
exit 3
}
#check si pas deja en cours d execution > sortie si fichier de lock existe
if [ -e "${LOCK}" ] ; then
echo "$0 : Verrouillage, deja en cours d execution"
trap cleanup 1 2 3 6
fi
#prepartion des dossiers qui vont accueillir les donnees à sauvegarder
[ -d "${BDIR}" ] || mkdir "${BDIR}"
[ -d "${BDIR}/s-win" ] || mkdir "${BDIR}/s-win"
[ -d "${SWIN}" ] || mkdir "${SWIN}"
#etablissement du lock
touch "${LOCK}"
mount -t cifs -o ro,vers=3.0,username=uBackup,password=Azerty1+ //s-win/commun "${SWIN}"
if [ $? != 0 ] ; then
echo "$0 : erreur montage ${SWIN}"
rm "${LOCK}"
trap cleanup 1 2 3 6
fi
rsync -av "${SWIN}/" "${BDIR}/s-win/commun"
umount "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=uBackup,password=Azerty1+ //s-win/public "${SWIN}"
if [ $? != 0 ] ; then
echo "$0 : erreur montage ${SWIN}"
trap cleanup 1 2 3 6
fi
rsync -av "${SWIN}/" "${BDIR}/s-win/public"
umount "${SWIN}"
#libere le verrou
rm "${LOCK}"
exit 0

View File

@ -2,7 +2,22 @@
apt:
name:
- rsync
- smbclient
- smbclient
- cifs-utils
state: present
- name: copie script backupsmb dans /usr/local/bin
copy:
src: backupsmb.sh
dest: /usr/local/bin
owner: root
group: root
mode: '0755'
- name: crontab backupsmb ( commentee par defaut )
cron:
name: backupsmb
disabled: true
minute: "0"
hour: "5"
job: "/usr/local/bin/backupsmb.sh"

View File

@ -0,0 +1,5 @@
#ajout du sleep 5
éditer "/etc/init.d/isc-dhcp-server"
aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if"

View File

@ -9,13 +9,13 @@
name: wireguard-tools
state: present
- name: installation de sshpass
apt:
name: sshpass
state: present
#- name: installation de sshpass
# apt:
# name: sshpass
# state: present
- name: copie du fichier de configuration depuis r-vp1
command: "sshpass -p 'root' scp -r root@192.168.99.112:/root/confwg/wg0-b.conf /etc/wireguard/"
#- name: copie du fichier de configuration depuis r-vp1
# command: "sshpass -p 'root' scp -r root@192.168.99.112:/root/confwg/wg0-b.conf /etc/wireguard/"
- name: renommage du fichier de configuration
command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"
#- name: renommage du fichier de configuration
# command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"

View File

@ -1,14 +1,13 @@
#Installation de r-vp1 (Wireguard)
Procédure d'installation de r-vp1 et de copie du fichier wg0-b.conf.
***
***
Ce fichier à pour but de présenter l'installation de r-vp1
***
Depuis r-vp1 se deplacer dans le repertoire **/tools/ansible/gsb2023** pour executer le playbook:
**"ansible-playbook -i localhost, -c local r-vp1.yml"** puis reboot r-vp1.
Attendre la fin de l'installation. Ensuite faire une copie distante du fichier
wg0-b.conf sur r-vp2 **"scp /confwg/wg0-b.conf root@'ip r-vp2':/etc/wireguard/"**.
Se rendre dans le dossier gsb2022 et éxécuter la commande suivante :
_"ansible-playbook -i localhost, -c local r-vp1.yml"_
Attendre la fin de l'installation, puis se rendre dans le dossier confwg
Faites une copie à distance du fichier wg0-b.conf sur r-vp2 et déplacer le fichier wg0-a.conf localement dans /etc/wireguard
Renommer les deux fichiers en wg0.conf
Executer _"systemctl enable wg-quick@wg0"_ puis _"systemctl start wg-quick@wg0"_ sur r-vp1 et r-vp2
Entrer la commande _"wg"_ si des paquets sont envoyés et reçus votre VPN fonctionne.
Lorsque votre infrastructure est prête rendez vous dans gsb2022 et éxécuter le **fichier ping-sagence** afin vérifier le bon fonctionnement.
Renommer les fichiers en **wg0.conf**
Executer **"systemctl enable wg-quick@wg0"** puis **"systemctl start wg-quick@wg0"** sur r-vp1 et r-vp2.
Entrer la commande **"wg"** pour voir si l'interface wg0 est correctement montée.

Some files were not shown because too many files have changed in this diff Show More