Compare commits
6 Commits
v0.0.1n-ps
...
v0.0.1u-jm
Author | SHA1 | Date | |
---|---|---|---|
8cfbefc4dc | |||
0697ad4eec | |||
ae54eb5cb8 | |||
2fe557e70b | |||
877f0a054f | |||
74433d2655 |
43
README.md
43
README.md
@ -1,18 +1,22 @@
|
||||
# gsb2024
|
||||
|
||||
2024-12-19 ps
|
||||
2024-12-21 ps
|
||||
|
||||
Environnement et playbooks ansible pour le projet GSB 2024
|
||||
|
||||
## Quickstart
|
||||
|
||||
Prérequis :
|
||||
* une machine Debian Bookworm
|
||||
* une machine LInux Debian Bookworm ou Windows
|
||||
* VirtualBox
|
||||
* git
|
||||
* fichier machines virtuelles **ova** :
|
||||
* **debian-bookworm-gsb-2023c.ova**
|
||||
* **debian-buster-gsb-2023a.ova**
|
||||
|
||||
|
||||
## Les machines
|
||||
|
||||
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
|
||||
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
|
||||
* **r-int** : routage, DHCP
|
||||
@ -38,6 +42,7 @@ Prérequis :
|
||||
|
||||
## Les playbooks
|
||||
|
||||
Il existe un playbook ansible pour chaque machine à installer, nommé comme la machine avec l'extension **.yml**
|
||||
|
||||
## Installation
|
||||
|
||||
@ -49,25 +54,26 @@ et pour **s-fog** :
|
||||
* **debian-buster-2023a.ova** (2023-01-06)
|
||||
* Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go
|
||||
|
||||
Les images **.ova** doivent etre stockées dans le répertoire habituel de téléchargement de l'utilisateur courant.
|
||||
|
||||
### Création d'une VM
|
||||
|
||||
Récupérer le dépot gsb2024.git avec :
|
||||
Sur la machine physique, récupérer le dépot **gsb2024.git** avec :
|
||||
```shell
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024
|
||||
```
|
||||
|
||||
On utilisera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créer une VM Virtualbox.
|
||||
|
||||
```shell
|
||||
gsb2024>
|
||||
cd scripts
|
||||
$ mkvm -r s-adm
|
||||
cd gsb2024/scripts
|
||||
mkvm -r s-adm
|
||||
|
||||
```
|
||||
|
||||
### Machine s-adm
|
||||
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
|
||||
* démarrer la VM puis ouvir une session
|
||||
* utiliser le script de renommage comme suit :
|
||||
```shell
|
||||
bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||
@ -89,20 +95,35 @@ bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||
|
||||
### Pour chaque machine
|
||||
|
||||
#### Etape 1
|
||||
|
||||
- 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>`
|
||||
- redémarrer
|
||||
- ouvrir une session sur la machine considérée
|
||||
- renomme la machine soit
|
||||
* en utilisant le script de renommage comme suit :
|
||||
` /root/tools/ansible/gsb2024/scripts/chname <nouveau_nom_de_machine>`
|
||||
* soit avec :
|
||||
```shell
|
||||
NHOST=mavm
|
||||
sed -i "s/bookworm/${NHOST}/g" /etc/host{s,name}
|
||||
sudo reboot # on redemarre
|
||||
```
|
||||
|
||||
#### Etape 2
|
||||
|
||||
- utiliser le script **gsb-start** : `bash gsb-start`
|
||||
- ou sinon:
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024/pre
|
||||
export DEPL=192.168.99.99
|
||||
bash gsbboot
|
||||
DEPL=192.168.99.99 bash gsbboot
|
||||
cd ../..
|
||||
bash pull-config
|
||||
```
|
||||
|
||||
#### Etape 3
|
||||
|
||||
- redémarrer
|
||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
||||
|
||||
|
124
goss/s-adm.yaml
124
goss/s-adm.yaml
@ -1,72 +1,70 @@
|
||||
package:
|
||||
dnsmasq:
|
||||
installed: true
|
||||
squid:
|
||||
installed: true
|
||||
dnsmasq:
|
||||
installed: true
|
||||
squid:
|
||||
installed: true
|
||||
addr:
|
||||
tcp://depl.sio.lan:80:
|
||||
reachable: true
|
||||
timeout: 500
|
||||
tcp://depl.sio.lan:80:
|
||||
reachable: true
|
||||
timeout: 500
|
||||
port:
|
||||
tcp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
udp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp:67:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
tcp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
udp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp:67:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
service:
|
||||
dnsmasq:
|
||||
enabled: true
|
||||
running: true
|
||||
squid:
|
||||
enabled: true
|
||||
running: true
|
||||
ssh:
|
||||
enabled: true
|
||||
running: true
|
||||
dnsmasq:
|
||||
enabled: true
|
||||
running: true
|
||||
squid:
|
||||
enabled: true
|
||||
running: true
|
||||
ssh:
|
||||
enabled: true
|
||||
running: true
|
||||
user:
|
||||
dnsmasq:
|
||||
exists: true
|
||||
gid: 65534
|
||||
groups:
|
||||
- nogroup
|
||||
home: /var/lib/misc
|
||||
shell: /usr/sbin/nologin
|
||||
group:
|
||||
ssh:
|
||||
exists: true
|
||||
dnsmasq:
|
||||
exists: true
|
||||
gid: 65534
|
||||
groups:
|
||||
- nogroup
|
||||
home: /var/lib/misc
|
||||
shell: /usr/sbin/nologin
|
||||
command:
|
||||
/sbin/sysctl net.ipv4.ip_forward:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- net.ipv4.ip_forward = 1
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
/sbin/sysctl net.ipv4.ip_forward:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- net.ipv4.ip_forward = 1
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
dns:
|
||||
depl.sio.lan:
|
||||
resolveable: true
|
||||
timeout: 500
|
||||
depl.sio.lan:
|
||||
resolveable: true
|
||||
resolvable: null
|
||||
timeout: 500
|
||||
process:
|
||||
dnsmasq:
|
||||
running: true
|
||||
squid:
|
||||
running: true
|
||||
dnsmasq:
|
||||
running: true
|
||||
squid:
|
||||
running: true
|
||||
interface:
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 192.168.99.99/24
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 192.168.99.99/24
|
||||
|
@ -5,7 +5,7 @@ prj=gsb2024
|
||||
opt=""
|
||||
|
||||
if [ -z ${UREP+x} ]; then
|
||||
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
fi
|
||||
|
||||
dir=/root/tools/ansible
|
||||
|
16
roles/journald-snd/README.md
Normal file
16
roles/journald-snd/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
|
||||
***
|
||||
|
||||
Ce role a pour objectif de activer le module UDP dans le fichier /etc/rsyslog.conf pour accepter les logs entrants des machines concernées :
|
||||
on décommente la ligne suivante :
|
||||
'module(load="imudp"\)'
|
||||
|
||||
Ensuite le role active l'écoute du module UDP sur le port 514 afin de pouvoir envoyer les logs.
|
||||
on décommente la ligne suivante dans le même fichier que ci-dessus :
|
||||
'input\(type="imudp" port="514"\)'
|
||||
|
||||
pour finir le role va charger le module UDP afin que la machine **s-infra** puissent reçevoir les logs entrants.
|
||||
Pour faire cela on décommente la ligne suivante dans le fichier /etc/systemd/journald.conf :
|
||||
'ForwardToSyslog=yes'
|
||||
|
||||
pour finir le role va redemmarer automatiquement les services journald et rsyslog
|
10
roles/journald-snd/handlers/main.yml
Normal file
10
roles/journald-snd/handlers/main.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: enable systemd-journal-upload
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: enabled
|
||||
|
||||
- name: restart systemd-journal-upload
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: restarted
|
31
roles/journald-snd/tasks/main.yml
Normal file
31
roles/journald-snd/tasks/main.yml
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
- name: 1. installe systemd-journal-remote
|
||||
apt:
|
||||
name:
|
||||
- systemd-journal-remote
|
||||
state: present
|
||||
|
||||
- name: 2. indique l'URL journald distant
|
||||
replace:
|
||||
path: /etc/systemd/journal-upload.conf
|
||||
regexp: '^#URL='
|
||||
replace: 'URL=http://syslog.gsb.adm:19532'
|
||||
|
||||
- name: 3. Just force systemd to reread configs (2.4 and above)
|
||||
ansible.builtin.systemd_service:
|
||||
daemon_reload: true
|
||||
|
||||
- name: 4. active le service systemd-journald-upload
|
||||
ansible.builtin.service:
|
||||
name: systemd-journal-upload.service
|
||||
enabled: yes
|
||||
|
||||
- name: 5. redemarre systemd-journal-upload.service
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: restart
|
||||
#notify:
|
||||
#- enable systemd-journal-upload
|
||||
#- restart systemd-journal-upload
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
- dns-master
|
||||
- webautoconf
|
||||
- snmp-agent
|
||||
# - syslog-cli
|
||||
- journald-snd
|
||||
- ssh-cli
|
||||
- post
|
||||
|
||||
|
Reference in New Issue
Block a user