Compare commits

..

8 Commits

Author SHA1 Message Date
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
8 changed files with 83 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

@ -1,7 +1,9 @@
package: package:
# ferm: # ferm:
# installed: true # installed: true
strongswan: wireguard:
installed: true
wireguard-tools:
installed: true installed: true
port: port:
udp:68: udp:68:
@ -10,7 +12,7 @@ service:
# dnsmasq: # dnsmasq:
# enabled: true # enabled: true
# running: true # running: true
strongswan: wireguard:
enabled: true enabled: true
running: true running: true
ssh: ssh:
@ -51,6 +53,13 @@ command:
- 4 received = 1 - 4 received = 1
stderr: [] stderr: []
timeout: 10000 timeout: 10000
command:
ping -c 4 10.0.0.2:
exit-status: 0
stdout:
- 4 received = 1
stderr: []
timeout: 10000
#process: #process:
# dnsmasq: # dnsmasq:
# running: true # running: true
@ -64,4 +73,4 @@ interface:
enp0s9: enp0s9:
exists: true exists: true
addrs: addrs:
- 192.168.1.2/24 - 192.168.1.2/24

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

@ -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

@ -4,8 +4,8 @@
roles: roles:
- base - base
- s-lb-web-ab - lb-web
- snmp-agent - snmp-agent
- s-nas-client - lb-nfs-client
- post - post

View File

@ -4,8 +4,8 @@
roles: roles:
- base - base
- s-lb-web-ab - lb-web
- snmp-agent - snmp-agent
- s-nas-client - lb-nfs-client
- post - post

View File

@ -10,8 +10,8 @@
roles: roles:
- base - base
- snmp-agent - snmp-agent
- s-lb-wordpress - lb-web
- s-nas-server - lb-nfs-server
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- post - post

View File

@ -97,11 +97,11 @@ elif [[ "${vm}" == "s-nxc" ]] ; then
create_if "${vm}" "n-adm" "n-infra" create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-lb" ]] ; then elif [[ "${vm}" == "s-lb" ]] ; then
create_if "${vm}" "n-adm" "n-dmz" "n-dmz-lb" create_if "${vm}" "n-adm" "n-dmz" "n-dmz-lb"
elif [[ "${vm}" == "s-web1" ]] ; then elif [[ "${vm}" == "s-lb-web1" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db" create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
elif [[ "${vm}" == "s-web2" ]] ; then elif [[ "${vm}" == "s-lb-web2" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db" create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
elif [[ "${vm}" == "s-web3" ]] ; then elif [[ "${vm}" == "s-lb-web3" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db" create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
elif [[ "${vm}" == "s-lb-bd" ]] ; then elif [[ "${vm}" == "s-lb-bd" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-db" create_if "${vm}" "n-adm" "n-dmz-db"