Compare commits
11 Commits
v0.0.5u-ch
...
v0.0.6d-em
Author | SHA1 | Date | |
---|---|---|---|
a35048dc9f | |||
fe0629d1c3 | |||
1371b6b970 | |||
2bffbbedc0 | |||
272ef9ac07 | |||
81478df279 | |||
75126890b3 | |||
851543db0a | |||
f9e48e7614 | |||
16d22619bf | |||
3fc572ca72 |
25
README.md
25
README.md
@ -1,6 +1,6 @@
|
||||
# gsb2023
|
||||
|
||||
2023-02-01 ps
|
||||
2023-02-02 ps
|
||||
|
||||
Environnement et playbooks ansible pour le projet GSB 2023
|
||||
|
||||
@ -59,9 +59,9 @@ $ mkvm -r s-adm
|
||||
```
|
||||
|
||||
### Machine s-adm
|
||||
* créer la machine virtuelle **s-adm** avec **mkvm * comme décrit plus haut.
|
||||
* utiliser le script de renommage comme suit --> bash chname [nouveau_nom_de_machine] puis redémarrer
|
||||
* utiliser le script s-adm-start --> bash s-adm-start, redémarrer
|
||||
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
|
||||
* utiliser le script de renommage comme suit --> `bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||
* utiliser le script **s-adm-start** : `bash s-adm-start` , puis redémarrer
|
||||
* ou sinon :
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
@ -79,9 +79,9 @@ $ mkvm -r s-adm
|
||||
### Pour chaque machine
|
||||
|
||||
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
||||
- utiliser le script de renommage comme suit --> bash chname [nouveau_nom_de_machine]
|
||||
- utiliser le script de renommage comme suit : `bash chname <nouveau_nom_de_machine>`
|
||||
- redémarrer
|
||||
- utiliser le script gsb-start --> bash gsb-start
|
||||
- utiliser le script **gsb-start** : `bash gsb-start`
|
||||
- ou sinon:
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
@ -94,3 +94,16 @@ bash pull-config
|
||||
```
|
||||
- redémarrer
|
||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
||||
|
||||
|
||||
## Les tests
|
||||
|
||||
Il peuvent êtres mis en oeuvre avec **goss** de la façon suivante : chaque machine installée dispose d'un fichier de test ad-hoc portant le nom de la machine elle-même (machine.yml).
|
||||
|
||||
```
|
||||
cd tools/ansible/gsb2023
|
||||
bash agoss # lance le test portant le nom de la machine
|
||||
```
|
||||
|
||||
`bash agoss -f tap` permet de lancer le test avec le détail d'exécution
|
||||
|
||||
|
47
roles/fw-ferm/files/ferm-vp1.conf
Normal file
47
roles/fw-ferm/files/ferm-vp1.conf
Normal file
@ -0,0 +1,47 @@
|
||||
# -*- shell-script -*-
|
||||
|
||||
@def $DEV_VPN= wg0;
|
||||
|
||||
table filter {
|
||||
chain INPUT {
|
||||
policy DROP;
|
||||
|
||||
# connection tracking
|
||||
mod state state INVALID DROP;
|
||||
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||
|
||||
# allow local connections
|
||||
interface lo ACCEPT;
|
||||
interface $DEV_VPN{
|
||||
# respond to ping
|
||||
proto icmp icmp-type echo-request ACCEPT;
|
||||
# disallow ssh
|
||||
saddr proto tcp dport ssh DROP;
|
||||
}
|
||||
}#FIN INPUT
|
||||
|
||||
# outgoing connections are not limited
|
||||
chain OUTPUT {
|
||||
policy ACCEPT;
|
||||
interface $DEV_VPN{
|
||||
# allow ssh
|
||||
daddr proto tcp dport ssh ACCEPT;
|
||||
# respond to ping
|
||||
proto icmp icmp-type echo-request ACCEPT;
|
||||
}
|
||||
}#FIN OUTPUT
|
||||
|
||||
chain FORWARD {
|
||||
policy ACCEPT;
|
||||
|
||||
# connection tracking
|
||||
mod state state INVALID DROP;
|
||||
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||
|
||||
# connections from the internal net to the internet or to other
|
||||
# internal nets are allowed
|
||||
interface $DEV_VPN ACCEPT;
|
||||
|
||||
# the rest is dropped by the above policy
|
||||
}#FIN FO
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
|
||||
@def $DEV_PRIVATE = enp0s8;
|
||||
@def $DEV_WORLD = enp0s9;
|
||||
|
||||
@def $DEV_VPN= wg0;
|
||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||
|
||||
table filter {
|
||||
@ -33,23 +33,33 @@ table filter {
|
||||
# we provide DNS and SMTP services for the internal net
|
||||
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
||||
proto (udp tcp) dport domain ACCEPT;
|
||||
proto udp dport bootps ACCEPT;
|
||||
proto udp dport bootps ACCEPT;
|
||||
}
|
||||
|
||||
# interface réseau
|
||||
# interface réseau
|
||||
interface $DEV_WORLD {
|
||||
|
||||
|
||||
}
|
||||
|
||||
# the rest is dropped by the above policy
|
||||
}#FIN INPUT
|
||||
|
||||
# outgoing connections are not limited
|
||||
chain OUTPUT policy ACCEPT;
|
||||
chain OUTPUT {policy ACCEPT;
|
||||
}#FIN OUTPUT
|
||||
|
||||
chain FORWARD {
|
||||
policy ACCEPT;
|
||||
|
||||
interface $DEV_VPN{
|
||||
# respond to ping
|
||||
proto icmp icmp-type echo-request ACCEPT;
|
||||
# disallow ssh
|
||||
saddr($DEV_VPN) proto tcp dport ssh DROP;
|
||||
# allow ssh
|
||||
daddr($DEV_VPN) proto tcp dport ssh ACCEPT;
|
||||
|
||||
}
|
||||
# connection tracking
|
||||
mod state state INVALID DROP;
|
||||
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
@def $DEV_PRIVATE = enp0s9;
|
||||
@def $DEV_WORLD = enp0s8;
|
||||
|
||||
@def $DEV_VPN= wg0;
|
||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||
|
||||
table filter {
|
||||
@ -34,7 +34,12 @@ table filter {
|
||||
proto (udp tcp) dport domain ACCEPT;
|
||||
proto udp dport bootps ACCEPT;
|
||||
}
|
||||
|
||||
interface $DEV_VPN{
|
||||
# respond to ping
|
||||
proto icmp icmp-type echo-request ACCEPT;
|
||||
# disallow ssh
|
||||
saddr proto tcp dport ssh ACCEPT;
|
||||
}
|
||||
# interface réseau
|
||||
interface $DEV_WORLD {
|
||||
|
||||
@ -44,8 +49,14 @@ table filter {
|
||||
}#FIN INPUT
|
||||
|
||||
# outgoing connections are not limited
|
||||
chain OUTPUT policy ACCEPT;
|
||||
|
||||
chain OUTPUT {policy ACCEPT;
|
||||
interface $DEV_VPN{
|
||||
# allow ssh
|
||||
daddr proto tcp dport ssh DROP;
|
||||
# respond to ping
|
||||
proto icmp icmp-type echo-request ACCEPT;
|
||||
}
|
||||
}
|
||||
chain FORWARD {
|
||||
policy ACCEPT;
|
||||
|
||||
|
@ -13,16 +13,3 @@
|
||||
apt:
|
||||
name: nfs-common
|
||||
state: present
|
||||
|
||||
- name: montage nfs pour word press
|
||||
blockinfile:
|
||||
path: /etc/fstab
|
||||
block: |
|
||||
192.168.102.253:/home/wordpress /var/www/html nfs soft,timeo=5,intr,rsize=8192,wsize=8192,wsize=8192 0 0
|
||||
|
||||
#- name: monte export wordpress
|
||||
# ansible.posix.mount:
|
||||
# path: /var/www/html
|
||||
# state: mounted
|
||||
# fstype: nfs
|
||||
# src: 192.168.102.253:/exports/wordpress
|
||||
|
@ -26,6 +26,7 @@ define host {
|
||||
host_name localhost
|
||||
alias localhost
|
||||
address 127.0.0.1
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,5 +9,6 @@ define host{
|
||||
host_name s-adm
|
||||
alias debian-servers
|
||||
address 192.168.99.99
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
@ -9,5 +9,6 @@ define host{
|
||||
host_name s-appli
|
||||
alias debian-servers
|
||||
address 172.16.0.3
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
@ -9,5 +9,6 @@ define host{
|
||||
host_name s-backup
|
||||
alias serveur proxy
|
||||
address 172.16.0.4
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ define host{
|
||||
host_name s-fog
|
||||
alias serveur proxy
|
||||
address 172.16.0.16
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,5 +9,6 @@ define host{
|
||||
host_name s-infra
|
||||
alias debian-servers
|
||||
address 172.16.0.1
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ define host{
|
||||
host_name s-itil
|
||||
alias serveur proxy
|
||||
address 172.16.0.9
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,5 +9,6 @@ define host{
|
||||
host_name s-nxc
|
||||
alias debian-servers
|
||||
address 172.16.0.7
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ define host{
|
||||
host_name s-proxy
|
||||
alias serveur proxy
|
||||
address 172.16.0.2
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,6 +9,7 @@ define host{
|
||||
host_name s-win
|
||||
alias serveur proxy
|
||||
address 172.16.0.6
|
||||
parents r-int
|
||||
}
|
||||
|
||||
|
||||
|
0
roles/peertube/README.md
Normal file
0
roles/peertube/README.md
Normal file
11
roles/peertube/tasks/main.yml
Normal file
11
roles/peertube/tasks/main.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
- name: installation de docker...
|
||||
command: curl https://releases.rancher.com/install-docker/20.10.sh | sh
|
||||
|
||||
- name: installation de k3s...
|
||||
command: curl -sfL https://get.k3s.io | sh -s - --docker
|
||||
|
||||
- name: activationde k3s au démarrage...
|
||||
systemd:
|
||||
name: k3s
|
||||
enabled: true
|
7
roles/post-lb/README.md
Normal file
7
roles/post-lb/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Rôle Post
|
||||
|
||||
Le rôle "post" copie la configuration des interfaces des cartes réseaux nécessaires selon la machine sur laquelle on exécute le rôle. Il place cette configuration dans /etc/network/interfaces.
|
||||
|
||||
Ensuite, on copie le fichier "resolv.conf" dans /etc/ lorsque que la machine qui exécute le rôle n'est pas "s-adm", "s-proxy" ou "r-vp2".
|
||||
|
||||
Cependant, si la machine qui exécute le rôle est "s-proxy", on copie le fichier "resolv.conf.s-proxy" dans /etc/resolv.conf
|
21
roles/post-lb/files/interfaces.s-lb-web1
Normal file
21
roles/post-lb/files/interfaces.s-lb-web1
Normal file
@ -0,0 +1,21 @@
|
||||
### 0.2 - putconf - jeudi 7 janvier 2016, 16:18:49 (UTC+0100)
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# carte n-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.101/24
|
||||
|
||||
# Réseau n-dmz-lb
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 192.168.101.1/24
|
||||
|
||||
# réseau n-dmz-db
|
||||
allow-hotplug enp0s9
|
||||
iface enp0s9 inet static
|
||||
address 192.168.102.1/24
|
||||
post-up mount -o rw 192.168.102.253:/home/wordpress /var/www/html
|
21
roles/post-lb/files/interfaces.s-lb-web2
Normal file
21
roles/post-lb/files/interfaces.s-lb-web2
Normal file
@ -0,0 +1,21 @@
|
||||
### 0.2 - putconf - jeudi 7 janvier 2016, 16:18:49 (UTC+0100)
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# carte n-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.101/24
|
||||
|
||||
# Réseau n-dmz-lb
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 192.168.101.1/24
|
||||
|
||||
# réseau n-dmz-db
|
||||
allow-hotplug enp0s9
|
||||
iface enp0s9 inet static
|
||||
address 192.168.102.1/24
|
||||
post-up mount -o rw 192.168.102.253:/home/wordpress /var/www/html
|
4
roles/post-lb/files/resolv.conf
Normal file
4
roles/post-lb/files/resolv.conf
Normal file
@ -0,0 +1,4 @@
|
||||
search gsb.lan
|
||||
domain gsb.lan
|
||||
nameserver 172.16.0.1
|
||||
|
24
roles/post-lb/tasks/main.yml
Normal file
24
roles/post-lb/tasks/main.yml
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
|
||||
|
||||
- name: Copie interfaces
|
||||
copy: src=interfaces.{{ ansible_hostname }} dest=/etc/network/interfaces
|
||||
|
||||
- name: Copie resolv.conf
|
||||
copy: src=resolv.conf dest=/etc/
|
||||
when: ansible_hostname != "s-adm" and ansible_hostname != "s-proxy"
|
||||
|
||||
- name: pas de chgt resolv.conf pour r-vp2
|
||||
meta: end_play
|
||||
when: ansible_hostname == "r-vp2"
|
||||
|
||||
- name: Copie resolv.conf pour s-proxy
|
||||
copy: src=resolv.conf.s-proxy dest=/etc/resolv.conf
|
||||
when: ansible_hostname == "s-proxy"
|
||||
|
||||
#- name: Confirm
|
||||
# prompt: "<Entree> pour redemarrer ..."
|
||||
|
||||
#- name: Reboot
|
||||
# shell: reboot
|
||||
|
16
roles/post/files/interfaces.s-peertube
Normal file
16
roles/post/files/interfaces.s-peertube
Normal file
@ -0,0 +1,16 @@
|
||||
### 0.1 - putconf - jeudi 30 mars 2023, 8:11:30 (UTC+0100)
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# carte n-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.120/24
|
||||
|
||||
# Réseau n-dmz-lb
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 192.168.100.20/24
|
||||
|
@ -21,4 +21,3 @@
|
||||
|
||||
#- name: Reboot
|
||||
# shell: reboot
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
roles:
|
||||
- base
|
||||
- post
|
||||
- post-lb
|
||||
- lb-web
|
||||
- snmp-agent
|
||||
- ssh-cli
|
||||
|
@ -4,7 +4,8 @@
|
||||
|
||||
roles:
|
||||
- base
|
||||
- post
|
||||
- post-lb
|
||||
- lb-web
|
||||
- snmp-agent
|
||||
- ssh-cli
|
||||
|
||||
|
10
s-peertube.yml
Normal file
10
s-peertube.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
roles:
|
||||
- base
|
||||
- peertube
|
||||
- post
|
||||
- snmp-agent
|
||||
- ssh-cli
|
Reference in New Issue
Block a user