Compare commits
5 Commits
v0.0.1r-ld
...
v0.0.1v-ps
Author | SHA1 | Date | |
---|---|---|---|
5d767a195d | |||
7092ed5963 | |||
a508e7e65c | |||
da5011466b | |||
e395c14752 |
25
README.md
25
README.md
@ -1,6 +1,6 @@
|
|||||||
# gsb2023
|
# gsb2023
|
||||||
|
|
||||||
2023-01-06
|
2023-01-18 ps
|
||||||
|
|
||||||
Environnement et playbooks ansible pour le projet GSB 2023
|
Environnement et playbooks ansible pour le projet GSB 2023
|
||||||
|
|
||||||
@ -8,15 +8,28 @@ Environnement et playbooks ansible pour le projet GSB 2023
|
|||||||
prérequis :
|
prérequis :
|
||||||
* une machine Debian Bullseye
|
* une machine Debian Bullseye
|
||||||
* VirtualBox
|
* VirtualBox
|
||||||
|
* fichier machines viruelles ova :
|
||||||
|
* debian-bullseye-gsb-2023a.ova
|
||||||
|
* debian-buster-gsb-2023a.ova
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Les machines
|
## Les machines
|
||||||
* s-adm
|
* s-adm : routeur adm, DHCP + NAT, deploiement, proxy squid
|
||||||
* s-infra
|
* s-infra : DNS maitre
|
||||||
* r-int
|
* r-int : routaage, DHCP
|
||||||
* r-ext
|
* r-ext : routage, NAT
|
||||||
* s-proxy
|
* s-proxy : squid
|
||||||
|
* s-itil : serveur GLPI
|
||||||
|
* s-backup : DNS esclave + sauvegarde s-win
|
||||||
|
* s-mon : supervision avec **Nagios4** 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
|
||||||
|
* r-vp1 : Routeur VPN Wireguard coté siège
|
||||||
|
* r-vp2 : Routeur VPN Wireguard coté agence, DHCP
|
||||||
|
|
||||||
|
|
||||||
## Les playbooks
|
## Les playbooks
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: localhost
|
|
||||||
connection: local
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- goss
|
|
||||||
- docker-graylog-pont
|
|
||||||
- post
|
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
## ps : 2021-04-01 15:25
|
## aa : 2023-04-18 15:25
|
||||||
|
|
||||||
set -o errexit
|
set -o errexit
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
dir=/root/tools/ansible
|
||||||
|
prj=gsb2023
|
||||||
|
opt=""
|
||||||
|
|
||||||
if [ -z ${UREP+x} ]; then
|
if [ -z ${UREP+x} ]; then
|
||||||
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
|
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
|
||||||
fi
|
fi
|
||||||
@ -11,6 +15,14 @@ dir=/root/tools/ansible
|
|||||||
cd "${dir}" || exit 1
|
cd "${dir}" || exit 1
|
||||||
|
|
||||||
hostname > hosts
|
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
|
exit 0
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ -z ${UREP+x} ]; then
|
if [ -z ${UREP+x} ]; then
|
||||||
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
|
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -11,6 +11,6 @@ dir=/root/tools/ansible
|
|||||||
cd "${dir}" || exit 1
|
cd "${dir}" || exit 1
|
||||||
|
|
||||||
hostname > hosts
|
hostname > hosts
|
||||||
ansible-pull -i "${dir}/hosts" -U "${UREP}"
|
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
##Installation de nfs
|
# Role s-nas-server
|
||||||
|
## Installation de nfs-server et mise en oeuvre du partage /home/wordpress
|
||||||
|
|
||||||
Ce rôle télécharge NFS puis copie un fichier de configuration pour partager le dossier /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**
|
||||||
|
|
||||||
|
*** Objectif
|
||||||
|
Le répertoire **/home/wordpress** est exporté par **nfs** sur le réseau **n-dmz-db**
|
||||||
|
46
scripts/mkvm
46
scripts/mkvm
@ -1,21 +1,24 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
mkvmrelease="v1.2"
|
||||||
|
|
||||||
ovarelease="2023a"
|
ovarelease="2023a"
|
||||||
ovafogrelease="2023a"
|
ovafogrelease="2023a"
|
||||||
ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
|
ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
|
||||||
ovafilefog="$HOME/Téléchargements/debian-buster-gsb-${ovafogrelease}.ova"
|
ovafilefog="$HOME/Téléchargements/debian-buster-gsb-${ovafogrelease}.ova"
|
||||||
|
deletemode=0
|
||||||
|
|
||||||
usage () {
|
usage () {
|
||||||
echo "$0 - version ${ovarelease}"
|
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
|
||||||
echo "$0 : creation VM et parametrage interfaces"
|
echo "$0 : creation VM et parametrage interfaces"
|
||||||
echo "usage : $0 <s-infra|r-int|r-ext|s-proxy|s-mon>"
|
echo "usage : $0 [-r] <s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog>"
|
||||||
|
echo " option -r : efface vm existante avant creation nouvelle"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
create_vm () {
|
create_vm () {
|
||||||
nom="$1"
|
local nom="$1"
|
||||||
nomova=${ovafile}
|
local nomova="${ovafile}"
|
||||||
if [[ "${nom}" == "s-fog" ]] ; then
|
if [[ "${nom}" == "s-fog" ]] ; then
|
||||||
nomova="${ovafilefog}"
|
nomova="${ovafilefog}"
|
||||||
fi
|
fi
|
||||||
@ -23,6 +26,9 @@ create_vm () {
|
|||||||
echo "$0 : erreur ouverture fichier ${nomova} ..."
|
echo "$0 : erreur ouverture fichier ${nomova} ..."
|
||||||
exit 3
|
exit 3
|
||||||
fi
|
fi
|
||||||
|
if [[ "${deletemode}" = 1 ]] ; then
|
||||||
|
VBoxManage unregistervm --delete "${nom}"
|
||||||
|
fi
|
||||||
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
|
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,15 +44,25 @@ setif () {
|
|||||||
create_if () {
|
create_if () {
|
||||||
# enp0s3
|
# enp0s3
|
||||||
setif "$1" 1 "$2"
|
setif "$1" 1 "$2"
|
||||||
setif "$1" 2 "$3"
|
|
||||||
#(enp0s8)
|
#(enp0s8)
|
||||||
|
setif "$1" 2 "$3"
|
||||||
|
#(enp0s9)
|
||||||
|
if [[ -n "$4" ]] ; then
|
||||||
|
setif "$1" 3 "$4"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if [[ $# != 1 ]] ; then
|
if [[ $# == 0 ]] ; then
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
|
if [[ $1 == "--help" ]] || [[ $1 == "-h" ]] || [[ $1 == "-V" ]] ; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
if [[ $1 == "-r" ]] ; then
|
||||||
|
deletemode=1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
vm="$1"
|
vm="$1"
|
||||||
|
|
||||||
create_vm "${vm}"
|
create_vm "${vm}"
|
||||||
@ -56,9 +72,7 @@ elif [[ "${vm}" == "s-proxy" ]] ; then
|
|||||||
create_if "${vm}" "n-adm" "n-infra"
|
create_if "${vm}" "n-adm" "n-infra"
|
||||||
elif [[ "${vm}" == "r-int" ]] ; then
|
elif [[ "${vm}" == "r-int" ]] ; then
|
||||||
# n-adm, n-link, n-wifi, n-user, n-infra
|
# n-adm, n-link, n-wifi, n-user, n-infra
|
||||||
create_if "${vm}" "n-adm" "n-infra"
|
create_if "${vm}" "n-adm" "n-link" "n-wifi"
|
||||||
setif "${vm}" 2 "n-link"
|
|
||||||
setif "${vm}" 3 "n-wifi"
|
|
||||||
setif "${vm}" 4 "n-user"
|
setif "${vm}" 4 "n-user"
|
||||||
setif "${vm}" 5 "n-infra"
|
setif "${vm}" 5 "n-infra"
|
||||||
elif [[ "${vm}" == "r-ext" ]] ; then
|
elif [[ "${vm}" == "r-ext" ]] ; then
|
||||||
@ -74,9 +88,8 @@ elif [[ "${vm}" == "s-itil" ]] ; then
|
|||||||
elif [[ "${vm}" == "s-nxc" ]] ; then
|
elif [[ "${vm}" == "s-nxc" ]] ; then
|
||||||
create_if "${vm}" "n-adm" "n-infra"
|
create_if "${vm}" "n-adm" "n-infra"
|
||||||
elif [[ "${vm}" == "s-fog" ]] ; then
|
elif [[ "${vm}" == "s-fog" ]] ; then
|
||||||
create_if "${vm}" "n-adm" "n-infra"
|
create_if "${vm}" "n-adm" "n-infra" "n-user"
|
||||||
setif "${vm}" 3 "n-user"
|
elif [[ "${vm}" == "s-dns-ext" ]] ; then
|
||||||
elif [[ "${vm}" == "s-DNS-ext" ]] ; then
|
|
||||||
create_if "${vm}" "n-adm" "n-dmz"
|
create_if "${vm}" "n-adm" "n-dmz"
|
||||||
elif [[ "${vm}" == "s-web-ext" ]] ; then
|
elif [[ "${vm}" == "s-web-ext" ]] ; then
|
||||||
create_if "${vm}" "n-adm" "n-dmz"
|
create_if "${vm}" "n-adm" "n-dmz"
|
||||||
@ -86,12 +99,10 @@ 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-web1" ]] ; then
|
||||||
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
||||||
# setif "${vm}" 3 "n-dmz-lb"
|
|
||||||
elif [[ "${vm}" == "s-web2" ]] ; then
|
elif [[ "${vm}" == "s-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-web3" ]] ; then
|
||||||
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
||||||
# setif "${vm}" 3 "n-dmz-lb"
|
|
||||||
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"
|
||||||
elif [[ "${vm}" == "s-nas" ]] ; then
|
elif [[ "${vm}" == "s-nas" ]] ; then
|
||||||
@ -102,8 +113,7 @@ elif [[ "${vm}" == "r-vp2" ]] ; then
|
|||||||
./addint.r-vp2
|
./addint.r-vp2
|
||||||
elif [[ "${vm}" == "s-agence" ]] ; then
|
elif [[ "${vm}" == "s-agence" ]] ; then
|
||||||
create_if "${vm}" "n-adm" "n-agence"
|
create_if "${vm}" "n-adm" "n-agence"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "$0 : vm ${vm} non prevu"
|
echo "$0 : vm ${vm} non prevue "
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user