Compare commits

...

21 Commits

Author SHA1 Message Date
6f803444a8 syntaxe 2021-04-01 17:55:42 +02:00
bd4bcc11b3 syntaxe 2021-04-01 17:53:01 +02:00
a816f352b6 synax markdown 2021-04-01 17:28:19 +02:00
a113358c91 syntaxe markdown 2021-04-01 16:59:26 +02:00
TL
56aff49921 ajout troisieme serveur web 2021-04-01 16:53:43 +02:00
8341359c45 Mise à jour de 'goss/s-agence.yaml' 2021-04-01 16:51:35 +02:00
fe747c36c8 decommente role goss dans s-adm 2021-04-01 16:48:13 +02:00
c391a3dc39 divers: inst-depl, gsbboot, 2021-04-01 15:46:19 +02:00
3b6da78d7c Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-04-01 15:04:55 +02:00
9a3f4d6a9f Supression de l'installation de goss 2021-04-01 15:04:11 +02:00
e771d47e79 doc : README.md 2021-04-01 14:55:47 +02:00
a603ccd701 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:53:01 +02:00
b14398b204 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:52:15 +02:00
bdb484cc6e Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-04-01 14:52:02 +02:00
fa2dc0ed36 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-04-01 14:51:46 +02:00
f8cf5f75d7 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:50:17 +02:00
418676ee1e Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:50:08 +02:00
9d83f1894c Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:49:44 +02:00
c8fe45b95d Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-31 11:53:34 +02:00
98890660f8 Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-31 11:51:22 +02:00
53e5e4dc9e Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-31 11:33:48 +02:00
13 changed files with 190 additions and 131 deletions

View File

@ -12,4 +12,47 @@ prérequis : une machine Debian buster
* r-int
* r-ext
* s-proxy
## Les playbooks
## Installation
On utilisera l'image de machine virtuelle suivante :
* **debian-buster-gsb-2021b.ova** (2021-03-31)
* Bebian Buster 10.9 - 2 cartes - 1 Go - stockage 20 Go
### Machine s-adm
* créer la machine virtuelle **s-adm** en important l'image ova décrite plus haut
* renommer la machine puis redémarrer
* taper :
```shell
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
cd gsb2021/pre
bash inst-depl
cd /var/www/html/gsbstore
bash getall-latest
cd /root/tools/ansible/gsb021
bash gsbboot
bash pull-config
```
- redémarrer
### Pour chaque machine
- importer la machine à partir du fichier **.ova**
- définir les cartes réseau en accord avec le plan d'adressage et le schéma
- donner le nom adapté (avec sed -i …)
- redémarrer
- mettre à jour les paquets : apt update && apt upgrade
- cloner le dépot :
```shell
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
cd gsb2021/pre
bash gsbboot
bash pull-config
```

View File

@ -7,31 +7,31 @@ command:
- 192.168.99.0/24
stderr: []
timeout: 10000
ping -c 2 172.16.0.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 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.1.2:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.200.254:
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

54
pre/gsbboot Normal file
View File

@ -0,0 +1,54 @@
#!/bin/bash
version="1.8"
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
__base="$(basename ${__file})"
__root="$(cd "$(dirname "${__dir}")" && pwd)"
echo "dir : ${__dir}"
echo "file : ${__file}"
echo "base : ${__base}"
echo "root : ${__root}"
# version 1.8
# install git si besoin
# install ansible si besoin + backports si wheezy
readonly base=/root/tools/ansible
readonly slist=/etc/apt/sources.list
readonly host=depl
if [[ -z ${DEPL+x} ]]; then
echo "erreur : DEPL indefini"
echo " DEPL : adresse serveur deploiement"
echo "export DEPL=xyzt ; ./$0"
exit 1
fi
hostf="${host}.local"
prj=gsb
APT=apt
which git >> /dev/null
if [[ $? != 0 ]]; then
${APT} update
echo "installation de git ..."
${APT} install -y git-core
fi
${APT} update
${APT} upgrade -y
which ansible >> /dev/null
if [[ $? != 0 ]]; then
echo "installation de ansible ..."
${APT} install -y ansible
fi
[ -e "${base}" ] || mkdir -p "${base}"
grep "${hostf}" /etc/hosts > /dev/null || echo "${DEPL} ${hostf} ${host}" >> /etc/hosts
cd "${base}"
cp ${prj}/pull-config ${base}
#echo "N'oubliez pasz d'indiquer l'adresse DEPL dans '/root/tools/ansible/pull-config'"
echo "Vous pouvez lancer 'bash pull-config' depuis ${base} ..."

View File

@ -1,24 +1,16 @@
#!/bin/bash
## ps : 2021-04-01 15:25
set -o errexit
set -o pipefail
GITUSR=gitgsb
GITPRJ=gsb
GITPRJ=gsb2021
apt update && apt upgrade
apt install -y apache2 git
getent passwd "${GITUSR}" >> /dev/null
if [[ $? != 0 ]]; then
echo "creation utilisateur "${GITUSR}" ..."
/sbin/useradd -m -d /home/"${GITUSR}" -s /bin/bash "${GITUSR}"
echo "${GITUSR}:${GITUSR}" | /sbin/chpasswd
else
echo "utilisateur "${GITUSR}" existant..."
fi
su -c "git init --share --bare /home/${GITUSR}/${GITPRJ}.git" "${GITUSR}"
su -c "cd ${GITPRJ}.git/.git/hooks && mv post-update.sample post-update" "${GITUSR}"
[[ -h /var/www/html/"${GITPRJ}".git ]]|| ln -s /home/"${GITUSR}"/"${GITPRJ}".git /var/www/html/"${GITPRJ}".git
[[ -d /var/www/html/gsbstore ]]|| mkdir /var/www/html/gsbstore
STOREREP="/var/www/html/gsbstore"
[[ -d "${STOREREP}" ]]|| mkdir "${STOREREP}"
(cat <<EOT > /var/www/html/gsbstore/getall
(cat <<EOT > "${STOREREP}/getall"
#!/bin/bash

48
pre/inst-depl.old Normal file
View File

@ -0,0 +1,48 @@
#!/bin/bash
set -o errexit
set -o pipefail
GITUSR=gitgsb
GITPRJ=gsb
apt update && apt upgrade
apt install -y apache2 git
getent passwd "${GITUSR}" >> /dev/null
if [[ $? != 0 ]]; then
echo "creation utilisateur "${GITUSR}" ..."
/sbin/useradd -m -d /home/"${GITUSR}" -s /bin/bash "${GITUSR}"
echo "${GITUSR}:${GITUSR}" | /sbin/chpasswd
else
echo "utilisateur "${GITUSR}" existant..."
fi
su -c "git init --share --bare /home/${GITUSR}/${GITPRJ}.git" "${GITUSR}"
su -c "cd ${GITPRJ}.git/.git/hooks && mv post-update.sample post-update" "${GITUSR}"
[[ -h /var/www/html/"${GITPRJ}".git ]]|| ln -s /home/"${GITUSR}"/"${GITPRJ}".git /var/www/html/"${GITPRJ}".git
[[ -d /var/www/html/gsbstore ]]|| mkdir /var/www/html/gsbstore
(cat <<EOT > /var/www/html/gsbstore/getall
#!/bin/bash
set -o errexit
set -o pipefail
GLPIREL=9.4.5
wget -nc https://github.com/glpi-project/glpi/releases/download/\${GLPIREL}/glpi-\${GLPIREL}.tgz
FIREL=9.4+2.4
wget -nc -O fusioninventory-glpi\${FIREL}.tag.gz https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi\${FIREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi9.4+2.4.tar.g
FIAGREL=2.5.2
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\${FIAGREL}/fusioninventory-agent_windows-x64_\${FIAGREL}.exe
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\$FIAGREL/fusioninventory-agent_windows-x86_\${FIAGREL}.exe
FOGREL=1.5.7
wget -nc https://github.com/FOGProject/fogproject/archive/\${FOGREL}.tar.gz -O fogproject-\${FOGREL}.tar.gz
wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
EOT
)
cat /var/www/html/gsbstore/getall

View File

@ -2,31 +2,15 @@
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
else
echo "var is set to '$var'"
fi
REPO=$(basename ${UREP})
dir=/root/tools/ansible
host=depl
hostf=$host.sio.lan
repo=gsb
[ -e $dir ] || mkdir -p $dir
[ -e "${dir}" ] || mkdir -p "${dir}"
#grep $hostf /etc/hosts > /dev/null || echo "10.121.38.10 $hostf $host" >> /etc/hosts
cd $dir
cd "${dir}" || exit 1
hostname > hosts
#git clone http://$host/$repo.git
#cd $repo
#git pull
#ansible-playbook -c local -i 'localhost,' $(hostname).yml
#ansible-pull -i $dir/hosts -d $repo -U "${UREP}"
ansible-pull -i $dir/hosts -U "${UREP}"
ansible-pull -i "${dir}/hosts" -U "${UREP}"
exit 0

View File

@ -3,19 +3,14 @@
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
fi
REPO=$(basename ${UREP})
dir=/root/tools/ansible
host=depl
hostf=$host.sio.lan
[ -e ${dir} ] || mkdir -p ${dir}
[ -e "${dir}" ] || mkdir -p "${dir}"
#grep $hostf /etc/hosts > /dev/null || echo "10.121.38.10 $hostf $host" >> /etc/hosts
cd ${dir}
cd "${dir}" || exit 1
hostname > hosts
ansible-pull -i ${dir}/hosts -U "${UREP}"
ansible-pull -i "${dir}/hosts" -U "${UREP}"
exit 0

View File

@ -23,18 +23,11 @@ table filter {
interface lo ACCEPT;
# allow SSH connections
#interface ($DEV_VPN) {
proto tcp dport ssh ACCEPT;
#}
# allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT;
#}
# DHCP
proto udp dport (67 68) ACCEPT;
proto udp dport domain ACCEPT;
# allow IPsec
interface ($DEV_AG $DEV_VPN) {

View File

@ -1,8 +1,8 @@
---
- name : installer ferm
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm
- name : installer ferm
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm

View File

@ -9,7 +9,7 @@
@def $NET_ADM=192.168.99.112/24;
@def $NET_VPN=192.168.0.51/24;
@def $NET_EXT=192.168.1.2/30;
@def $NET_EXT=192.168.1.2/24;
table filter {
chain INPUT {
@ -23,15 +23,13 @@ table filter {
interface lo ACCEPT;
# allow SSH connections
#interface ($DEV_ADM) {
proto tcp dport ssh ACCEPT;
#}
# allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT;
#}
# allow IPsec
interface ($DEV_VPN) {
@ -51,49 +49,13 @@ table filter {
# proto (udp tcp) dport domain ACCEPT;
#}
# autoriser supervision
proto udp sport 161 ACCEPT;
# autoriser NTP
proto udp sport 123 ACCEPT;
# respond to ping
proto icmp mod limit limit 30/minut ACCEPT;
}
chain OUTPUT {
policy DROP;
# interface ($DEV_PUB) {
# Autoriser SSH
proto tcp sport ssh ACCEPT;
# Autoriser DNS
proto udp dport domain ACCEPT;
proto udp sport domain ACCEPT;
# Autoriser ipsec
proto udp dport 500 ACCEPT;
proto udp sport 500 ACCEPT;
# Autoriser nat-t-ike
proto udp dport 4500 ACCEPT;
proto udp sport 4500 ACCEPT;
# Autoriser supervision
proto udp dport 161 ACCEPT;
# Autoriser NTP
proto udp dport 123 ACCEPT;
# respond to ping
proto icmp ACCEPT;
# }
# connection tracking
#mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
policy ACCEPT;
}
chain FORWARD {
policy ACCEPT;
@ -102,15 +64,4 @@ table filter {
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
}
# IPv6:
#domain ip6 {
# table filter {
# chain INPUT {
# policy ACCEPT;
# # ...
# }
# # ...
# }
#}
}

View File

@ -1,10 +1,8 @@
---
- name : installer ferm
apt: name=ferm state=present
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
- name: Restart ferm
name: ferm
state: restarted
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm

View File

@ -8,6 +8,7 @@
get_url:
url: "{{ depl_url }}/{{ depl_fog }}"
dest: /root/fog
remote_src: yes
- name: decompression du fichier d'installation de fog
unarchive:

View File

@ -44,7 +44,7 @@ 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
server s-lb-web3 192.168.101.3:80 check
listen stats
bind *:8080