Compare commits

..

31 Commits

Author SHA1 Message Date
4dd5b711e2 nettoyage 2023-01-20 09:15:54 +01:00
f4361d9ecb maj doc 2023-01-19 12:48:44 +01:00
5d767a195d maj doc 2023-01-19 12:46:32 +01:00
7092ed5963 maj doc .md 2023-01-19 12:36:35 +01:00
a508e7e65c reorganisation 2023-01-19 00:03:47 +01:00
da5011466b nettoyage, maj doc, README 2023-01-19 00:02:58 +01:00
e395c14752 modif mkvm 2023-01-18 23:24:33 +01:00
c5c261893c Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-18 10:26:01 +01:00
b8d05aa7c5 Changement README Windows 2023-01-18 10:24:51 +01:00
ce6d9e4c57 correction erreur nommage WP inst-depl 2023-01-17 10:59:47 +01:00
8d241f8786 inst-depl MAJ version WP FILEBEAT,METRICBEAT,MKCERT,GOSS,... + s-adm pas role local-store 2023-01-17 10:51:40 +01:00
2822944c95 postfix ok et template mail nagios 2023-01-12 11:57:09 +01:00
85657ca334 Modif du script d'installation de docker 2023-01-12 11:42:49 +01:00
d3c3ef1fdc commenté sshpass dans main.yml 2023-01-12 11:34:37 +01:00
073c529f19 recup
Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023
2023-01-12 09:38:13 +01:00
c5d7bc847b modif pour glpi 10.0.5 2023-01-12 09:37:45 +01:00
4c0b3295af Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-12 09:05:01 +01:00
cd9c94ec5c Modification mkvm pour s-fog 2023-01-12 09:04:03 +01:00
dd73c48e28 modif mkvm ajout s-nxc 2023-01-12 08:55:46 +01:00
7f4588c279 Modification mkvm pour s-fog 2023-01-12 08:45:54 +01:00
ca6a1b9513 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023 2023-01-10 09:41:43 +01:00
2ab19a6497 modif goss r-ext 2023-01-10 09:41:14 +01:00
b017071726 correction interfaces sources ignore 2023-01-10 09:41:08 +01:00
b4e7f7e067 mise a jour s-adm goss 2023-01-10 09:19:23 +01:00
031984aa2b modif sur README.md 2023-01-10 09:04:56 +01:00
389cb3e330 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023
merge
2023-01-10 09:03:53 +01:00
9655c226b1 maj goss s-mon 2023-01-10 08:45:44 +01:00
e767433224 Merge branch 'main' of https://gitea.lyc-lecastel.fr/gadmin/gsb2023
merge
2023-01-06 09:50:45 +01:00
945bae351d chut 2023-01-06 09:50:40 +01:00
75bc513445 seconde modif de goss/tasks 2023-01-06 09:46:12 +01:00
17b049942f caractere unicode dans goss/tasks 2023-01-06 09:29:41 +01:00
84 changed files with 376 additions and 180 deletions

View File

@ -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
@ -56,7 +69,7 @@ On utilisera l'image de machine virtuelle suivante :
- cloner le dépot : - cloner le dépot :
```shell ```shell
mkdir -p tools/ansible ; cd tools/ansible mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2022.git git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
cd gsb2023/pre cd gsb2023/pre
export DEPL=192.168.99.99 export DEPL=192.168.99.99
bash gsbboot bash gsbboot

View File

@ -34,8 +34,6 @@ interface:
- 192.168.100.254/24 - 192.168.100.254/24
enp0s9: enp0s9:
exists: true exists: true
addrs:
- 192.168.0.38/24
enp0s16: enp0s16:
exists: true exists: true
addrs: addrs:

View File

@ -16,10 +16,6 @@ port:
listening: true listening: true
ip: ip:
- '::' - '::'
tcp6:8080:
listening: true
ip:
- '::'
udp:53: udp:53:
listening: true listening: true
ip: ip:
@ -45,7 +41,6 @@ service:
user: user:
dnsmasq: dnsmasq:
exists: true exists: true
uid: 109
gid: 65534 gid: 65534
groups: groups:
- nogroup - nogroup
@ -54,7 +49,6 @@ user:
group: group:
ssh: ssh:
exists: true exists: true
gid: 111
command: command:
/sbin/sysctl net.ipv4.ip_forward: /sbin/sysctl net.ipv4.ip_forward:
exit-status: 0 exit-status: 0
@ -65,8 +59,6 @@ command:
dns: dns:
depl.sio.lan: depl.sio.lan:
resolveable: true resolveable: true
addrs:
- 10.121.38.10
timeout: 500 timeout: 500
process: process:
dnsmasq: dnsmasq:

View File

@ -1,26 +1,27 @@
file: file:
/etc/icinga/htpasswd.users: /etc/nagios4/htdigest.users:
exists: true exists: true
mode: "0644" mode: "0640"
size: 26 owner: nagios
owner: root group: www-data
group: root
filetype: file filetype: file
contains: [] contains: [nagiosadmin]
package: package:
apache2: apache2:
installed: true installed: true
nagios-snmp-plugins: nagios-snmp-plugins:
installed: true installed: true
icinga: nagios4:
installed: true installed: true
snmp: snmp:
installed: true installed: true
python3-passlib:
installed: true
port: port:
tcp6:80: tcp:80:
listening: true listening: true
ip: ip:
- '::' - 0.0.0.0
udp:514: udp:514:
listening: true listening: true
ip: ip:
@ -29,7 +30,7 @@ service:
apache2: apache2:
enabled: true enabled: true
running: true running: true
icinga: nagios4:
enabled: true enabled: true
running: true running: true
command: command:
@ -42,19 +43,19 @@ command:
process: process:
apache2: apache2:
running: true running: true
icinga: nagios4:
running: true running: true
interface: interface:
enp0s3: enp0s3:
exists: true exists: true
addrs: addrs:
- 192.168.99.8/24 - 192.168.99.104/24
enp0s8: enp0s8:
exists: true exists: true
addrs: addrs:
- 172.16.0.8/24 - 172.16.0.8/24
http: http:
http://localhost/icinga: http://localhost/nagios4:
status: 401 status: 401
allow-insecure: false allow-insecure: false
no-follow-redirects: false no-follow-redirects: false

View File

@ -1,8 +0,0 @@
---
- hosts: localhost
connection: local
roles:
- goss
- docker-graylog-pont
- post

View File

@ -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
@ -9,11 +9,11 @@ apt update && apt upgrade
apt install -y apache2 git apt install -y apache2 git
STOREREP="/var/www/html/gsbstore" STOREREP="/var/www/html/gsbstore"
GLPIREL=9.5.6 GLPIREL=10.0.5
str="wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz" str="wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
FIREL=9.5 FIREL=10.0.3+1.0
str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5%2B3.0/fusioninventory-9.5+3.0.tar.bz2" str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.bz2"
FIAGREL=2.6 FIAGREL=2.6
str31="wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x64_${FIAGREL}.exe" str31="wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x64_${FIAGREL}.exe"
@ -23,19 +23,21 @@ str32="wget -nc https://github.com/fusioninventory/fusioninventory-agent/release
FOGREL=1.5.9 FOGREL=1.5.9
str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz" str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
WPREL=5.8.2 WPREL=6.1.1
str5="wget -nc https://fr.wordpress.org/wordpress-${WPREL}-fr_FR.tar.gz" #v6.1.1 le 17/01/2023
str5="wget -nc https://fr.wordpress.org/latest-fr_FR.tar.gz -O wordpress-6.1.1-fr_FR.tar.gz"
GOSSVER=v0.3.16 GOSSVER=v0.3.21
str6="curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss" str6="curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss"
DOCKERREL=1.29.2 #DOCKERREL=1.29.2
str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose" #str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose"
GESTSUPREL=3.2.15 #GESTSUPREL=3.2.30
str8="wget -nc https://gestsup.fr/downloads/versions/current/version/gestsup_${GESTSUPREL}.zip" #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"
ELKREL=7.16.3 ELKREL=8.6.0
str81="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb" 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" str82="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
@ -70,12 +72,12 @@ curl -L https://get.docker.com -o getdocker.sh
chmod +x ./getdocker.sh chmod +x ./getdocker.sh
${str7} #${str7}
chmod +x ./docker-compose #chmod +x ./docker-compose
wget -nc https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 -O mkcert wget -nc https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64 -O mkcert
chmod +x ./mkcert chmod +x ./mkcert
@ -90,4 +92,3 @@ EOT
) )
cat "${STOREREP}/getall" cat "${STOREREP}/getall"

View File

@ -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
proxy
View File

@ -1 +0,0 @@
/etc/nginx/sites-availables/proxy

View File

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

View File

@ -1,16 +1,16 @@
--- ---
- name: Téléchargement getdocker.sh - name: Supprime le fichier getdocker.sh si déjà présent
ansible.builtin.get_url: file:
url: http://s-adm.gsb.adm/gsbstore/getdocker.sh state: absent
dest: /tmp path: /tmp/getdocker.sh
mode: '0755'
- name: Télécharge le script d'installation de docker
uri:
url: 'https://get.docker.com'
method: GET
dest: /tmp/getdocker.sh
mode: a+x
register: result
- name: Execution du script getdocker - name: Execution du script getdocker
ansible.builtin.script: shell: bash /tmp/getdocker.sh
cmd: /tmp/getdocker.sh
- name: Téléchargement docker-compose
ansible.builtin.get_url:
url: http://s-adm.gsb.adm/gsbstore/docker-compose
dest: /usr/local/bin
mode: '0755'

View File

@ -3,19 +3,19 @@
- name: goss binary exists - name: goss binary exists
stat: path=/usr/local/bin/goss stat: path=/usr/local/bin/goss
register: gossbin register: gossbin
- name: install goss sur machine standard - name: install goss sur machine standard
get_url: get_url:
url: "{{ depl_url }}/{{ depl_goss }}" url: "{{ depl_url }}/{{ depl_goss }}"
dest: /usr/local/bin/{{ depl_goss }} dest: /usr/local/bin/{{ depl_goss }}
mode: 0755 mode: 0755
when: gossbin.stat.exists == False and ansible_hostname != "s-adm" when: gossbin.stat.exists == false and ansible_hostname != "s-adm"
- name: install goss sur s-adm - name: install goss sur s-adm
copy: copy:
src: "/var/www/html/gsbstore/{{ depl_goss }}" src: "/var/www/html/gsbstore/{{ depl_goss }}"
dest: /usr/local/bin/{{ depl_goss }} dest: /usr/local/bin/{{ depl_goss }}
mode: 0755 mode: 0755
remote_src: yes remote_src: yes
when: gossbin.stat.exists == False and ansible_hostname == "s-adm" when: gossbin.stat.exists == false and ansible_hostname == "s-adm"

View File

@ -1,5 +1,6 @@
depl_url: "http://s-adm.gsb.adm/gsbstore" depl_url: "http://s-adm.gsb.adm/gsbstore"
depl_glpi: "glpi-9.5.6.tgz" #depl_glpi: "glpi-9.5.6.tgz"
depl_glpi: "glpi-10.0.5.tgz"
depl_fusioninventory: "fusioninventory-9.5+3.0.tar.bz2" depl_fusioninventory: "fusioninventory-9.5+3.0.tar.bz2"
depl_fusioninventory_agentx64: "fusioninventory-agent_windows-x64_2.6.exe" depl_fusioninventory_agentx64: "fusioninventory-agent_windows-x64_2.6.exe"
depl_fusioninventory_agentx86: "fusioninventory-agent_windows-x86_2.6.exe" depl_fusioninventory_agentx86: "fusioninventory-agent_windows-x86_2.6.exe"

View File

@ -0,0 +1,10 @@
# Role s-nas-server
## Installation de nfs-server et mise en oeuvre du partage /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**

View File

@ -0,0 +1,2 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_wordpress: "wordpress-6.1.1-fr_FR.tar.gz"

View File

@ -1,5 +1,6 @@
#!/bin/bash #!/bin/bash
GLPIREL=9.5.3 #GLPIREL=9.5.3
GLPIREL=10.0.5
wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz
FIREL=9.5+1.0 FIREL=9.5+1.0

View File

@ -0,0 +1 @@
MAIL_DEST: "anthony.arnoux@protonmail.ch"

View File

@ -35,7 +35,7 @@ define contact {
host_notification_options d,r host_notification_options d,r
service_notification_commands notify-service-by-email service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email host_notification_commands notify-host-by-email
email nagios.gsb22@gmail.com email {{ MAIL_DEST }}
} }

View File

@ -1,7 +1,7 @@
# This file describes the network interfaces available on your system # This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5). # and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/* #source /etc/network/interfaces.d/*
# The loopback network interface # The loopback network interface
auto lo auto lo
@ -10,7 +10,7 @@ iface lo inet loopback
# cote n-adm # cote n-adm
allow-hotplug enp0s3 allow-hotplug enp0s3
iface enp0s3 inet static iface enp0s3 inet static
address 192.168.99.104/24 address 192.168.99.8/24
gateway 192.168.99.99 gateway 192.168.99.99
# Cote n-infra # Cote n-infra
@ -20,4 +20,4 @@ iface enp0s8 inet static
up ip route add 172.16.64.0/24 via 172.16.0.254 up ip route add 172.16.64.0/24 via 172.16.0.254
up ip route add 172.16.128.0/24 via 172.16.0.254 up ip route add 172.16.128.0/24 via 172.16.0.254
up ip route add 192.168.0.0/16 via 172.16.0.254 up ip route add 192.168.0.0/16 via 172.16.0.254
up ip route add 192.168.200.0/24 via 172.16.0.254 up ip route add 192.168.200.0/24 via 172.16.0.254

View File

@ -1,4 +1,4 @@
source /etc/network/interfaces.d/* #source /etc/network/interfaces.d/*
# The loopback network interface # The loopback network interface
auto lo auto lo
@ -14,4 +14,4 @@ iface enp0s3 inet static
allow-hotplug enp0s8 allow-hotplug enp0s8
iface enp0s8 inet static iface enp0s8 inet static
address 192.168.102.253 address 192.168.102.253
netmask 255.255.255.0 netmask 255.255.255.0

View File

@ -1,2 +1 @@
[smtp.gmail.com]:587 nagios.gsb22@gmail.com:Azerty1+ [smtp.gmail.com]:587 anthony.arnoux22@gmail.com:gndtfomdkxnmcdft
chmod 600 /etc/postfix/sasl_passwd

View File

@ -4,6 +4,7 @@
name: name:
- postfix - postfix
- mailutils - mailutils
- libsasl2-modules
state: latest state: latest
- name: Copie du fichier sasl_passwd - name: Copie du fichier sasl_passwd
@ -12,17 +13,75 @@
src: sasl_passwd src: sasl_passwd
dest: /etc/postfix/sasl/ dest: /etc/postfix/sasl/
- name: Copie du fichier main.cf - name: ajout relay host gmail
tags: main.cf tags: postfix
template: replace:
src: main.cf.j2 path: /etc/postfix/main.cf
dest: /etc/postfix.main.cf regexp: '^relayhost ='
replace: 'relayhost = [smtp.gmail.com]:587'
notify: restart postfix
- name: Commande postmap - name: ajout lignes conf postfix
tags: postfix
blockinfile:
path: /etc/postfix/main.cf
block: |
#TLS
smtp_use_tls = yes
#SASL
smtp_sasl_auth_enable = yes
#pas d auth anonyme
smtp_sasl_security_options = noanonymous
#chemin sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
#chemin certificats CA
smtp_tls_CAfile = /etc/postfix/cacert.pem
notify: restart postfix
#- name: Copie du fichier main.cf
# tags: main.cf
# template:
# src: main.cf.j2
# dest: /etc/postfix.main.cf
- name: Commande postmap identifiants
tags: postmap tags: postmap
command: postmap /etc/postfix/sasl/sasl_passwd command: postmap /etc/postfix/sasl/sasl_passwd
notify: restart postfix notify: restart postfix
- name: Ensure directory exists for local self-signed TLS certs.
file:
path: /etc/ssl/certs/postfix
state: directory
- name: Generate an OpenSSL private key
community.crypto.openssl_privatekey:
path: /etc/ssl/certs/postfix/privkey.pem
- name: Generate an OpenSSL CSR
community.crypto.openssl_csr:
path: /etc/ssl/certs/postfix/postfix.csr
privatekey_path: /etc/ssl/certs/postfix/privkey.pem
common_name: "GSB2023.LAN"
- name: Generate a Self Signed OpenSSL certificate.
community.crypto.x509_certificate:
path: /etc/ssl/certs/postfix/fullchain.pem
privatekey_path: /etc/ssl/certs/postfix/privkey.pem
csr_path: /etc/ssl/certs/postfix/postfix.csr
provider: selfsigned
- name: Copy certificate preserve owner and permissions to be used with postfix
copy:
remote_src: true
src: /etc/ssl/certs/postfix/fullchain.pem
dest: /etc/postfix/cacert.pem
owner: root
group: root
mode: '0644'
notify: restart postfix
- name: message d'information pour gmail - name: message d'information pour gmail
tags: msg2 tags: msg2
debug: msg="Il faut activer les applications moins sécurisées sur le compte google" debug: msg="Il faut activer les applications moins sécurisées sur le compte google"

View File

@ -1,2 +0,0 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_wordpress: "wordpress-5.8.2-fr_FR.tar.gz"

View File

@ -1,3 +0,0 @@
##Installation de nfs
Ce rôle télécharge NFS puis copie un fichier de configuration pour partager le dossier /home/wordpress.

View File

@ -9,13 +9,13 @@
name: wireguard-tools name: wireguard-tools
state: present state: present
- name: installation de sshpass #- name: installation de sshpass
apt: # apt:
name: sshpass # name: sshpass
state: present # state: present
- 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

@ -8,7 +8,7 @@
- s-ssh - s-ssh
- dnsmasq - dnsmasq
- squid - squid
- local-store # - local-store
- snmp-agent - snmp-agent
- syslog-cli - syslog-cli
- post - post

View File

@ -1,11 +0,0 @@
---
- hosts: localhost
connection: local
roles:
- base
- s-lb-web-ab
- snmp-agent
- s-nas-client
- post

View File

@ -1,18 +0,0 @@
---
- hosts: localhost
connection: local
vars:
wp_mysql_db: "wordpress"
wp_mysql_user: "wp"
wp_mysql_password: "wp"
wp_mysql_host: "192.168.102.50"
roles:
- base
- goss
- apache2
- s-lb-wordpress
- snmp-agent
- post
- mysql
- php-fpm

View File

@ -1,47 +1,69 @@
#!/bin/bash #!/bin/bash
ovarelease="2023a" mkvmrelease="v1.2"
ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
ovarelease="2023a"
ovafogrelease="2023a"
ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.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"
if [[ ! -r "${ovafile}" ]]; then local nomova="${ovafile}"
echo "$0 : erreur ouverture fichier ${ovafile} ..." if [[ "${nom}" == "s-fog" ]] ; then
nomova="${ovafilefog}"
fi
if [[ ! -r "${nomova}" ]]; then
echo "$0 : erreur ouverture fichier ${nomova} ..."
exit 3 exit 3
fi fi
vboxmanage import "${ovafile}" --vsys 0 --vmname "${nom}" if [[ "${deletemode}" = 1 ]] ; then
VBoxManage unregistervm --delete "${nom}"
fi
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
} }
setif () { setif () {
VBoxManage modifyvm $1 --nic${2} intnet VBoxManage modifyvm "$1" --nic"${2}" intnet
VBoxManage modifyvm $1 --intnet${2} $3 VBoxManage modifyvm "$1" --intnet"${2}" "$3"
VBoxManage modifyvm $1 --nictype${2} 82540EM VBoxManage modifyvm "$1" --nictype"${2}" 82540EM
VBoxManage modifyvm $1 --cableconnected${2} on VBoxManage modifyvm "$1" --cableconnected"${2}" on
VBoxManage modifyvm $1 --nicpromisc${2} allow-all VBoxManage modifyvm "$1" --nicpromisc"${2}" allow-all
} }
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
vm=$1 usage
fi
if [[ $1 == "-r" ]] ; then
deletemode=1
shift
fi
vm="$1"
create_vm "${vm}" create_vm "${vm}"
if [[ "${vm}" == "s-infra" ]] ; then if [[ "${vm}" == "s-infra" ]] ; then
@ -50,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
@ -68,22 +88,21 @@ 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"
elif [[ "${vm}" == "s-nxc" ]] ; then
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-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
@ -94,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

135
scripts/mkvm.pl Executable file
View File

@ -0,0 +1,135 @@
#!/usr/pbin/perl
use strict;
use warnings;
use v5.10;
my $ovarelease = "2023a";
my $ovafogrelease = "2023a";
my $home=$ENV{'HOME'};
my $ovafile="$home/Téléchargements/debian-bullseye-gsb-".$ovarelease.".ova";
my $ovafilefog="$home/Téléchargements/debian-buster-gsb-i".$ovafogrelease.".ova";
my %vmtab = (
#name => "s-adm", params => ":1024:"
name => "s-adm", params => ":1024:n-adm:n-infra",
name => "s-infra", params => ":1024:n-adm:n-infra",
name => "s-proxy", params => ":1024:n-adm:n-infra",
name => "r-int", params => ":1024:n-adm:n-link:n-wifi:n-user:n-infra",
name => "r-ext", params => ":1024:n-adm:n-dmz:eno1:n-linkvi:n-link",
name => "s-mon", params => ":1024:n-adm:n-infra",
name => "s-itil", params => ":1024:n-adm:n-infra",
name => "s-appli", params => ":1024:n-adm:n-infra",
name => "s-backup", params => ":1024:n-adm:n-infra",
name => "s-fog", params => ":1024:n-adm:n-infra:n-user",
name => "s-nxc", params => ":1024:n-adm:n-infra",
)
sub usage () {
say "$0 - version ${ovarelease}";
say "$0 : creation VM et parametrage interfaces";
say "usage : $0 <s-infra|r-int|r-ext|s-proxy|s-mon>";
exit 1 ;
}
sub create_vm () {
my $nom = shift ;
my $nomova = shift ;
if ( $nom == "s-fog" ) {
$nomova = $ovafilefog;
}
if ( ! -r $nomova ) {
say "$0 : erreur ouverture fichier $nomova ..."
exit 3
}
qx (vboxmanage import $nomova --vsys 0 --vmname $nom);
}
sub setif () {
my ($vm, $interf, $parm) = @ARGV;
qx(VBoxManage modifyvm $vm --nic"${2}" intnet);
qx(VBoxManage modifyvm $vm --intnet"${2}" "$3");
qx(VBoxManage modifyvm $vm --nictype"${2}" 82540EM);
qx(VBoxManage modifyvm $vm --cableconnected"${2}" on);
qx(VBoxManage modifyvm $vm --nicpromisc"${2}" allow-all);
}
sub create_if () {
# enp0s3
setif "$1" 1 "$2"
setif "$1" 2 "$3"
#(enp0s8)
}
create_vm "${vm}"
if [[ "${vm}" == "s-infra" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-proxy" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "r-int" ]] ; then
# n-adm, n-link, n-wifi, n-user, n-infra
create_if "${vm}" "n-adm" "n-infra"
setif "${vm}" 2 "n-link"
setif "${vm}" 3 "n-wifi"
setif "${vm}" 4 "n-user"
setif "${vm}" 5 "n-infra"
elif [[ "${vm}" == "r-ext" ]] ; then
./addint.r-ext
elif [[ "${vm}" == "s-mon" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-appli" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-backup" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-itil" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-nxc" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-fog" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
setif "${vm}" 3 "n-user"
elif [[ "${vm}" == "s-DNS-ext" ]] ; then
create_if "${vm}" "n-adm" "n-dmz"
elif [[ "${vm}" == "s-web-ext" ]] ; then
create_if "${vm}" "n-adm" "n-dmz"
elif [[ "${vm}" == "s-nxc" ]] ; then
create_if "${vm}" "n-adm" "n-infra"
elif [[ "${vm}" == "s-lb" ]] ; then
create_if "${vm}" "n-adm" "n-dmz" "n-dmz-lb"
elif [[ "${vm}" == "s-web1" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
# setif "${vm}" 3 "n-dmz-lb"
elif [[ "${vm}" == "s-web2" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
elif [[ "${vm}" == "s-web3" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
# setif "${vm}" 3 "n-dmz-lb"
elif [[ "${vm}" == "s-lb-bd" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-db"
elif [[ "${vm}" == "s-nas" ]] ; then
create_if "${vm}" "n-adm" "n-dmz-db"
elif [[ "${vm}" == "r-vp1" ]] ; then
./addint.r-vp1
elif [[ "${vm}" == "r-vp2" ]] ; then
./addint.r-vp2
elif [[ "${vm}" == "s-agence" ]] ; then
create_if "${vm}" "n-adm" "n-agence"
else
echo "$0 : vm ${vm} non prevu"
exit 2
fi
sub usage () {
print "usage : mkvm.pl <vm-name>\n";
print "cree une VM a partir d'un fichier OVA et parametre les interfaces";
exit 1 ;
}
sub main () {
my $vm = shift;
usage unless ( $vm);
}

View File

@ -1,7 +0,0 @@
---
- hosts: localhost
connection: local
roles:
- snmp-agent

View File

@ -1,15 +1,18 @@
# Création des dossiers partagés et des utilisateur # Tuto Installation Windows Serveur
Les fichiers .cmd lancer sur la machine s-win permet de créer les utilisateur, leurs mettres - Une fois l'installation du serveur Windows, renommer le serveur en s-win et installer git.
droits et créer des dossiers partagés. - Installer Serveur DNS et Services AD DS.
- Créer une nouvelle fôret pour le domaine gsb.lan.
- Configurer la zone inverse du DNS.
le fichier mkusr.cmd permet de créer un autre utiliateur avec les mêmes droits que les autres. ## Création des dossiers partagés et des utilisateur
# Utilisation des comptes utilisateurs - Lancer mkusr-compta.cmd et mkusr-ventes.cmd sur s-win pour créer les utilisateurs avec leurs droits.
- Le fichier gsb-dossiers.cmd 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.
Pour vous connecter au serveurs DNS s-win il faut créer un machine dans le réseau n-user et que ## Utilisation des comptes utilisateurs
cette machine puisse ping le serveur.
Après il suffit de changer le domaine de cette machine et la redémarrer. - Pour utiliser l'AD du serveur s-win, créer une machine Windows 10 dans le réseau n-user.
- Une fois son adresse IP obtenue (172.16.64.xx) ajouter la machine dans le domaine gsb.lan en utilisant un utiliateur (autre que l'Administrateur).
suite à ça, connecter vous avec les identifiants d'un utilisateurs. - Redémarrer puis se connecter avec les identifiants choisis.