Compare commits

..

10 Commits

Author SHA1 Message Date
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
10 changed files with 102 additions and 40 deletions

View File

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

View File

@ -2,19 +2,19 @@
Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionner ce playbook, docker doit être installé. Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionner ce playbook, docker doit être installé.
## 1. ## 1.
Le playbook crée le dossier **nxc** à la racine de root. Le playbook crée le dossier **nxc** à la racine de root.
Les fichiers "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook. Les fichiers "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
Enfin, dans le répertoire nxc, seront créés les répertoires **certs** et **config**. Enfin, dans le répertoire nxc, sont créés les répertoires **certs** et **config**.
## 2. Copie des fichiers ## 2. Copie des fichiers
Le playbook copie les fichiers placés dans "files" et les placer dans les bons répertoires. Le playbook copie les fichiers placés dans "files" et les placer dans les bons répertoires.
## 3. Generation du certificat ## 3. Génération du certificat
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**). 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**).

View File

@ -1,27 +1,51 @@
#!/bin/bash #!/bin/bash
BDIR=/home/backup BDIR=/home/backup
SWIN=/tmp/s-win 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}" ] || mkdir "${BDIR}"
[ -d "${BDIR}" ] || mkdir "${BDIR}/s-win" [ -d "${BDIR}/s-win" ] || mkdir "${BDIR}/s-win"
[ -d "${SWIN}" ] || mkdir "${SWIN}" [ -d "${SWIN}" ] || mkdir "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=u-backup,password=Azerty1+ //s-win/commun "${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 if [ $? != 0 ] ; then
echo "$0 : erreur montage ${SWIN}" echo "$0 : erreur montage ${SWIN}"
exit 1 rm "${LOCK}"
trap cleanup 1 2 3 6
fi fi
rsync -av "${SWIN}/" "${BDIR}/s-win/commun" rsync -av "${SWIN}/" "${BDIR}/s-win/commun"
umount "${SWIN}" umount "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=u-backup,password=Azerty1+ //s-win/public "${SWIN}" mount -t cifs -o ro,vers=3.0,username=uBackup,password=Azerty1+ //s-win/public "${SWIN}"
if [ $? != 0 ] ; then if [ $? != 0 ] ; then
echo "$0 : erreur montage" echo "$0 : erreur montage ${SWIN}"
exit 2 trap cleanup 1 2 3 6
fi fi
rsync -av "${SWIN}/" "${BDIR}/s-win/public" rsync -av "${SWIN}/" "${BDIR}/s-win/public"
umount "${SWIN}" umount "${SWIN}"
#libere le verrou
rm "${LOCK}"
exit 0 exit 0

View File

@ -17,5 +17,5 @@
#- name: copie du fichier de configuration depuis r-vp1 #- 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/" # command: "sshpass -p 'root' scp -r root@192.168.99.112:/root/confwg/wg0-b.conf /etc/wireguard/"
- name: renommage du fichier de configuration #- name: renommage du fichier de configuration
command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf" # command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"

View File

@ -2,14 +2,14 @@ mkdir C:\gsb\partages
cd C:\gsb\partages cd C:\gsb\partages
mkdir compta mkdir compta
mkdir ventes mkdir ventes
mkdir public mkdir public
mkdir commun mkdir commun
mkdir users cd C:\gsb
mkdir users

3
windows/mkusr-backup.cmd Normal file
View File

@ -0,0 +1,3 @@
net group gg-backup /ADD
call mkusr uBackup "u-backup" gg-backup
icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T

View File

@ -1,14 +1,22 @@
#!/bin/bash #!/bin/bash
echo ping interface paserelle r-vp2
ping -c3 172.16.128.254 ping -c3 172.16.128.254
echo ping r-vp1 interface n-linkv
ping -c3 192.168.1.2 ping -c3 192.168.1.2
echo ping r-ext interface n-linkv
ping -c3 192.168.1.1 ping -c3 192.168.1.1
echo ping r-ext interface n-link
ping -c3 192.168.200.253 ping -c3 192.168.200.253
echo ping r-int interface n-link
ping -c3 192.168.200.254 ping -c3 192.168.200.254
echo ping r-int interface s-infra
ping -c3 172.16.0.254 ping -c3 172.16.0.254
echo ping s-infra
ping -c3 172.16.0.1 ping -c3 172.16.0.1

View File

@ -1,14 +1,22 @@
#!/bin/bash #!/bin/bash
echo ping s-infra
ping -c3 172.16.0.1 ping -c3 172.16.0.1
echo ping r-int interface n-infra
ping -c3 172.16.0.254 ping -c3 172.16.0.254
echo ping r-int interface n-link
ping -c3 192.168.200.254 ping -c3 192.168.200.254
echo ping r-ext interface n-linkv
ping -c3 192.168.1.1 ping -c3 192.168.1.1
echo ping r-vp1 interface n-linkv
ping -c3 192.168.1.2 ping -c3 192.168.1.2
echo ping r-vp2 interface n-ag
ping -c3 172.16.128.254 ping -c3 172.16.128.254
echo ping s-agence
ping -c3 172.16.128.10 ping -c3 172.16.128.10

View File

@ -1,12 +1,19 @@
#!/bin/bash #!/bin/bash
echo ping s-infra
ping -c3 172.16.0.1 ping -c3 172.16.0.1
echo ping r-ext interface n-link
ping -c3 192.168.200.253 ping -c3 192.168.200.253
echo ping r-ext interface n-linkv
ping -c3 192.168.1.1 ping -c3 192.168.1.1
echo ping r-vp1 interface n-link
ping -c3 192.168.1.2 ping -c3 192.168.1.2
echo ping r-vp2 interface n-ag
ping -c3 172.16.128.254 ping -c3 172.16.128.254
echo ping s-agence
ping -c3 172.16.128.10 ping -c3 172.16.128.10

View File

@ -1,14 +1,21 @@
#!/bin/bash #!/bin/bash
echo ping vers r-int
ping -c3 172.16.0.254 ping -c3 172.16.0.254
echo ping r-int interface externe
ping -c3 192.168.200.254 ping -c3 192.168.200.254
echo ping r-ext interface interne
ping -c3 192.168.200.253 ping -c3 192.168.200.253
echo ping r-ext interface liaison
ping -c3 192.168.1.1 ping -c3 192.168.1.1
echo ping r-vp1 interface liaison n-linkv
ping -c3 192.168.1.2 ping -c3 192.168.1.2
ping -c3 172.16.125.254 echo ping r-vp2 interface interface interne
ping -c3 172.16.128.254
ping -c3 172.16.128.10 echo ping s-agence
ping -c3 172.16.128.11