Compare commits
10 Commits
v0.0.4t-ps
...
v0.0.5d-as
Author | SHA1 | Date | |
---|---|---|---|
d6c7e685aa | |||
87e0e17eec | |||
dbe75506e3 | |||
2555cbd40f | |||
be38bd0251 | |||
aca56a9eb5 | |||
167060157c | |||
30fd771045 | |||
ca2f1ca8a1 | |||
f185789e08 |
24
README.md
24
README.md
@ -1,6 +1,6 @@
|
||||
# gsb2023
|
||||
|
||||
2023-01-30 ps
|
||||
2023-02-01 ps
|
||||
|
||||
Environnement et playbooks ansible pour le projet GSB 2023
|
||||
|
||||
@ -13,7 +13,6 @@ Prérequis :
|
||||
* **debian-buster-gsb-2023a.ova**
|
||||
|
||||
|
||||
|
||||
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
|
||||
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
|
||||
* **r-int** : routage, DHCP
|
||||
@ -42,13 +41,25 @@ Prérequis :
|
||||
|
||||
## Installation
|
||||
|
||||
On utilisera l'image de machine virtuelle suivante :
|
||||
On utilisera les images de machines virtuelle suivantes :
|
||||
* **debian-bullseye-2023a.ova** (2023-01-06)
|
||||
* Debian Bullseye 11.6 - 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
|
||||
|
||||
On utilsera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créeer une VM
|
||||
|
||||
```shell
|
||||
gsb2023>
|
||||
cd pre
|
||||
$ mkvm s-adm
|
||||
|
||||
```
|
||||
|
||||
### Machine s-adm
|
||||
* créer la machine virtuelle **s-adm** en important l'image ova décrite plus haut
|
||||
* créer la machine virtuelle **s-adm** avec **mkvm * comme décrit plus haut.
|
||||
* renommer la machine puis redémarrer
|
||||
* taper :
|
||||
```shell
|
||||
@ -66,11 +77,10 @@ On utilisera l'image de machine virtuelle suivante :
|
||||
|
||||
### Pour chaque machine
|
||||
|
||||
- importer la machine à partir du fichier **.ova**
|
||||
- définir les cartes réseau en accord avec le plan d'adressage et le schéma
|
||||
- créer la machine avec **mkvm**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
||||
- donner le nom adapté (avec sed -i …)
|
||||
- redémarrer
|
||||
- mettre à jour les paquets : apt update && apt upgrade
|
||||
- mettre à jour les paquets : apt update
|
||||
- cloner le dépot :
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
|
@ -27,6 +27,8 @@
|
||||
192.168.99.102 s-lb-web2.gsb.adm
|
||||
192.168.99.103 s-lb-web3.gsb.adm
|
||||
192.168.99.112 r-vp1.gsb.adm
|
||||
192.168.99.102 r-vp2.gsb.adm
|
||||
|
||||
|
||||
192.168.99.8 syslog.gsb.adm
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
192.168.99.102 s-lb-web2.gsb.adm
|
||||
192.168.99.103 s-lb-web3.gsb.adm
|
||||
192.168.99.112 r-vp1.gsb.adm
|
||||
192.168.99.102 r-vp2.gsb.adm
|
||||
|
||||
192.168.99.8 syslog.gsb.adm
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
[client]
|
||||
user=root
|
||||
password=root
|
@ -1,16 +0,0 @@
|
||||
# Download and Install the Latest Updates for the OS
|
||||
apt-get update && apt-get upgrade -y
|
||||
|
||||
# Install MySQL Server in a Non-Interactive mode. Default root password will be "root"
|
||||
echo "mysql-server mysql-server/root_password password root" | debconf-set-selections
|
||||
echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections
|
||||
apt-get -y install mysql-server
|
||||
|
||||
|
||||
# Run the MySQL Secure Installation wizard
|
||||
mysql_secure_installation
|
||||
|
||||
sed -i 's/127\.0\.0\.1/0\.0\.0\.0/g' /etc/mysql/my.cnf
|
||||
mysql -uroot -p -e 'USE mysql; UPDATE `user` SET `Host`="%" WHERE `User`="root" AND `Host`="localhost"; DELETE FROM `user` WHERE `Host` != "%" AND `User`="root"; FLUSH PRIVILEGES;'
|
||||
|
||||
service mysql restart
|
@ -1,128 +0,0 @@
|
||||
#
|
||||
# The MySQL database server configuration file.
|
||||
#
|
||||
# You can copy this to one of:
|
||||
# - "/etc/mysql/my.cnf" to set global options,
|
||||
# - "~/.my.cnf" to set user-specific options.
|
||||
#
|
||||
# One can use all long options that the program supports.
|
||||
# Run program with --help to get a list of available options and with
|
||||
# --print-defaults to see which it would actually understand and use.
|
||||
#
|
||||
# For explanations see
|
||||
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
||||
|
||||
# This will be passed to all mysql clients
|
||||
# It has been reported that passwords should be enclosed with ticks/quotes
|
||||
# escpecially if they contain "#" chars...
|
||||
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
|
||||
[client]
|
||||
port = 3306
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
|
||||
# Here is entries for some specific programs
|
||||
# The following values assume you have at least 32M ram
|
||||
|
||||
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
||||
[mysqld_safe]
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
nice = 0
|
||||
|
||||
[mysqld]
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
user = mysql
|
||||
pid-file = /var/run/mysqld/mysqld.pid
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
port = 3306
|
||||
basedir = /usr
|
||||
datadir = /var/lib/mysql
|
||||
tmpdir = /tmp
|
||||
lc-messages-dir = /usr/share/mysql
|
||||
skip-external-locking
|
||||
#
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
#bind-address = 127.0.0.1
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
key_buffer = 16M
|
||||
max_allowed_packet = 16M
|
||||
thread_stack = 192K
|
||||
thread_cache_size = 8
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched
|
||||
myisam-recover = BACKUP
|
||||
#max_connections = 100
|
||||
#table_cache = 64
|
||||
#thread_concurrency = 10
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
query_cache_limit = 1M
|
||||
query_cache_size = 16M
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# As of 5.1 you can enable the log at runtime!
|
||||
#general_log_file = /var/log/mysql/mysql.log
|
||||
#general_log = 1
|
||||
#
|
||||
# Error log - should be very few entries.
|
||||
#
|
||||
log_error = /var/log/mysql/error.log
|
||||
#
|
||||
# Here you can see queries with especially long duration
|
||||
#slow_query_log_file = /var/log/mysql/mysql-slow.log
|
||||
#slow_query_log = 1
|
||||
#long_query_time = 2
|
||||
#log_queries_not_using_indexes
|
||||
#
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see README.Debian about
|
||||
# other settings you may need to change.
|
||||
#server-id = 1
|
||||
#log_bin = /var/log/mysql/mysql-bin.log
|
||||
expire_logs_days = 10
|
||||
max_binlog_size = 100M
|
||||
#binlog_do_db = include_database_name
|
||||
#binlog_ignore_db = include_database_name
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
#
|
||||
# * Security Features
|
||||
#
|
||||
# Read the manual, too, if you want chroot!
|
||||
# chroot = /var/lib/mysql/
|
||||
#
|
||||
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
|
||||
#
|
||||
# ssl-ca=/etc/mysql/cacert.pem
|
||||
# ssl-cert=/etc/mysql/server-cert.pem
|
||||
# ssl-key=/etc/mysql/server-key.pem
|
||||
|
||||
|
||||
|
||||
[mysqldump]
|
||||
quick
|
||||
quote-names
|
||||
max_allowed_packet = 16M
|
||||
|
||||
[mysql]
|
||||
#no-auto-rehash # faster start of mysql but no tab completition
|
||||
|
||||
[isamchk]
|
||||
key_buffer = 16M
|
||||
|
||||
#
|
||||
# * IMPORTANT: Additional settings that can override those from this file!
|
||||
# The files must end with '.cnf', otherwise they'll be ignored.
|
||||
#
|
||||
!includedir /etc/mysql/conf.d/
|
@ -1,3 +1,4 @@
|
||||
---
|
||||
- name: restart mysql-server
|
||||
service: name=mysql-server state=restarted
|
||||
- name: restart mariadb
|
||||
ansible.builtin.service:
|
||||
name: mariadb
|
||||
|
@ -1,4 +1,35 @@
|
||||
---
|
||||
- name: Install paquets
|
||||
apt: name=mysql-server state=present force=yes
|
||||
|
||||
- name: modules python pour
|
||||
apt:
|
||||
name: python3-pymysql
|
||||
state: present
|
||||
|
||||
- name: install mariadb-server
|
||||
apt:
|
||||
name: mariadb-server
|
||||
state: present
|
||||
|
||||
- name: Cree Bd wordpress
|
||||
mysql_db:
|
||||
db: wordpressdb
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
state: present
|
||||
|
||||
- name: Ouvre port 3306 mariadb-server
|
||||
replace:
|
||||
path: /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||
regexp: '^bind-address.*'
|
||||
replace: '#bind-adress = 127.0.0.1'
|
||||
backup: yes
|
||||
notify: restart mariadb
|
||||
|
||||
- name: Create MySQL user for wordpress
|
||||
mysql_user:
|
||||
name: wordpressuser
|
||||
password: wordpresspasswd
|
||||
priv: "wordpressdb.*:ALL"
|
||||
host: '%'
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
|
80
roles/nxc-traefik/files/docker-compose.yml
Normal file
80
roles/nxc-traefik/files/docker-compose.yml
Normal file
@ -0,0 +1,80 @@
|
||||
version: '3'
|
||||
volumes:
|
||||
nextcloud:
|
||||
db:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
nxc:
|
||||
external: false
|
||||
|
||||
services:
|
||||
reverse-proxy:
|
||||
# The official v2 Traefik docker image
|
||||
image: traefik:latest
|
||||
container_name: traefik
|
||||
# Enables the web UI and tells Traefik to listen to docker
|
||||
command: --api.insecure=true --providers.docker
|
||||
ports:
|
||||
# The HTTP port
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
# The Web UI (enabled by --api.insecure=true)
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
# So that Traefik can listen to the Docker events
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
# Map the static configuration into the container
|
||||
- ./config/static.yml:/etc/traefik/traefik.yml:ro
|
||||
# Map the dynamic configuration into the container
|
||||
- ./config/dynamic.yml:/etc/traefik/dynamic.yml:ro
|
||||
# Map the certificats into the container
|
||||
- ./certs:/etc/certs:ro
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
db:
|
||||
image: mariadb:10.5
|
||||
container_name: db
|
||||
restart: always
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||
volumes:
|
||||
- db:/var/lib/mysql
|
||||
networks:
|
||||
- nxc
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=Azerty1+
|
||||
- MYSQL_PASSWORD=Azerty1+
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
|
||||
app:
|
||||
image: nextcloud
|
||||
container_name: app
|
||||
restart: always
|
||||
ports:
|
||||
- 8081:80
|
||||
#links:
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ./nextcloud:/var/www/html
|
||||
networks:
|
||||
- proxy
|
||||
- nxc
|
||||
labels:
|
||||
# - "traefik.enable=true"
|
||||
- "traefik.http.routers.app.rule=Host(`s-nxc.gsb.lan`)"
|
||||
- "traefik.http.routers.app.tls=true"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=proxy"
|
||||
# - "traefik.http.routers.app.entrypoints=websecure"
|
||||
# - "traefik.http.routers.app.rule=Host(`mon.nxc`)"
|
||||
- "traefik.http.routers.app.service=app-service"
|
||||
- "traefik.http.services.app-service.loadbalancer.server.port=80"
|
||||
environment:
|
||||
- MYSQL_PASSWORD=Azerty1+
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_HOST=db
|
@ -1,58 +0,0 @@
|
||||
version: '2'
|
||||
|
||||
volumes:
|
||||
# nextcloud:
|
||||
db:
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb
|
||||
container_name: db
|
||||
restart: always
|
||||
#command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||
command: --innodb-read-only-compressed=OFF
|
||||
volumes:
|
||||
- db:/var/lib/mysql
|
||||
networks:
|
||||
- nxc-db
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=blabla
|
||||
- MYSQL_PASSWORD=blabla
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
|
||||
nxc:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
container_name: nxc
|
||||
# ports:
|
||||
# - 8080:80
|
||||
# links:
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ./nextcloud:/var/www/html
|
||||
environment:
|
||||
- MYSQL_PASSWORD=blabla
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_HOST=db
|
||||
labels:
|
||||
# Enable this container to be mapped by traefik
|
||||
# For more information, see: https://docs.traefik.io/providers/docker/#exposedbydefault
|
||||
- "traefik.enable=true"
|
||||
# URL to reach this container
|
||||
- "traefik.http.routers.nxc.rule=Host(`s-nxc.gsb.lan`)"
|
||||
# Activation of TLS
|
||||
- "traefik.http.routers.nxc.tls=true"
|
||||
# If port is different than 80, use the following service:
|
||||
#- "traefik.http.services.<service_name>.loadbalancer.server.port=<port>"
|
||||
# - "traefik.http.services.app.loadbalancer.server.port=8080"
|
||||
networks:
|
||||
- proxy
|
||||
- nxc-db
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
nxc-db:
|
||||
external: false
|
@ -1,6 +1,4 @@
|
||||
#!/bin/bash
|
||||
docker-compose -f nextcloud.yml down
|
||||
docker-compose -f traefik.yml down
|
||||
docker compose down -v
|
||||
sleep 1
|
||||
docker-compose -f traefik.yml up -d --remove-orphans
|
||||
docker-compose -f nextcloud.yml up -d
|
||||
docker compose up -d
|
||||
|
@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
docker volume prune -f
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
|
||||
docker compose down -v
|
||||
#docker volume prune -f
|
||||
#docker container prune -f
|
||||
#docker image prune -f
|
||||
|
@ -1,3 +1,2 @@
|
||||
#!/bin/bash
|
||||
docker-compose -f traefik.yml up -d
|
||||
docker-compose -f nextcloud.yml up -d
|
||||
docker compose up -d
|
||||
|
@ -1,3 +1,2 @@
|
||||
#!/bin/bash
|
||||
docker-compose -f nextcloud.yml down
|
||||
docker-compose -f traefik.yml down
|
||||
docker compose down
|
||||
|
@ -1,28 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
reverse-proxy:
|
||||
#image: traefik:v2.5
|
||||
image: traefik
|
||||
container_name: traefik
|
||||
restart: always
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
ports:
|
||||
# Web
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
# Map the static configuration into the container
|
||||
- ./config/static.yml:/etc/traefik/traefik.yml:ro
|
||||
# Map the dynamic configuration into the container
|
||||
- ./config/dynamic.yml:/etc/traefik/dynamic.yml:ro
|
||||
# Map the certificats into the container
|
||||
- ./certs:/etc/certs:ro
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
@ -24,14 +24,9 @@
|
||||
src: dynamic.yml
|
||||
dest: /root/nxc/config
|
||||
|
||||
- name: Copie de nextcloud.yml
|
||||
- name: Copie de docker-compose.yml
|
||||
copy:
|
||||
src: nextcloud.yml
|
||||
dest: /root/nxc
|
||||
|
||||
- name: Copie de traefik.yml
|
||||
copy:
|
||||
src: traefik.yml
|
||||
src: docker-compose.yml
|
||||
dest: /root/nxc
|
||||
|
||||
- name: Copie de nxc-stop.sh
|
||||
@ -76,3 +71,8 @@
|
||||
|
||||
- name: Creation reseau docker proxy
|
||||
command: docker network create proxy
|
||||
|
||||
#- name: Démarrage du docker-compose...
|
||||
#command: /bin/bash docker-compose up -d
|
||||
#args:
|
||||
#chdir: /root/nxc
|
||||
|
@ -4,10 +4,11 @@ Procédure d'installation de r-vp1 et de copie du fichier wg0-b.conf.
|
||||
Depuis r-vp1 se deplacer dans le repertoire **/tools/ansible/gsb2023** pour executer le playbook:
|
||||
**"ansible-playbook -i localhost, -c local r-vp1.yml"** puis reboot r-vp1.
|
||||
|
||||
Attendre la fin de l'installation. Ensuite faire une copie distante du fichier
|
||||
wg0-b.conf sur r-vp2 **"scp /confwg/wg0-b.conf root@'ip r-vp2':/etc/wireguard/"**.
|
||||
|
||||
Renommer les fichiers en **wg0.conf**
|
||||
Sur r-vp1:
|
||||
Attendre la fin de l'installation. Ensuite faire une ouverture serveur web avec python3 pour récuperer le fichier
|
||||
wg0-b.conf sur r-vp2. Lancer le script r-vp1-post.sh dans **/tools/ansible/gsb2023/Scripts**.
|
||||
|
||||
Sur r-vp2:
|
||||
Lancer le script r-vp2-post.sh dans **/tools/ansible/gsb2023/Scripts** pour recuperer wg0-b.conf
|
||||
et qui renomme le fichier en **wg0.conf** . Il redémarre et active le service **wg-quick@wg0**.
|
||||
|
||||
Executer **"systemctl enable wg-quick@wg0"** puis **"systemctl start wg-quick@wg0"** sur r-vp1 et r-vp2.
|
||||
Entrer la commande **"wg"** pour voir si l'interface wg0 est correctement montée.
|
||||
|
40
s-lb-bd.yml
40
s-lb-bd.yml
@ -3,47 +3,11 @@
|
||||
become: true
|
||||
tasks:
|
||||
|
||||
- name: modules python pour
|
||||
apt:
|
||||
name: python3-pymysql
|
||||
state: present
|
||||
|
||||
- name: install mariadb-server
|
||||
apt:
|
||||
name: mariadb-server
|
||||
state: present
|
||||
|
||||
- name: Cree Bd wordpress
|
||||
mysql_db:
|
||||
db: wordpressdb
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
state: present
|
||||
|
||||
- name: Ouvre port 3306 mariadb-server
|
||||
replace:
|
||||
path: /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||
regexp: '^bind-address.*'
|
||||
replace: '#bind-adress = 127.0.0.1'
|
||||
backup: yes
|
||||
notify: restart mariadb
|
||||
|
||||
- name: Create MySQL user for wordpress
|
||||
mysql_user:
|
||||
name: wordpressuser
|
||||
password: wordpresspasswd
|
||||
priv: "wordpressdb.*:ALL"
|
||||
host: '%'
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
handlers:
|
||||
- name: restart mariadb
|
||||
ansible.builtin.service:
|
||||
name: mariadb
|
||||
state: restarted
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- lb-bd
|
||||
- post
|
||||
- snmp-agent
|
||||
- ssh-cli
|
||||
|
@ -7,3 +7,5 @@
|
||||
- post
|
||||
- lb-web
|
||||
- snmp-agent
|
||||
- ssh-cli
|
||||
|
||||
|
@ -7,3 +7,4 @@
|
||||
- post
|
||||
- lb-web
|
||||
- snmp-agent
|
||||
- ssh-cli
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkvmrelease="v1.2"
|
||||
mkvmrelease="v1.2.1"
|
||||
|
||||
ovarelease="2023a"
|
||||
ovafogrelease="2023a"
|
||||
|
190
scripts/mkvm.ps1
190
scripts/mkvm.ps1
@ -22,11 +22,10 @@ function create_vm{ param([string]$nomvm)
|
||||
function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$reseau)
|
||||
#Création d'une interface
|
||||
if ($nomvm -and $nic -and $rang -and $reseau) {
|
||||
#if ("1" -eq "1") {
|
||||
if ($nic -eq "bridge") {
|
||||
#Création d'une interface en pont
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nic"$rang" bridged
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nictype"$rang" 82540EM
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nictype"$rang" virtio
|
||||
& "$vboxmanage" modifyvm "$nomvm" --cableconnected"$rang" on
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nicpromisc"$rang" allow-all
|
||||
Write-Host "$nomvm : IF$rang $nic"
|
||||
@ -35,7 +34,7 @@ function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$res
|
||||
#Création d'une interface en reseau interne
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nic"$rang" intnet
|
||||
& "$vboxmanage" modifyvm "$nomvm" --intnet"$rang" "$reseau"
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nictype"$rang" 82540EM
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nictype"$rang" virtio
|
||||
& "$vboxmanage" modifyvm "$nomvm" --cableconnected"$rang" on
|
||||
& "$vboxmanage" modifyvm "$nomvm" --nicpromisc"$rang" allow-all
|
||||
Write-Host "$nomvm : IF$rang $nic $reseau"
|
||||
@ -43,6 +42,9 @@ function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$res
|
||||
}
|
||||
}
|
||||
|
||||
function usage{
|
||||
Write-Host "usage : mkvm ${myInvocation.ScriptName} <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-agence|s-appli|s-backup|s-itil|s-ncx|s-fog|s-dns-ext|s-web-ext|s-lb|s-lb-bd|s-lb-web1|s-lb-web2|s-lb-web3>"
|
||||
}
|
||||
|
||||
if ($args[0] -eq "s-adm") {
|
||||
|
||||
@ -52,107 +54,103 @@ if ($args[0] -eq "s-adm") {
|
||||
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-infra") {
|
||||
elseif ($args[0] -eq "r-int") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-infra"
|
||||
|
||||
#création de la première interface
|
||||
& "$vboxmanage" modifyvm "s-infra" --nic1 intnet
|
||||
& "$vboxmanage" modifyvm "s-infra" --intnet1 "n-adm"
|
||||
& "$vboxmanage" modifyvm "s-infra" --nictype1 82540EM
|
||||
& "$vboxmanage" modifyvm "s-infra" --cableconnected1 on
|
||||
& "$vboxmanage" modifyvm "s-infra" --nicpromisc1 allow-all
|
||||
|
||||
#création de la deuxième interface
|
||||
& "$vboxmanage" modifyvm "s-infra" --nic2 intnet
|
||||
& "$vboxmanage" modifyvm "s-infra" --intnet2 "n-infra"
|
||||
& "$vboxmanage" modifyvm "s-infra" --nictype2 82540EM
|
||||
& "$vboxmanage" modifyvm "s-infra" --cableconnected2 on
|
||||
& "$vboxmanage" modifyvm "s-infra" --nicpromisc2 allow-all
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "r-int") {
|
||||
|
||||
create_vm($args[0])
|
||||
|
||||
#interface 1
|
||||
& "$vboxmanage" modifyvm "r-int" --nic1 intnet
|
||||
& "$vboxmanage" modifyvm "r-int" --intnet1 "n-adm"
|
||||
& "$vboxmanage" modifyvm "r-int" --nictype1 82540EM
|
||||
& "$vboxmanage" modifyvm "r-int" --cableconnected1 on
|
||||
& "$vboxmanage" modifyvm "r-int" --nicpromisc1 allow-all
|
||||
|
||||
#interface 2
|
||||
& "$vboxmanage" modifyvm "r-int" --nic2 intnet
|
||||
& "$vboxmanage" modifyvm "r-int" --intnet2 "n-link"
|
||||
& "$vboxmanage" modifyvm "r-int" --nictype2 82540EM
|
||||
& "$vboxmanage" modifyvm "r-int" --cableconnected2 on
|
||||
& "$vboxmanage" modifyvm "r-int" --nicpromisc2 allow-all
|
||||
|
||||
#interface 3
|
||||
& "$vboxmanage" modifyvm "r-int" --nic3 intnet
|
||||
& "$vboxmanage" modifyvm "r-int" --intnet3 "n-wifi"
|
||||
& "$vboxmanage" modifyvm "r-int" --nictype3 82540EM
|
||||
& "$vboxmanage" modifyvm "r-int" --cableconnected3 on
|
||||
& "$vboxmanage" modifyvm "r-int" --nicpromisc3 allow-all
|
||||
|
||||
#interface 4
|
||||
& "$vboxmanage" modifyvm "r-int" --nic4 intnet
|
||||
& "$vboxmanage" modifyvm "r-int" --intnet4 "n-user"
|
||||
& "$vboxmanage" modifyvm "r-int" --nictype4 82540EM
|
||||
& "$vboxmanage" modifyvm "r-int" --cableconnected4 on
|
||||
& "$vboxmanage" modifyvm "r-int" --nicpromisc4 allow-all
|
||||
|
||||
#interface 5
|
||||
& "$vboxmanage" modifyvm "r-int" --nic5 intnet
|
||||
& "$vboxmanage" modifyvm "r-int" --intnet5 "n-infra"
|
||||
& "$vboxmanage" modifyvm "r-int" --nictype5 82540EM
|
||||
& "$vboxmanage" modifyvm "r-int" --cableconnected5 on
|
||||
& "$vboxmanage" modifyvm "r-int" --nicpromisc5 allow-all
|
||||
create_if $args[0] "int" 2 "n-link"
|
||||
create_if $args[0] "int" 3 "n-wifi"
|
||||
create_if $args[0] "int" 4 "n-user"
|
||||
create_if $args[0] "int" 5 "n-infra"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "r-ext") {
|
||||
|
||||
create_vm($args[0])
|
||||
|
||||
#interface 1
|
||||
& "$vboxmanage" modifyvm "r-ext" --nic1 intnet
|
||||
& "$vboxmanage" modifyvm "r-ext" --intnet1 "n-adm"
|
||||
& "$vboxmanage" modifyvm "r-ext" --nictype1 82540EM
|
||||
& "$vboxmanage" modifyvm "r-ext" --cableconnected1 on
|
||||
& "$vboxmanage" modifyvm "r-ext" --nicpromisc1 allow-all
|
||||
|
||||
#interface 2
|
||||
& "$vboxmanage" modifyvm "r-ext" --nic2 intnet
|
||||
& "$vboxmanage" modifyvm "r-ext" --intnet2 "n-dmz"
|
||||
& "$vboxmanage" modifyvm "r-ext" --nictype2 82540EM
|
||||
& "$vboxmanage" modifyvm "r-ext" --cableconnected2 on
|
||||
& "$vboxmanage" modifyvm "r-ext" --nicpromisc2 allow-all
|
||||
|
||||
#interface 3
|
||||
& "$vboxmanage" modifyvm "r-ext" --nic3 bridged
|
||||
& "$vboxmanage" modifyvm "r-ext" --nictype3 82540EM
|
||||
& "$vboxmanage" modifyvm "r-ext" --cableconnected3 on
|
||||
& "$vboxmanage" modifyvm "r-ext" --nicpromisc3 allow-all
|
||||
|
||||
#interface 4
|
||||
& "$vboxmanage" modifyvm "r-ext" --nic4 intnet
|
||||
& "$vboxmanage" modifyvm "r-ext" --intnet4 "n-linkv"
|
||||
& "$vboxmanage" modifyvm "r-ext" --nictype4 82540EM
|
||||
& "$vboxmanage" modifyvm "r-ext" --cableconnected4 on
|
||||
& "$vboxmanage" modifyvm "r-ext" --nicpromisc4 allow-all
|
||||
|
||||
#interface 5
|
||||
& "$vboxmanage" modifyvm "r-ext" --nic5 intnet
|
||||
& "$vboxmanage" modifyvm "r-ext" --intnet5 "n-link"
|
||||
& "$vboxmanage" modifyvm "r-ext" --nictype5 82540EM
|
||||
& "$vboxmanage" modifyvm "r-ext" --cableconnected5 on
|
||||
& "$vboxmanage" modifyvm "r-ext" --nicpromisc5 allow-all
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-dmz"
|
||||
create_if $args[0] "bridge" 3 "null"
|
||||
create_if $args[0] "int" 4 "n-linkv"
|
||||
create_if $args[0] "int" 5 "n-link"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "test") {
|
||||
elseif (((((((($args[0] -eq "s-elk") `
|
||||
-or ($args[0] -eq "s-mon") `
|
||||
-or ($args[0] -eq "s-backup") `
|
||||
-or ($args[0] -eq "s-appli") `
|
||||
-or ($args[0] -eq "s-infra") `
|
||||
-or ($args[0] -eq "s-proxy") `
|
||||
-or ($args[0] -eq "s-itil") `
|
||||
-or ($args[0] -eq "s-nxc") `
|
||||
))))))) {
|
||||
|
||||
fonction1 $args[0] $args[1]
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-infra"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-fog") {
|
||||
|
||||
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]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-agence"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-lb") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-dmz"
|
||||
create_if $args[0] "int" 3 "n-dmz-lb"
|
||||
}
|
||||
|
||||
elseif (($args[0] -eq "s-lb-db") -or ($args[0] -eq "s-nas")) {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-dmz-db"
|
||||
}
|
||||
|
||||
elseif ((($args[0] -eq "s-lb-web1") -or ($args[0] -eq "s-lb-web2") -or ($args[0] -eq "s-lb-web3"))) {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-dmz-lb"
|
||||
create_if $args[0] "int" 3 "n-dmz-db"
|
||||
}
|
||||
|
||||
elseif (($args[0] -eq "s-dns-ext") -or ($args[0] -eq "s-web-ext")) {
|
||||
|
||||
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 "r-vp1") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-linkv"
|
||||
create_if $args[0] "bridge" 3 "null"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "r-vp2") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-agence"
|
||||
create_if $args[0] "bridge" 3 "null"
|
||||
}
|
||||
|
||||
else {
|
||||
usage
|
||||
}
|
@ -1,2 +1,5 @@
|
||||
#!/bin/bash
|
||||
#stoper le fw
|
||||
systemctl stop ferm
|
||||
#ouverture du service web pour copie distante
|
||||
cd /root/confwg/ && python3 -m http.server 8000 &
|
||||
|
@ -1,3 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#recuperation du fichier de config
|
||||
wget http://r-vp1.gsb.adm:8000/wg0-b.qconf
|
||||
#renomage fichier et mv
|
||||
mv ./wg0-b.conf /etc/wireguard/wg0.conf
|
||||
#activation interface wg0
|
||||
systemctl enable wg-quick@wg0 && systemctl start wg-quick@wg0
|
||||
|
Reference in New Issue
Block a user