Compare commits
31 Commits
v0.0.1d-ps
...
v0.0.2a-ps
Author | SHA1 | Date | |
---|---|---|---|
4dd5b711e2 | |||
f4361d9ecb | |||
5d767a195d | |||
7092ed5963 | |||
a508e7e65c | |||
da5011466b | |||
e395c14752 | |||
c5c261893c | |||
b8d05aa7c5 | |||
ce6d9e4c57 | |||
8d241f8786 | |||
2822944c95 | |||
85657ca334 | |||
d3c3ef1fdc | |||
073c529f19 | |||
c5d7bc847b | |||
4c0b3295af | |||
cd9c94ec5c | |||
dd73c48e28 | |||
7f4588c279 | |||
ca6a1b9513 | |||
2ab19a6497 | |||
b017071726 | |||
b4e7f7e067 | |||
031984aa2b | |||
389cb3e330 | |||
9655c226b1 | |||
e767433224 | |||
945bae351d | |||
75bc513445 | |||
17b049942f |
27
README.md
27
README.md
@ -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
|
||||
@ -56,7 +69,7 @@ On utilisera l'image de machine virtuelle suivante :
|
||||
- cloner le dépot :
|
||||
```shell
|
||||
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
|
||||
export DEPL=192.168.99.99
|
||||
bash gsbboot
|
||||
|
@ -34,8 +34,6 @@ interface:
|
||||
- 192.168.100.254/24
|
||||
enp0s9:
|
||||
exists: true
|
||||
addrs:
|
||||
- 192.168.0.38/24
|
||||
enp0s16:
|
||||
exists: true
|
||||
addrs:
|
||||
|
@ -16,10 +16,6 @@ port:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
tcp6:8080:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
udp:53:
|
||||
listening: true
|
||||
ip:
|
||||
@ -45,7 +41,6 @@ service:
|
||||
user:
|
||||
dnsmasq:
|
||||
exists: true
|
||||
uid: 109
|
||||
gid: 65534
|
||||
groups:
|
||||
- nogroup
|
||||
@ -54,7 +49,6 @@ user:
|
||||
group:
|
||||
ssh:
|
||||
exists: true
|
||||
gid: 111
|
||||
command:
|
||||
/sbin/sysctl net.ipv4.ip_forward:
|
||||
exit-status: 0
|
||||
@ -65,8 +59,6 @@ command:
|
||||
dns:
|
||||
depl.sio.lan:
|
||||
resolveable: true
|
||||
addrs:
|
||||
- 10.121.38.10
|
||||
timeout: 500
|
||||
process:
|
||||
dnsmasq:
|
||||
|
@ -1,26 +1,27 @@
|
||||
file:
|
||||
/etc/icinga/htpasswd.users:
|
||||
/etc/nagios4/htdigest.users:
|
||||
exists: true
|
||||
mode: "0644"
|
||||
size: 26
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0640"
|
||||
owner: nagios
|
||||
group: www-data
|
||||
filetype: file
|
||||
contains: []
|
||||
contains: [nagiosadmin]
|
||||
package:
|
||||
apache2:
|
||||
installed: true
|
||||
nagios-snmp-plugins:
|
||||
installed: true
|
||||
icinga:
|
||||
nagios4:
|
||||
installed: true
|
||||
snmp:
|
||||
installed: true
|
||||
python3-passlib:
|
||||
installed: true
|
||||
port:
|
||||
tcp6:80:
|
||||
tcp:80:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
- 0.0.0.0
|
||||
udp:514:
|
||||
listening: true
|
||||
ip:
|
||||
@ -29,7 +30,7 @@ service:
|
||||
apache2:
|
||||
enabled: true
|
||||
running: true
|
||||
icinga:
|
||||
nagios4:
|
||||
enabled: true
|
||||
running: true
|
||||
command:
|
||||
@ -42,19 +43,19 @@ command:
|
||||
process:
|
||||
apache2:
|
||||
running: true
|
||||
icinga:
|
||||
nagios4:
|
||||
running: true
|
||||
interface:
|
||||
enp0s3:
|
||||
exists: true
|
||||
addrs:
|
||||
- 192.168.99.8/24
|
||||
- 192.168.99.104/24
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 172.16.0.8/24
|
||||
http:
|
||||
http://localhost/icinga:
|
||||
http://localhost/nagios4:
|
||||
status: 401
|
||||
allow-insecure: false
|
||||
no-follow-redirects: false
|
||||
|
@ -1,8 +0,0 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
roles:
|
||||
- goss
|
||||
- docker-graylog-pont
|
||||
- post
|
@ -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"
|
||||
|
||||
|
@ -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,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
|
||||
|
@ -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
|
||||
|
@ -3,19 +3,19 @@
|
||||
- name: goss binary exists
|
||||
stat: path=/usr/local/bin/goss
|
||||
register: gossbin
|
||||
|
||||
|
||||
- name: install goss sur machine standard
|
||||
get_url:
|
||||
url: "{{ depl_url }}/{{ depl_goss }}"
|
||||
get_url:
|
||||
url: "{{ depl_url }}/{{ depl_goss }}"
|
||||
dest: /usr/local/bin/{{ depl_goss }}
|
||||
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
|
||||
copy:
|
||||
copy:
|
||||
src: "/var/www/html/gsbstore/{{ depl_goss }}"
|
||||
dest: /usr/local/bin/{{ depl_goss }}
|
||||
mode: 0755
|
||||
remote_src: yes
|
||||
when: gossbin.stat.exists == False and ansible_hostname == "s-adm"
|
||||
when: gossbin.stat.exists == false and ansible_hostname == "s-adm"
|
||||
|
||||
|
@ -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"
|
||||
|
10
roles/lb-nfs-server/README.md
Normal file
10
roles/lb-nfs-server/README.md
Normal 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**
|
2
roles/lb-web/defaults/main.yml
Normal file
2
roles/lb-web/defaults/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
depl_url: "http://s-adm.gsb.adm/gsbstore/"
|
||||
depl_wordpress: "wordpress-6.1.1-fr_FR.tar.gz"
|
@ -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
|
||||
|
1
roles/nagios/defaults/main.yml
Normal file
1
roles/nagios/defaults/main.yml
Normal file
@ -0,0 +1 @@
|
||||
MAIL_DEST: "anthony.arnoux@protonmail.ch"
|
@ -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 }}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# This file describes the network interfaces available on your system
|
||||
# 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
|
||||
auto lo
|
||||
@ -10,7 +10,7 @@ iface lo inet loopback
|
||||
# cote n-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.104/24
|
||||
address 192.168.99.8/24
|
||||
gateway 192.168.99.99
|
||||
|
||||
# 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.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.200.0/24 via 172.16.0.254
|
||||
up ip route add 192.168.200.0/24 via 172.16.0.254
|
||||
|
@ -1,4 +1,4 @@
|
||||
source /etc/network/interfaces.d/*
|
||||
#source /etc/network/interfaces.d/*
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
@ -14,4 +14,4 @@ iface enp0s3 inet static
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 192.168.102.253
|
||||
netmask 255.255.255.0
|
||||
netmask 255.255.255.0
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -1,2 +0,0 @@
|
||||
depl_url: "http://s-adm.gsb.adm/gsbstore/"
|
||||
depl_wordpress: "wordpress-5.8.2-fr_FR.tar.gz"
|
@ -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.
|
@ -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"
|
||||
|
@ -8,7 +8,7 @@
|
||||
- s-ssh
|
||||
- dnsmasq
|
||||
- squid
|
||||
- local-store
|
||||
# - local-store
|
||||
- snmp-agent
|
||||
- syslog-cli
|
||||
- post
|
||||
|
@ -1,11 +0,0 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
roles:
|
||||
- base
|
||||
- s-lb-web-ab
|
||||
- snmp-agent
|
||||
- s-nas-client
|
||||
- post
|
||||
|
@ -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
|
74
scripts/mkvm
74
scripts/mkvm
@ -1,47 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
ovarelease="2023a"
|
||||
ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
|
||||
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
|
||||
if [[ ! -r "${ovafile}" ]]; then
|
||||
echo "$0 : erreur ouverture fichier ${ovafile} ..."
|
||||
local nom="$1"
|
||||
local nomova="${ovafile}"
|
||||
if [[ "${nom}" == "s-fog" ]] ; then
|
||||
nomova="${ovafilefog}"
|
||||
fi
|
||||
if [[ ! -r "${nomova}" ]]; then
|
||||
echo "$0 : erreur ouverture fichier ${nomova} ..."
|
||||
exit 3
|
||||
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 () {
|
||||
|
||||
VBoxManage modifyvm $1 --nic${2} intnet
|
||||
VBoxManage modifyvm $1 --intnet${2} $3
|
||||
VBoxManage modifyvm $1 --nictype${2} 82540EM
|
||||
VBoxManage modifyvm $1 --cableconnected${2} on
|
||||
VBoxManage modifyvm $1 --nicpromisc${2} allow-all
|
||||
VBoxManage modifyvm "$1" --nic"${2}" intnet
|
||||
VBoxManage modifyvm "$1" --intnet"${2}" "$3"
|
||||
VBoxManage modifyvm "$1" --nictype"${2}" 82540EM
|
||||
VBoxManage modifyvm "$1" --cableconnected"${2}" on
|
||||
VBoxManage modifyvm "$1" --nicpromisc"${2}" allow-all
|
||||
}
|
||||
|
||||
create_if () {
|
||||
# enp0s3
|
||||
setif $1 1 $2
|
||||
setif $1 2 $3
|
||||
setif "$1" 1 "$2"
|
||||
#(enp0s8)
|
||||
setif "$1" 2 "$3"
|
||||
#(enp0s9)
|
||||
if [[ -n "$4" ]] ; then
|
||||
setif "$1" 3 "$4"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
if [[ $# != 1 ]] ; then
|
||||
if [[ $# == 0 ]] ; then
|
||||
usage
|
||||
fi
|
||||
|
||||
vm=$1
|
||||
if [[ $1 == "--help" ]] || [[ $1 == "-h" ]] || [[ $1 == "-V" ]] ; then
|
||||
usage
|
||||
fi
|
||||
if [[ $1 == "-r" ]] ; then
|
||||
deletemode=1
|
||||
shift
|
||||
fi
|
||||
vm="$1"
|
||||
|
||||
create_vm "${vm}"
|
||||
if [[ "${vm}" == "s-infra" ]] ; then
|
||||
@ -50,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
|
||||
@ -68,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
|
||||
@ -94,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
135
scripts/mkvm.pl
Executable 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);
|
||||
|
||||
}
|
@ -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.
|
Reference in New Issue
Block a user