Compare commits

..

40 Commits

Author SHA1 Message Date
394a8d8cd8 'fogsettings : short hostname 2024-01-17 14:53:47 +01:00
ff03ee66a5 fog: test goss et fogsettings adresse 2024-01-17 14:45:05 +01:00
1e30fd87a9 adapt diverses 2024-01-17 13:39:34 +01:00
924a11f843 inst-depl echappement 2024-01-17 13:06:42 +01:00
83a3942900 inst-depl inst1 et inst2 2024-01-17 12:18:45 +01:00
0d2968b2c8 prepa role fog 2024-01-16 23:55:52 +01:00
86afa7c616 nettoyage pull-config 2024-01-16 23:14:22 +01:00
00071b1c67 chgt plage adresse pour n-user : 100-150 2024-01-16 22:05:56 +01:00
b5237811e1 s-fog.yaml et fogsettings single interface 2024-01-16 15:34:41 +01:00
25bb47afd3 Creation role kea a continuer 2024-01-16 12:41:50 +01:00
addabae478 maj s-mon : become 2024-01-16 12:06:22 +01:00
a57998f5de maj goss r-vp2.yaml 2024-01-16 11:39:57 +01:00
262b7bdb13 maj goss r-vp2 2024-01-16 11:03:44 +01:00
c45dc50d12 maj mvkm.ps1: ajout kea1 et kea2 2024-01-16 10:38:55 +01:00
d1116a91c3 update 2024-01-16 10:32:09 +01:00
9c8dca44c9 mise à jour mkvm 2024-01-16 10:24:04 +01:00
ce3b6e0a77 nettoyage s-fog 2024-01-15 21:47:44 +01:00
a03298ed54 php version dans fogsettings 2024-01-15 21:34:04 +01:00
80b54a50df ajout entrée dnas base, post et dns-master pour s-kea1 et s-kea2 2024-01-15 17:54:31 +01:00
045af9bea2 maj zabbix cli 2024-01-15 17:22:15 +01:00
gsb
6b10b981f4 Actualiser roles/journald-rcv/README.md 2024-01-15 13:57:01 +01:00
3811e2df5c README.md 2024-01-15 00:49:40 +01:00
27aad0dcb5 commente appel role zabbix-cli non fonctionnel 2024-01-15 00:42:05 +01:00
c03c066d41 mkvm options 2024-01-15 00:02:43 +01:00
beca7dbdcc ajout option -s pour mkvm 2024-01-14 23:19:06 +01:00
5dcaeb0629 s-adm.yaml pour goss 2024-01-14 23:03:57 +01:00
gsb
82bda1c85b Actualiser roles/journald-rcv/README.md 2024-01-14 22:51:39 +01:00
0537e6f942 mise a jour test goss role s-itil s-mon. Actualisation de la documentation role journald-rcv modification des roles s-fog et s-itil 2024-01-14 22:47:02 +01:00
7310641ce0 typo 2024-01-14 22:44:49 +01:00
48b16468b6 typo inst-depl 2024-01-14 22:43:05 +01:00
c7a893651e inst-depl : inst goss 2024-01-14 22:39:56 +01:00
236e560329 inst-depl ipv4 et gestup 2024-01-14 22:30:01 +01:00
84144c72fb inst-depl => lighttpd 2024-01-14 22:15:23 +01:00
84aa96c106 maj handler role glpi 2024-01-14 14:20:13 +01:00
d6ddbb4dd6 MAJ doc README.md 2024-01-13 16:08:49 +01:00
cc36b5dcf7 fogsettings : trash 2024-01-12 22:39:04 +01:00
5aa12d8acd chgt role base 2024-01-12 22:05:05 +01:00
35a21bab2f comment appel zabbix-cli dans s-adm.yml 2024-01-12 21:43:40 +01:00
cdd64636ed maj README windows 2024-01-12 15:48:39 +01:00
db966c5e9e README.md à jour 2024-01-12 15:22:43 +01:00
49 changed files with 697 additions and 436 deletions

View File

@ -1,34 +1,34 @@
# gsb2024
2024-12-21 ps
2024-01-13 ps
Environnement et playbooks ansible pour le projet GSB 2024
Environnement et playbooks **ansible** pour le projet **GSB 2024**
## Quickstart
Prérequis :
* une machine LInux Debian Bookworm ou Windows
* une machine Linux Debian Bookworm ou Windows
* VirtualBox
* git
* fichier machines virtuelles **ova** :
* **debian-bookworm-gsb-2023c.ova**
* **debian-buster-gsb-2023a.ova**
* **debian-bullseye-gsb-2024a.ova**
## Les machines
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
* **s-adm** : routeur adm, DHCP + NAT, déploiement, proxy squid
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
* **r-int** : routage, DHCP
* **r-ext** : routage, NAT
* **s-proxy** : squid
* **s-proxy** : 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-nxc** : NextCloud avec **docker** via proxy inverse **traefik** et certificat auto-signé
* **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
@ -51,8 +51,8 @@ On utilisera les images de machines virtuelle suivantes :
* Debian Bookworm 12.4 - 2 cartes - 1 Go - Stockage 20 Go
et pour **s-fog** :
* **debian-buster-2023a.ova** (2023-01-06)
* Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go
* **debian-bullseye-2024a.ova** (2024-01-06)
* Debian Bullseye 11.8 - 2 cartes - 1 Go - stockage 20 Go
Les images **.ova** doivent etre stockées dans le répertoire habituel de téléchargement de l'utilisateur courant.
@ -72,6 +72,10 @@ mkvm -r s-adm
```
### Machine s-adm
La machine **-sadm** est la première machine à installer.
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
* démarrer la VM puis ouvir une session
* utiliser le script de renommage comme suit :
@ -85,13 +89,12 @@ bash chname <nouveau_nom_de_machine>` , puis redémarrer
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
cd gsb2024/pre
bash inst-depl
cd /var/www/html/gsbstore
bash getall
cd /root/tools/ansible/gsb024/pre
bash gsbboot
cd .. ; bash pull-config
cd /root/tools/ansible/gsb2024/pre
DEPL=192.168.99.99 bash gsbboot
cd ../.. ; bash pull-config
```
- redémarrer
- la machine **s-adm** doit etre opérationnelle
### Pour chaque machine
@ -99,7 +102,7 @@ bash chname <nouveau_nom_de_machine>` , puis redémarrer
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
- ouvrir une session sur la machine considérée
- renomme la machine soit
- renommer la machine soit
* en utilisant le script de renommage comme suit :
` /root/tools/ansible/gsb2024/scripts/chname <nouveau_nom_de_machine>`
* soit avec :
@ -118,8 +121,7 @@ mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
cd gsb2024/pre
DEPL=192.168.99.99 bash gsbboot
cd ../..
bash pull-config
cd ../.. ; bash pull-config
```
#### Etape 3

View File

@ -1,21 +1,20 @@
file:
/etc/wireguard/wg0.conf:
exists: true
mode: "0644"
mode: "0600"
owner: root
group: root
filetype: file
contains:
- AllowedIPs = 10.0.0.2/32, 172.16.128.0/24
contains: []
package:
wireguard:
installed: true
versions:
- 1.0.20210223-1
- 1.0.20210914-1
wireguard-tools:
installed: true
versions:
- 1.0.20210223-1
- 1.0.20210914-1+b1
service:
wg-quick@wg0:
enabled: true

View File

@ -1,7 +1,8 @@
file:
/etc/wireguard/wg0.conf:
exists: true
mode: "0644"
mode: "0600"
size: 374
owner: root
group: root
filetype: file
@ -10,11 +11,11 @@ package:
wireguard:
installed: true
versions:
- 1.0.20210223-1
- 1.0.20210914-1
wireguard-tools:
installed: true
versions:
- 1.0.20210223-1
- 1.0.20210914-1+b1
service:
isc-dhcp-server:
enabled: true

View File

@ -1,6 +1,18 @@
file:
/var/www/html/gsbstore/getall:
exists: true
mode: "0644"
owner: root
group: root
filetype: file
contents: []
package:
dnsmasq:
installed: true
lighttpd:
installed: true
versions:
- 1.4.69-1
squid:
installed: true
addr:
@ -12,10 +24,18 @@ port:
listening: true
ip:
- 0.0.0.0
tcp:80:
listening: true
ip:
- 0.0.0.0
tcp6:53:
listening: true
ip:
- '::'
tcp6:80:
listening: true
ip:
- '::'
udp:53:
listening: true
ip:
@ -32,6 +52,9 @@ service:
dnsmasq:
enabled: true
running: true
lighttpd:
enabled: true
running: true
squid:
enabled: true
running: true
@ -61,6 +84,8 @@ dns:
process:
dnsmasq:
running: true
lighttpd:
running: true
squid:
running: true
interface:

View File

@ -6,23 +6,24 @@ file:
group: root
filetype: file
contains: []
contents: null
package:
apache2:
installed: true
versions:
- 2.4.57-2
- 2.4.56-1~deb11u2
isc-dhcp-server:
installed: true
versions:
- 4.4.3-P1-2
- 4.4.1-2.3+deb11u2
mariadb-server:
installed: true
versions:
- 1:10.11.4-1~deb12u1
- 1:10.5.21-0+deb11u1
tftpd-hpa:
installed: true
versions:
- 5.2+20150808-1.4
- 5.2+20150808-1.2
port:
tcp:80:
listening: true
@ -32,6 +33,14 @@ port:
listening: true
ip:
- 0.0.0.0
udp:67:
listening: true
ip:
- 0.0.0.0
udp:69:
listening: true
ip:
- 0.0.0.0
service:
apache2:
enabled: true

View File

@ -1,3 +1,6 @@
#package:
# systemd-journal-remote:
# installed: true
file:
/var/www/html/glpi:
exists: true
@ -6,7 +9,7 @@ file:
group: www-data
filetype: directory
/var/www/html/ficlients:
/var/www/html/glpicli:
exists: true
mode: "0775"
owner: www-data
@ -18,13 +21,17 @@ file:
mode: "0777"
filetype: directory
/var/www/html/glpicli/GLPI-Agent-1.7-x64.msi:
exists: true
#mode: "0777"
filetype: file
/var/www/html/index.nginx-debian.html:
exists: true
mode: "0775"
owner: www-data
group: www-data
filetype: file
service:
mariadb:
enabled: true
@ -34,3 +41,19 @@ service:
enabled: true
running: true
zabbix-agent:
enable: true
running: true
systemd-journal-upload.service:
enabled: true
running: true
port:
tcp:10050:
listening: true
ip:
- 0.0.0.0
tcp:10050:
listening: true
ip:
- '::'

View File

@ -15,6 +15,17 @@ package:
installed: true
python3-pymysql:
installed: true
systemd-journal-remote:
installed: true
file:
/etc/systemd/system/systemd-journal-remote.service:
exist: true
mode: "0777"
filetype: directory
/var/log/journal/remote:
exist: true
mode: "0777"
filetype: directory
port:
tcp:80:
listening: true
@ -32,6 +43,10 @@ port:
listening: true
ip:
- 0.0.0.0
tcp:19532:
listening: true
ip:
- '*'
service:
apache2:
enabled: true
@ -42,6 +57,9 @@ service:
zabbix-agent:
enabled: true
running: true
systemd-journal-remote.socket:
enabled: true
running: true
command:
sysctl net.ipv4.ip_forward:
exit-status: 0

View File

@ -1,83 +0,0 @@
# Ce fichier viminfo a été généré par Vim 9.0.
# Vous pouvez l'éditer, mais soyez prudent.
# Viminfo version
|1,4
# 'encoding' dans lequel ce fichier a été écrit
*encoding=utf-8
# hlsearch on (H) or off (h):
~h
# Historique ligne de commande (chronologie décroissante) :
:q!
|2,0,1703236388,,"q!"
:x
|2,0,1703236381,,"x"
:x!
|2,0,1703236221,,"x!"
# Historique chaîne de recherche (chronologie décroissante) :
# Historique expression (chronologie décroissante) :
# Historique ligne de saisie (chronologie décroissante) :
# Historique Ligne de débogage (chronologie décroissante) :
# Registres :
""1 LINE 0
connection: local
|3,1,1,1,1,0,1703236374," connection: local"
"2 LINE 0
hosts: localhost
|3,0,2,1,1,0,1703236374," hosts: localhost"
# Marques dans le fichier :
'0 1 2 ~/tools/ansible/gsb2024/s-mon.yml
|4,48,1,2,1703236388,"~/tools/ansible/gsb2024/s-mon.yml"
'1 1 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,49,1,9,1703236339,"~/tools/ansible/gsb2024/s-mon.yml"
'2 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,50,9,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
'3 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,51,9,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
'4 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,52,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
'5 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,53,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
'6 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|4,54,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
'7 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|4,55,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
'8 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|4,56,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
'9 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|4,57,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
# Liste de sauts (le plus récent en premier) :
-' 1 2 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,1,2,1703236388,"~/tools/ansible/gsb2024/s-mon.yml"
-' 1 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,1,9,1703236339,"~/tools/ansible/gsb2024/s-mon.yml"
-' 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,9,9,1703236318,"~/tools/ansible/gsb2024/s-mon.yml"
-' 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,11,9,1703236318,"~/tools/ansible/gsb2024/s-mon.yml"
-' 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
-' 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,1,13,1703236018,"~/tools/ansible/gsb2024/s-mon.yml"
-' 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|4,39,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
# Historique des marques dans les fichiers (les plus récentes en premier) :
> ~/tools/ansible/gsb2024/s-mon.yml
* 1703236386 0
" 1 2
^ 9 10
. 2 0
+ 10 0
+ 2 0

View File

@ -1,77 +0,0 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "debian/buster64"
config.vm.hostname = "s-adm"
config.vm.define "s-adm"
config.vm.provider :virtualbox do |vb|
vb.name = "s-adm"
end
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "public_network", ip: "192.168.1.91"
config.vm.network "private_network", ip: "192.168.99.99"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
# Enable provisioning with a shell script. Additional provisioners such as
# Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
# documentation for more information about their specific syntax and use.
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get upgrade
apt-get install -y vim wget curl
# apt-get install -y apache2
SHELL
end

0
pre/gsbboot Normal file → Executable file
View File

71
pre/inst-depl Normal file → Executable file
View File

@ -8,43 +8,44 @@ set -o pipefail
GITUSR=gitgsb
GITPRJ=gsb2024
apt-get update
apt-get install -y apache2 git
apt-get install -y lighttpd git
STOREREP="/var/www/html/gsbstore"
GLPIREL=10.0.11
str="wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
str="wget -nc -4 https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
#GLPI Agent
GLPIAGVER=1.7
str31="wget -nc https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x64.msi"
str31="wget -nc -4 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 -4 https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x86.msi"
FOGREL=1.5.10
str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
str4="wget -nc -4 https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
WPREL=6.4.2
#v6.1.1 le 17/01/2023
str5="wget -nc https://fr.wordpress.org/latest-fr_FR.tar.gz -O wordpress-6.4.2-fr_FR.tar.gz"
str5="wget -nc -4 https://fr.wordpress.org/latest-fr_FR.tar.gz -O wordpress-6.4.2-fr_FR.tar.gz"
str6="curl -L https://github.com/goss-org/goss/releases/latest/download/goss-linux-amd64 -o goss"
str6="wget -nc -4 https://github.com/goss-org/goss/releases/latest/download/goss-linux-amd64 -O goss"
str7="curl -L https://github.com/goss-org/goss/releases/latest/download/dgoss -o dgoss"
str7="wget -nc -4 https://github.com/goss-org/goss/releases/latest/download/dgoss -O dgoss"
#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"
#str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
#METRICBEAT ET FILEBEAT
ELKREL=8.11.3
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"
str83="wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip"
str84="wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-amd64.deb"
str81="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
str82="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
str83="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip"
str84="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-amd64.deb"
[[ -d "${STOREREP}" ]]|| mkdir "${STOREREP}"
[[ -d "${STOREREP}" ]] || mkdir "${STOREREP}"
(cat <<EOT > "${STOREREP}/getall"
#!/bin/bash
@ -58,13 +59,13 @@ ${str7}
chmod +x ./goss ./dgoss
curl -L https://get.docker.com -o getdocker.sh
wget -nc -4 https://get.docker.com -O getdocker.sh
chmod +x ./getdocker.sh
wget -nc https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64 -O mkcert
wget -nc -4 https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64 -O mkcert
chmod +x ./mkcert
${str8}
#${str8}
${str81}
${str82}
@ -75,3 +76,37 @@ EOT
)
cat "${STOREREP}/getall"
cd "${STOREREP}" || exit 2
bash getall
cp goss /usr/local/bin
(cat <<'EOT' > "${STOREREP}/inst1"
#!/bin/bash
if [[ -z ${HOST+x} ]]; then
echo "erreur : variable HOST indefinie"
echo " HOST : adresse serveur deploiement"
echo "export HOST=s-xyzt ; ./$0"
exit 1
fi
hostname=$(hostname)
echo "${HOST}" > /etc/hostname
hostnamectl set-hostname "${HOST}"
sed -i "s/${hostname}/${HOST}/g" /etc/host{s,name}
echo "vous pouvez redemarrer ..."
EOT
)
(cat <<'EOT' > "${STOREREP}/inst2"
#!/bin/bash
mkdir -p ~/tools/ansible ; cd ~/tools/ansible
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
cd gsb2024/pre
DEPL=192.168.99.99 bash gsbboot
cd ../.. ; bash pull-config
EOT
)

View File

@ -1,48 +0,0 @@
#!/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

4
pre/pull-config Normal file → Executable file
View File

@ -14,15 +14,15 @@ dir=/root/tools/ansible
cd "${dir}" || exit 1
hostname > hosts
if [[ $# == 1 ]] ; then
opt=$1
fi
if [[ "${opt}" == '-l' ]] ; then
cd "${dir}/${prj}" || exit 2
echo "Execution locale ...."
ansible-playbook -i localhost, -c local "$(hostname).yml"
else
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
ansible-pull -i "$(hostname)," -U "${UREP}"
fi
exit 0

View File

@ -1,5 +1,9 @@
#!/bin/bash
dir=/root/tools/ansible
prj=gsb2024
opt=""
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
fi
@ -10,7 +14,15 @@ 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
echo "Execution locale ...."
ansible-playbook -i localhost, -c local "$(hostname).yml"
else
ansible-pull -i "$(hostname)," -U "${UREP}"
fi
exit 0

View File

@ -1,8 +1,14 @@
---
- name: desactive unatentted upgrade
ansible.builtin.service:
name: unattended-upgrades.service
state: stopped
enabled: false
- name: Copie sources.list
copy:
src: sources.list.{{ ansible_distribution }}
src: sources.list.{{ ansible_distribution_release }}
dest: /etc/apt/sources.list
- name: Copie apt.conf pour proxy
@ -75,8 +81,3 @@
- net.ipv6.conf.default.disable_ipv6
- net.ipv6.conf.lo.disable_ipv6
- name: desactive unatentted upgrade
ansible.builtin.service:
name: unattended-upgrades.service
state: stopped
enabled: false

View File

@ -22,6 +22,8 @@
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.20 s-kea1.gsb.adm
192.168.99.21 s-kea2.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

View File

@ -21,6 +21,8 @@
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.20 s-kea1.gsb.adm
192.168.99.21 s-kea2.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

View File

@ -120,7 +120,7 @@ subnet 172.16.65.0 netmask 255.255.255.0 {
#DHCP pour le réseau USER
subnet 172.16.64.0 netmask 255.255.255.0 {
range 172.16.64.20 172.16.64.120;
range 172.16.64.100 172.16.64.150;
option domain-name-servers 172.16.0.1 ;
option routers 172.16.64.254;
option broadcast-address 172.16.64.255;

View File

@ -5,7 +5,7 @@
;
$TTL 604800
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
2023051000 ; Serial
2024011500 ; Serial
7200 ; Refresh
86400 ; Retry
8419200 ; Expire
@ -27,6 +27,8 @@ s-mon IN A 172.16.0.8
s-itil IN A 172.16.0.9
s-elk IN A 172.16.0.11
s-gestsup IN A 172.16.0.17
s-kea1 IN A 172.16.0.20
s-kea2 IN A 172.16.0.21
r-int IN A 172.16.0.254
r-int-lnk IN A 192.168.200.254
r-ext IN A 192.168.200.253

View File

@ -5,7 +5,7 @@
;
$TTL 604800
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
2023040501 ; Serial
2024011500 ; Serial
7200 ; Refresh
86400 ; Retry
8419200 ; Expire
@ -21,6 +21,8 @@ $TTL 604800
7.0 IN PTR s-nxc.gsb.lan.
8.0 IN PTR s-mon.gsb.lan.
9.0 IN PTR s-itil.gsb.lan.
20.0 IN PTR s-kea1.gsb.lan.
21.0 IN PTR s-kea2.gsb.lan.
101.1 IN PTR s-web1
101.2 IN PTR s-web2
100.10 IN PTR s-lb

View File

@ -34,7 +34,7 @@ Lancez le second PlayBook **install-fog.yml** qui permet de faire appel aux tâc
### Etape 3:
Il n'y a plus qu'à se rendre sur l'interface en ligne de Fog avec l'URL suivant : **http://172.16.64.16/management/** et suivre les consignes indiquées (Installation ou mise à jour de la base de données) et vous pourrez ainsi vous y connecter et commencer à l'utiliser.
Il n'y a plus qu'à se rendre sur l'interface en ligne de Fog avec l'URL suivant : **http://172.16.64.16/management/** à partir d'un poste étant dans le bon réseau et suivre les consignes indiquées (Installation ou mise à jour de la base de données) et vous pourrez ainsi vous y connecter et commencer à l'utiliser.
### Etape supplémentaire:

View File

@ -1,3 +1,3 @@
depl_url: "http://s-adm.gsb.adm/gsbstore"
depl_fog: "fogproject-1.5.9.tar.gz"
depl_fog: "fogproject-1.5.10.tar.gz"
instructions: "Pour lancer l'installateur Fog, faites : 'bash /root/tools/fog/bin/installfog.sh'. Suivez ensuite les instructions"

View File

@ -0,0 +1,46 @@
## Start of FOG Settings
## Created by the FOG Installer
## Find more information about this file in the FOG Project wiki:
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
## Version: 1.5.10
## Install time: mar. 16 janv. 2024 15:27:57
ipaddress='192.168.99.100'
copybackold='0'
interface='enp0s3'
submask='255.255.255.0'
hostname='s-fog.gsb.lan'
routeraddress='192.168.99.99'
plainrouter='192.168.99.99'
dnsaddress='192.168.99.99'
username='fogproject'
password='zbSw#FaGPS7O1bJ5tpfj'
osid='2'
osname='Debian'
dodhcp='Y'
bldhcp='0'
dhcpd='isc-dhcp-server'
blexports='1'
installtype='N'
snmysqluser='fogmaster'
snmysqlpass='cbZjO*gCONbbldV4a6l1'
snmysqlhost='localhost'
mysqldbname='fog'
installlang='0'
storageLocation='/images'
fogupdateloaded=1
docroot='/var/www/html/'
webroot='/fog/'
caCreated='yes'
httpproto='http'
startrange=''
endrange=''
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage git gzip htmldoc isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mariadb-server net-tools nfs-kernel-server openssh-server php php-bcmath php-cli php-curl php-fpm php-gd php-json php-ldap php-mbstring php-mysql tar tftpd-hpa tftp-hpa unzip vsftpd wget zlib1g'
noTftpBuild=''
tftpAdvOpts=''
sslpath='/opt/fog/snapins/ssl/'
backupPath='/home/'
armsupport=''
php_ver='7.4'
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
sendreports='Y'
## End of FOG Settings

View File

@ -3,21 +3,17 @@
## Find more information about this file in the FOG Project wiki:
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
## Version: 1.5.10
<<<<<<< HEAD
## Install time: jeu. 11 janv. 2024
=======
## Install time: jeu. 11 janv. 2024 11:41:05
>>>>>>> cbcefb5fbd5abe52a1704026505ff174752c7c11
ipaddress='172.16.64.16'
## Install time: Mon Jan 15 23:16:31 2024
ipaddress='172.16.0.16'
copybackold='0'
interface='enp0s9'
submask='255.255.255.0'
hostname='s-fog.gsb.lan'
hostname='s-fog'
routeraddress='172.16.64.254'
plainrouter='172.16.64.254'
dnsaddress='172.16.0.1'
username='fogproject'
password='/7ElC1OHrP47EN2w59xl'
password='0lEyBKxcrQxseHLB#Cbg'
osid='2'
osname='Debian'
dodhcp='y'
@ -26,27 +22,27 @@ dhcpd='isc-dhcp-server'
blexports='1'
installtype='N'
snmysqluser='fogmaster'
snmysqlpass='HHO5vSGqFiHE_9d2lja3'
snmysqlpass='DQG@4PU31F9vOE4bX6V2'
snmysqlhost='localhost'
mysqldbname='fog'
installlang='1'
storageLocation='/images'
fogupdateloaded=1
docroot='/var/www/'
docroot='/var/www/html/'
webroot='/fog/'
caCreated='yes'
httpproto='https'
startrange='172.16.64.10'
endrange='172.16.64.254'
#bootfilename='undionly.kpxe'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext git gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mariadb-server net-tools nfs-kernel-server openssh-server php php-bcmath php-cli php-curl php-fpm php-gd php-intl php-json php-ldap php-mbstring php-mysql tar tftpd-hpa tftp-hpa unzip vsftpd wget zlib1g'
startrange='172.16.64.120'
endrange='172.16.64.140'
bootfilename='undionly.kpxe'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext git gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mariadb-server net-tools nfs-kernel-server openssh-server php php-bcmath php-cli php-curl php-fpm php-gd php-intl php-json php-ldap php-mbstring php-mysql tar tftp-hpa tftpd-hpa unzip vsftpd wget zlib1g'
noTftpBuild=''
tftpAdvOpts=''
sslpath='/opt/fog/snapins/ssl/'
backupPath='/home/'
#backupPath='/home/'
armsupport='0'
php_ver='8.2'
#php_verAdds='-7.4'
php_ver='7.4'
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
sendreports='Y'
sendreports='N'
## End of FOG Settings

View File

@ -0,0 +1,49 @@
## Start of FOG Settings
## Created by the FOG Installer
## Find more information about this file in the FOG Project wiki:
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
## Version: 1.5.10
## Install time: jeu. 11 janv. 2024
## Install time: jeu. 11 janv. 2024 11:41:05
ipaddress='172.16.64.16'
copybackold='0'
interface='enp0s9'
submask='255.255.255.0'
hostname='s-fog.gsb.lan'
routeraddress='172.16.64.254'
plainrouter='172.16.64.254'
dnsaddress='172.16.0.1'
username='fogproject'
password='/7ElC1OHrP47EN2w59xl'
osid='2'
osname='Debian'
dodhcp='y'
bldhcp='1'
dhcpd='isc-dhcp-server'
blexports='1'
installtype='N'
snmysqluser='fogmaster'
snmysqlpass='HHO5vSGqFiHE_9d2lja3'
snmysqlhost='localhost'
mysqldbname='fog'
installlang='1'
storageLocation='/images'
fogupdateloaded=1
docroot='/var/www/'
webroot='/fog/'
caCreated='yes'
httpproto='https'
startrange='172.16.64.10'
endrange='172.16.64.254'
#bootfilename='undionly.kpxe'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext git gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mariadb-server net-tools nfs-kernel-server openssh-server php php-bcmath php-cli php-curl php-fpm php-gd php-intl php-json php-ldap php-mbstring php-mysql tar tftpd-hpa tftp-hpa unzip vsftpd wget zlib1g'
noTftpBuild=''
tftpAdvOpts=''
sslpath='/opt/fog/snapins/ssl/'
backupPath='/home/'
armsupport='0'
php_ver='7.4'
#php_verAdds='-7.4'
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
sendreports='Y'
## End of FOG Settings

View File

@ -0,0 +1,51 @@
## Start of FOG Settings
## Created by the FOG Installer
## Find more information about this file in the FOG Project wiki:
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
## Version: 1.5.10
## Install time: Mon Jan 15 23:16:31 2024
ipaddress='192.168.56.10'
copybackold='0'
interface='eth2'
submask='255.255.255.0'
hostname='fog'
routeraddress='192.168.1.1'
plainrouter='192.168.1.1'
dnsaddress='192.168.1.1'
username='fogproject'
password='0lEyBKxcrQxseHLB#Cbg'
osid='2'
osname='Debian'
dodhcp='y'
bldhcp='1'
dhcpd='isc-dhcp-server'
blexports='1'
installtype='N'
snmysqluser='fogmaster'
snmysqlpass='DQG@4PU31F9vOE4bX6V2'
snmysqlhost='localhost'
mysqldbname='fog'
installlang='1'
storageLocation='/images'
fogupdateloaded=1
docroot='/var/www/html/'
webroot='/fog/'
caCreated='yes'
httpproto='https'
startrange='192.168.56.10'
endrange='192.168.56.254'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext git gzip htmldoc i
sc-dhcp-server isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mari
adb-server net-tools nfs-kernel-server openssh-server php php-bcmath php-cli php-curl php-fpm php
-gd php-intl php-json php-ldap php-mbstring php-mysql tar tftp-hpa tftpd-hpa unzip vsftpd wget zl
ib1g '
noTftpBuild=''
tftpAdvOpts=''
sslpath='/opt/fog/snapins/ssl/'
backupPath='/home/'
armsupport='0'
php_ver='7.4'
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
sendreports='N'
## End of FOG Settings

View File

@ -27,23 +27,28 @@
- vsftpd
- wget
- name: creation /root/tmp
file:
path: /root/tmp
state: directory
- name: fichier config fogsettings
copy:
src: fogsettings
dest: /tmp/
dest: /root/tmp/
- name: Récupération archive d'installation Fog
get_url:
url: "{{ depl_url }}/{{ depl_fog }}"
dest: "/tmp/"
dest: "/root/tmp/"
- name: Décompression de l'archive
ansible.builtin.unarchive:
src: "/tmp/{{ depl_fog }}"
dest: "/tmp/"
src: "/root/tmp/{{ depl_fog }}"
dest: "/root/tmp/"
- name: Exécution du script d'installation Fog
ansible.builtin.shell: sudo bash /tmp/fogproject-1.5.10/bin/installfog.sh --recreate-keys -f /tmp/fogsettings -y
ansible.builtin.shell: sudo bash /root/tmp/fogproject-1.5.10/bin/installfog.sh --recreate-keys -f /root/tmp/fogsettings -y
args:
chdir: "/tmp/fogproject-1.5.10/"
chdir: "/root/tmp/fogproject-1.5.10/"

View File

@ -6,7 +6,7 @@ Le rôle permet de créer la base GLPI.
## Comment utiliser GLPI
Après le pull-config, depuis une machine du réseau n-user, se rendre sur l'URL : *http://s-itil/install/install.php*
Après le pull-config, depuis une machine du réseau n-user, se rendre sur l'URL : *http://s-itil.gsb.lan*
Puis lancer l'installation, les paramètres sql à fournir sont les suivant :
* serveur : **localhost**
* utilisateur : **glpi**

View File

@ -1,12 +1,15 @@
---
- name: restart php-fpm
service: name=php8.2-fpm
service:
name: php8.2-fpm
state=: restarted
- name: restart nginx
service: name=nginx
service:
name: nginx
state: restarted
- name: restart mariadb-server
service: name=mariadb-server
service:
name: mariadb-server
state: restarted

View File

@ -1,16 +1,30 @@
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
# Role journald-rcv : installation et configuration du serveur systemd-journal-remote (centralisation des logs)
***
## Fonctionnalitées du rôle:
Ce role a pour objectif de activer le module UDP dans le fichier /etc/rsyslog.conf pour accepter les logs entrants des machines concernées :
on décommente la ligne suivante :
'module(load="imudp"\)'
Ce role a pour objectif d'installer et d'éditer les fichiers de configuration de systemd journal remote afin que les machines lançant ce rôle puissent recevoir les logs des autres machine du parc.
Ensuite le role active l'écoute du module UDP sur le port 514 afin de pouvoir envoyer les logs.
on décommente la ligne suivante dans le même fichier que ci-dessus :
'input\(type="imudp" port="514"\)'
## Opérations réalisées par le role:
Le role réalise les opération suivante:
* installation du paquet **systemd-journal-remote**.
* Démarrage et activation (au démarrage) du service **systemd-journal-remote.socket.
* Création des fichiers de configuration de **systemd-journal-remote** à partir d'une copie du fichier de configuration déja existante.
* Changement du protocole utilisé par journald. Passant du protocole **HTTPS** au protocole **HTTP*** Activation du mode split qui permet d'avoir un fichier de log par machine supervisées.
* Création du répertoire qui accueillera les fichiers de logs.
* Rédémarrage du daemon systemd afin que le système prenne en compte les modifications efféctuées.
pour finir le role va charger le module UDP afin que la machine **s-infra** puissent reçevoir les logs entrants.
Pour faire cela on décommente la ligne suivante dans le fichier /etc/systemd/journald.conf :
'ForwardToSyslog=yes'
## Test du bon fonctionnement du rôle
pour finir le role va redemmarer automatiquement les services journald et rsyslog
Afin de tester le rôle nous éffectuons un test:
**Depuis la machine sur laquelle ce rôle est installé:**
* **journalctl -f -D /var/log/journal/remote/
* S'assurer que le port 19532 (port par défault utilisé par le serviceà) soit ouvert et utilisable sur toutes les machines en entrée.
Afin de consulter les fichiers d'événement.
** Depuis une des machines eméttrices de logs:**
* **logger ok**
Si le message émis par la machine éméttrice et consultable depuis la machine receptrice alors le test est réussi.

14
roles/kea/README.md Normal file
View File

@ -0,0 +1,14 @@
# Rôle Kea
***
Rôle du Kea pour la haute disponibilité dhcp
## Tables des matières
1. [Que fait le rôle Kea ?]
## Que fait le rôle Kea ?
Il permet de configurer les serveur kea en mode haute disponibilité.
### Installation et configuration de kea
Le rôle kea va installer les packets kea dhcp4, hook, admin une fois les packets installer. Nous allons configurer les 2 serveurs kea pour qu'il distribut les ip de n-user et soit en haute disponibilité.

View File

@ -0,0 +1,8 @@
#variable kea
kea_ver: "2.4.1"
kea_dbname: ""
kea_dbuser: ""
kea_dbpasswd: ""
kea_dhcp4_dir: "/etc/kea/kea-dhcp4.conf"
kea_ctrl_dir: "/etc/kea/kea-ctrl-agent.conf"

View File

@ -0,0 +1,5 @@
- name: restart zabbix agent
service:
name: zabbix-agent
state: restarted
enabled: yes

65
roles/kea/tasks/main.yml Normal file
View File

@ -0,0 +1,65 @@
- name: installation des dépendances
apt:
name:
- liblog4cplus-2.0.5
- libmariadb3
- libpq5
- mariadb-common
- mysql-common
state: present
- name: telechargemement du paquet isc-kea-common
get_url:
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-common_2.4.1-isc20231123184533/isc-kea-common_2.4.1-isc20231123184533_amd64.deb"
dest: "/tmp"
- name: telechargement du paquet isc-kea-dhcp4
get_url:
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-dhcp4_2.4.1-isc20231123184533/isc-kea-dhcp4_2.4.1-isc20231123184533_amd64.deb"
dest: "/tmp"
- name: telechargement du paquet isc-kea-ctrl-agent
get_url:
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-ctrl-agent_2.4.1-isc20231123184533/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
dest: "/tmp"
- name: telechargement du paquet isc-kea-hooks
get_url:
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-hooks_2.4.1-isc20231123184533/isc-kea-hooks_2.4.1-isc20231123184533_amd64.deb"
dest: "/tmp"
- name: Update apt
apt:
update_cache: yes
- name: Installation paquet isc-kea-common
apt:
deb: "/tmp/isc-kea-common_2.4.1-isc20231123184533_amd64.deb"
state: present
- name: Installation isc-kea-dhcp4
apt:
deb: "/tmp/isc-kea-dhcp4_2.4.1-isc20231123184533_amd64.deb"
state: present
- name: Installation isc-kea-ctrl-agent
apt:
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
state: present
- name: Installation isc-kea-ctrl-agent
apt:
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
state: present
- name: Installation isc-kea-hooks
apt:
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
state: present
- name: Installation isc-kea-hooks
apt:
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
state: present

View File

@ -0,0 +1,26 @@
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# cote N-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.20
netmask 255.255.255.0
gateway 192.168.99.99
# cote N-infra
allow-hotplug enp0s8
iface enp0s8 inet static
address 172.16.0.20
netmask 255.255.255.0
#cote N-user
allow-hotplug enp0s9
iface enp0s9 inet static
address 172.16.64.20
netmask 255.255.255.0

View File

@ -0,0 +1,26 @@
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# cote N-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.21
netmask 255.255.255.0
gateway 192.168.99.99
# cote N-infra
allow-hotplug enp0s8
iface enp0s8 inet static
address 172.16.0.21
netmask 255.255.255.0
#cote N-user
allow-hotplug enp0s9
iface enp0s9 inet static
address 172.16.64.21
netmask 255.255.255.0

View File

@ -18,25 +18,19 @@
state: present
- name: Enable Zabbix agent service
systemd:
service:
name: zabbix-agent
state: restarted
enabled: yes
- name: Rm package
file:
path: "/tmp/zabbix-release_6.4-1+debian12_all.deb"
state: absent
- name: config
template:
src: zabbix_agentd.conf.temp
dest: /etc/zabbix/zabbix_agentd.conf
vars:
PidFile: "/run/zabbix/zabbix_agentd.pid"
LogFile: "/var/log/zabbix/zabbix_agentd.log"
LogFileSize: "0"
Server: "127.0.0.1"
ServerActive: "192.168.99.8"
Hostname: "{{ ansible_hostname }}"
Include: "/etc/zabbix/zabbix_agentd.d/*.conf"
- name: Replace Zabbix agent config
replace:
path: /etc/zabbix/zabbix_agentd.conf
regexp: '{{ item.regexp }}'
replace: '{{ item.replace }}'
backup: true
loop:
- { regexp: '^(Server\s*=\s*).*$', replace: 'Server = 127.0.0.1' }
- { regexp: '^(ServerActive\s*=\s*).*$', replace: 'ServerActive = 192.168.99.8' }
- { regexp: '^(Hostname\s*=\s*).*$', replace: 'Hostname = {{ ansible_hostname }}' }
- { regexp: '^(Include\s*=\s*).*$', replace: 'Include = /etc/zabbix/zabbix_agentd.d/*.conf' }

View File

@ -1,7 +0,0 @@
PidFile={{ PidFile }}
LogFile={{ LogFile }}
LogFileSize={{ LogFileSize }}
Server={{ Server }}
ServerActive={{ ServerActive }}
Hostname={{ Hostname }}
Include={{ Include }}

View File

@ -8,7 +8,7 @@
- dnsmasq
- squid
# - local-store
- zabbix-cli
# #- zabbix-cli
## - syslog-cli
- post
# - goss

View File

@ -8,7 +8,7 @@
- appli
- ssh-cli
# - syslog-cli
- zabbix-cli
#- zabbix-cli
- ssl-apache
- post

View File

@ -6,7 +6,7 @@
- base
- goss
# - proxy3
- zabbix-cli
#- zabbix-cli
# - ssh-cli
# - syslog-cli
- smb-backup

View File

@ -5,9 +5,10 @@
roles:
- base
- goss
- dhcp-fog
- ssh-cli
- snmp-agent
#- dhcp-fog
# - ssh-cli
# - snmp-agent
# - syslog-cli
# - fog
- fog
#- - journald-snd
- post

View File

@ -4,7 +4,7 @@
# include: config.yml
roles:
- base
- zabbix-cli
#- zabbix-cli
- goss
- dns-master
- webautoconf

View File

@ -17,4 +17,5 @@
- glpi
- ssh-cli
# - syslog-cli
- journald-snd
- post

View File

@ -1,8 +1,8 @@
---
- name: Zabbix
hosts: all
# become: yes
# become_method: sudo
hosts: localhost
become: yes
become_method: sudo
# become_user: root
# vars:
# access: "Restricted Nagios4 Access"

View File

@ -6,7 +6,7 @@
- base
- goss
- squid
- zabbix-cli
#- zabbix-cli
- ssh-cli
# - syslog-cli
- post

View File

@ -1,19 +1,21 @@
#!/bin/bash
mkvmrelease="v1.3.1"
mkvmrelease="v1.3.2"
ovarelease="2023c"
ovafogrelease="2024a"
#ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
ovafile="$HOME/Téléchargements/debian-bookworm-gsb-${ovarelease}.ova"
ovafilefog="$HOME/Téléchargements/debian-bullseye-gsb-${ovafogrelease}.ova"
startmode=0
deletemode=0
usage () {
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
echo "$0 : creation VM et parametrage interfaces"
echo "usage : $0 [-r] <s-adm|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"
echo "usage : $0 [-r] [-s] <s-adm|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"
echo " option -s : start VM apres creation"
exit 1
}
@ -59,12 +61,19 @@ fi
if [[ $1 == "--help" ]] || [[ $1 == "-h" ]] || [[ $1 == "-V" ]] ; then
usage
fi
if [[ $1 == "-r" ]] ; then
while [[ -n "$1" ]] ; do
if [[ "$1" == "-s" ]] ; then
startmode=1
shift
elif [[ "$1" == "-r" ]] ; then
deletemode=1
shift
fi
vm="$1"
else
parm=$1
shift
fi
done
vm="${parm}"
create_vm "${vm}"
if [[ "${vm}" == "s-adm" ]] ; then
bash addint.s-adm
@ -91,6 +100,10 @@ elif [[ "${vm}" == "s-nxc" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-fog" ]] ; then
create_if "${vm}" "n-adm" "n-infra" "n-user"
elif [[ "${vm}" == "s-kea1" ]] ; then
create_if "${vm}" "n-adm" "n-infra" "n-user"
elif [[ "${vm}" == "s-kea2" ]] ; then
create_if "${vm}" "n-adm" "n-infra" "n-user"
elif [[ "${vm}" == "s-dns-ext" ]] ; then
create_if "${vm}" "n-adm" "n-dmz"
elif [[ "${vm}" == "s-web-ext" ]] ; then
@ -123,3 +136,6 @@ else
echo "$0 : vm ${vm} non prevue "
exit 2
fi
if [[ $startmode == 1 ]] ; then
vboxmanage startvm "${vm}" --type headless
fi

View File

@ -102,6 +102,22 @@ elseif ($args[0] -eq "s-fog") {
create_if $args[0] "int" 3 "n-user"
}
elseif ($args[0] -eq "s-kea1") {
create_vm $args[0]
create_if $args[0] "int" 1 "n-adm"
create_if $args[0] "int" 2 "n-infra"
create_if $args[0] "int" 3 "n-user"
}
elseif ($args[0] -eq "s-kea2") {
create_vm $args[0]
create_if $args[0] "int" 1 "n-adm"
create_if $args[0] "int" 2 "n-infra"
create_if $args[0] "int" 3 "n-user"
}
elseif ($args[0] -eq "s-agence") {
create_vm $args[0]

View File

@ -1,22 +1,29 @@
# Tutoriel d'Installation Windows Serveur
# Tuto Installation Windows Serveur
## Création de la nouvelle VM:
- Créer une nouvelle machine virtuelle avec l'image ISO "Windows Server 2019 fr-Fr x64 (Janvier 2020).iso" et cocher la case "Skip Unattended Installation". (lien source: http://store2.sio.lan/sionas/Public/iso/windows/?sort=namedirfirst&order=asc)
- Mémoire vive: 4096Mo
- Processor: 1
- Virtual Hard Disk: 30Go
## Installation Windpws Server 2019
- Une fois l'installation terminée, renommer le serveur en **s-win** et installer git.
- ajouter les deux cartes réseau adressées conformement aux spécifications
- Installer les services Windows suivants :
- Serveur DNS
- Service AD DS.
## Démarrage de la VM Windows Server 2019:
- Une fois l'installation du serveur Windows 2019, démarrer la VM Windows Server.
- Faite l'installation de windows server. Vous pouvez suivre de l'étape 3 a l'étape 12 (Lien : https://www.infonovice.fr/guide-dinstallation-de-windows-server-2019-avec-une-interface-graphique/)
- Renommer votre nom de machine du serveur windows depuis les parametre de "Informations Systèmes" en **s-win**. Puis redémarrer la machine.
- Modifier la premiere carte de l'IP du serveur windows depuis le panneau de configuration en "192.168.99.6" avec la passerelle en "192.168.99.99 et la seconde en "172.16.0.6" et ajouter la passerelle par defaut en "172.16.0.254".
- Eteindre votre VM et ajouter une carte en pont dans les parametres reseaux de la VM. Allumer votre VM et installer git depuis le site officiel, il faudra sans doute activer certaines options dans les parametres d'internet explorer comme "JavaScript" ou encore l'option de Téléchargement (lien source: https://git-scm.com/download/win et https://support.microsoft.com/fr-fr/topic/procédure-d-activation-de-javascript-dans-windows-88d27b37-6484-7fc0-17df-872f65168279).
- Installer Serveur DNS et Services AD DS. Pour vous aider, suivre le TP de "Installation du service" a "Installation serveur DNS" (lien source: https://sio.lyc-lecastel.fr/doku.php?id=promo_2024:serveur_windows_2019-installation_ad)
- Créer une nouvelle fôret pour le domaine **gsb.lan**.
- Configurer la zone DNS inverse du DNS et l'alimenter avec les enregistrements . souhaités (NS, A pour **s-win**, **s-itil**, ..., PTR pour les précités)
- Configurer la zone inverse du DNS et l'alimenter avec les enregistrements souhaités (A et PTR pour **s-win**, **s-itil**, **r-int** et **s-infra*. Vous pouvez vous aidez de ce tutoriel (https://www.it-connect.fr/dns-sous-windows-server-2022-comment-configurer-une-zone-de-recherche-inversee/).
## Création des répertoires partagés et des utilisateurs
## Création des dossiers partagés et des utilisateur
- Lancer les script `mkusr-compta.cmd` et `mkusr-ventes.cmd` sur **s-win** pour créer les utilisateurs avec leurs droits.
- Le script `gsb-dossiers.cmd` permet de créer des dossiers partagés.
- Le script `mkusr.cmd` permet de créer un autre utilisateur avec les mêmes droits que les autres.
- Lancer `mkusr-compta.cmd` et `mkusr-ventes.cmd` sur s-win pour créer les utilisateurs avec leurs droits.
- Lancer `gsb-dossiers.cmd`. Il permet de créer des dossiers partagés.
- Le fichier `mkusr.cmd` permet de créer un autre utiliateur avec les mêmes droits que les autres.
## Utilisation des comptes utilisateurs avec AD
- Pour utiliser l'AD du serveur **s-win**, installer un poste de travail Windows 10 dans le réseau `n-user`.
- Une fois la machine installéee et démarrée, la faire adhérer au domaine **gsb.lan** (Poste de Travail/Nom).
- Une fois la machine installée et démarrée, mettre a jours la carte réseau en DHCP la faire adhérer au domaine **gsb.lan** (Poste de Travail/Nom).
- Redémarrer puis se connecter avec les identifiants de domaine choisis.