Compare commits

..

21 Commits

Author SHA1 Message Date
08973e83b3 doc role nxc-traefik 2023-01-21 16:44:56 +01:00
79c7bd34e6 Maj lb-front 2023-01-20 09:46:08 +01:00
0cd9f1bb4c Correction fichier interface 2023-01-20 09:38:46 +01:00
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
dd73c48e28 modif mkvm ajout s-nxc 2023-01-12 08:55:46 +01:00
82 changed files with 379 additions and 176 deletions

View File

@ -1,6 +1,6 @@
# gsb2023
2023-01-06
2023-01-18 ps
Environnement et playbooks ansible pour le projet GSB 2023
@ -8,15 +8,28 @@ Environnement et playbooks ansible pour le projet GSB 2023
prérequis :
* une machine Debian Bullseye
* VirtualBox
* fichier machines viruelles ova :
* debian-bullseye-gsb-2023a.ova
* debian-buster-gsb-2023a.ova
## Les machines
* s-adm
* s-infra
* r-int
* r-ext
* s-proxy
* s-adm : routeur adm, DHCP + NAT, deploiement, proxy squid
* s-infra : DNS maitre
* r-int : routaage, DHCP
* r-ext : routage, NAT
* 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

View File

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

View File

@ -1,5 +1,5 @@
#!/bin/bash
## ps : 2021-04-01 15:25
## aa : 2023-04-18 15:25
set -o errexit
set -o pipefail
@ -9,11 +9,11 @@ apt update && apt upgrade
apt install -y apache2 git
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"
FIREL=9.5
str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5%2B3.0/fusioninventory-9.5+3.0.tar.bz2"
FIREL=10.0.3+1.0
str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.bz2"
FIAGREL=2.6
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
str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
WPREL=5.8.2
str5="wget -nc https://fr.wordpress.org/wordpress-${WPREL}-fr_FR.tar.gz"
WPREL=6.1.1
#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"
DOCKERREL=1.29.2
str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose"
#DOCKERREL=1.29.2
#str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose"
GESTSUPREL=3.2.15
str8="wget -nc https://gestsup.fr/downloads/versions/current/version/gestsup_${GESTSUPREL}.zip"
#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"
ELKREL=7.16.3
ELKREL=8.6.0
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"
@ -70,12 +72,12 @@ curl -L https://get.docker.com -o 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
@ -90,4 +92,3 @@ EOT
)
cat "${STOREREP}/getall"

View File

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

1
proxy
View File

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

View File

@ -1,6 +1,6 @@
#!/bin/bash
if [ -z ${UREP+x} ]; then
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
fi
@ -11,6 +11,6 @@ dir=/root/tools/ansible
cd "${dir}" || exit 1
hostname > hosts
ansible-pull -i "${dir}/hosts" -U "${UREP}"
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
exit 0

View File

@ -1,16 +1,16 @@
---
- name: Téléchargement getdocker.sh
ansible.builtin.get_url:
url: http://s-adm.gsb.adm/gsbstore/getdocker.sh
dest: /tmp
mode: '0755'
- name: Supprime le fichier getdocker.sh si déjà présent
file:
state: absent
path: /tmp/getdocker.sh
- 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
ansible.builtin.script:
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'
shell: bash /tmp/getdocker.sh

View File

@ -1,5 +1,6 @@
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_agentx64: "fusioninventory-agent_windows-x64_2.6.exe"
depl_fusioninventory_agentx86: "fusioninventory-agent_windows-x86_2.6.exe"

View File

@ -0,0 +1,25 @@
- name: install haproxy
apt:
name: haproxy
state: present
- name: parametre backend et fontend
blockinfile:
path: /etc/haproxy/haproxy.cfg
block: |
frontend proxypublic
bind 192.168.56.2:80
default_backend fermeweb
backend fermeweb
balance roundrobin
option httpclose
#option httpchk HEAD / HTTP/1.0
server web1.test 192.168.56.3:80 check
#server web2.test 192.168.56.4:80 check
- name: redemarre haproxy
service:
name: haproxy
state: restarted
enabled: yes

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
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
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
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email nagios.gsb22@gmail.com
email {{ MAIL_DEST }}
}

View File

@ -4,32 +4,29 @@ Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionn
## Premièrement
Le playbook va créer le dossier nxc à la racine de root. Deux fichier docker-compose "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
Enfin, dans le répertoire nxc, seront créé les dossier certs et config.
Le playbook crée le dossier **nxc** à la racine de root. Les fichier docker-compose "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
Enfin, dans le répertoire nxc, seront créés les répertoires **certs** et **config**.
### Deuxièmement
## Deuxièmement
Le playbook va copier les fichiers placés dans "files" et les placer dans les bons répertoires.
#### Troisièmement
## Troisièmement
Le playbook va créer un certificat x509 grâce à mkcert, il s'agit d'une solution permettant de créer
des certificats auto-signés. Pour cela il télécharge mkcert sur s-adm (utiliser le getall).
Le playbook crée un certificat **x509** grâce à **mkcert**, il s'agit d'une solution permettant de créer des certificats auto-signés. Pour celai, il télécharge **mkcert** sur **s-adm** (utiliser le script **getall**).
mkcert sera placé dans : /usr/local/bin/
**mkcert** est placé dans : /usr/local/bin/
Pour créer le certificat le playbook va executer des lignes de commandes (lancé depuis nxc/) :
Pour créer le certificat, le playbook executer les commandes (lancé depuis nxc/) :
```
/usr/local/bin/mkcert -install # Installe mkcert
/usr/local/bin/mkcert -key-file key.pem -cert-file cert.pem "hôte.domaine.local" "*.domaine.local" #Crée le certificat le DNS spécifié
```
##### Quatrièmement
## Quatrièmement
Le playbook va lancer les fichier "docker-compose" à savoir : nextcloud.yml et traefik.yml.
Cela va installer les solutions automatiquement. Nextcloud est alors fonctionnel avec
un proxy inverse qui va rediriger en HTTPS.
Le playbook va lancer les fichiers "docker-compose" à savoir : nextcloud.yml et traefik.yml.
Cela va installer les solutions automatiquement. Nextcloud est alors fonctionnel avec le proxy inverse **traefik** assurant la redirection vers HTTPS.
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
Une fois le script fini, accedez au site :
https://s-nxc.gsb.lan
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan

View File

@ -8,37 +8,30 @@ iface lo inet loopback
# Reseau N-adm
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.99.12
netmask 255.255.255.0
address 192.168.99.12/24
# Reseau liaison avec r-ext
allow-hotplug enp0s8
iface enp0s8 inet static
address 192.168.200.254
netmask 255.255.255.0
address 192.168.200.254/24
gateway 192.168.200.253
up ip route add default via 192.168.200.253
# Reseau wifi
allow-hotplug enp0s9
iface enp0s9 inet static
address 172.16.65.254
netmask 255.255.255.0
address 172.16.65.254/24
# Reseau user
allow-hotplug enp0s10
iface enp0s10 inet static
address 172.16.64.254
netmask 255.255.255.0
address 172.16.64.254/24
# Reseau infra
allow-hotplug enp0s16
iface enp0s16 inet static
address 172.16.0.254
netmask 255.255.255.0
up /root/routagenat
address 172.16.0.254/24

View File

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

View File

@ -4,6 +4,7 @@
name:
- postfix
- mailutils
- libsasl2-modules
state: latest
- name: Copie du fichier sasl_passwd
@ -12,17 +13,75 @@
src: sasl_passwd
dest: /etc/postfix/sasl/
- name: Copie du fichier main.cf
tags: main.cf
template:
src: main.cf.j2
dest: /etc/postfix.main.cf
- name: ajout relay host gmail
tags: postfix
replace:
path: /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
command: postmap /etc/postfix/sasl/sasl_passwd
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
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

@ -3,11 +3,11 @@
- name: Copie du fichier sysctl.conf
copy: src=sysctl.conf dest=/etc/
- name: copier le script de routage
copy: src=routagenat dest=/root/
#- name: copier le script de routage
# copy: src=routagenat dest=/root/
- name: rendre executabe le script
shell: chmod +x /root/routagenat
#- name: rendre executabe le script
# shell: chmod +x /root/routagenat
#- name: exectuer le script
# script: /root/routagenat

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,11 +0,0 @@
---
- name: Installation d'HAproxy
apt: pkg=haproxy state=present update_cache=yes
- name: Fichier de configuration
copy: src=haproxy.cfg dest=/etc/haproxy/haproxy.cfg
notify:
- restart haproxy
- name: Copie de goss
copy: src=goss.yaml dest=/root

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
state: present
- name: installation de sshpass
apt:
name: sshpass
state: present
#- name: installation de sshpass
# apt:
# name: sshpass
# state: present
- 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/"
#- 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/"
- name: renommage du fichier de configuration
command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"

View File

@ -8,7 +8,7 @@
- s-ssh
- dnsmasq
- squid
- local-store
# - local-store
- snmp-agent
- syslog-cli
- 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,21 +1,24 @@
#!/bin/bash
mkvmrelease="v1.2"
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 () {
echo "$0 - version ${ovarelease}"
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
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
}
create_vm () {
nom="$1"
nomova=${ovafile}
local nom="$1"
local nomova="${ovafile}"
if [[ "${nom}" == "s-fog" ]] ; then
nomova="${ovafilefog}"
fi
@ -23,6 +26,9 @@ create_vm () {
echo "$0 : erreur ouverture fichier ${nomova} ..."
exit 3
fi
if [[ "${deletemode}" = 1 ]] ; then
VBoxManage unregistervm --delete "${nom}"
fi
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
}
@ -38,15 +44,25 @@ setif () {
create_if () {
# enp0s3
setif "$1" 1 "$2"
setif "$1" 2 "$3"
#(enp0s8)
setif "$1" 2 "$3"
#(enp0s9)
if [[ -n "$4" ]] ; then
setif "$1" 3 "$4"
fi
}
if [[ $# != 1 ]] ; then
if [[ $# == 0 ]] ; then
usage
fi
if [[ $1 == "--help" ]] || [[ $1 == "-h" ]] || [[ $1 == "-V" ]] ; then
usage
fi
if [[ $1 == "-r" ]] ; then
deletemode=1
shift
fi
vm="$1"
create_vm "${vm}"
@ -56,9 +72,7 @@ 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"
create_if "${vm}" "n-adm" "n-link" "n-wifi"
setif "${vm}" 4 "n-user"
setif "${vm}" 5 "n-infra"
elif [[ "${vm}" == "r-ext" ]] ; then
@ -74,22 +88,21 @@ elif [[ "${vm}" == "s-itil" ]] ; then
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-infra" "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
@ -100,8 +113,7 @@ 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"
echo "$0 : vm ${vm} non prevue "
exit 2
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
droits et créer des dossiers partagés.
- Une fois l'installation du serveur Windows, renommer le serveur en s-win et installer git.
- 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
cette machine puisse ping le serveur.
## Utilisation des comptes utilisateurs
Après il suffit de changer le domaine de cette machine et la redémarrer.
suite à ça, connecter vous avec les identifiants d'un utilisateurs.
- 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).
- Redémarrer puis se connecter avec les identifiants choisis.