Compare commits

..

6 Commits

Author SHA1 Message Date
8cfbefc4dc roles journald-snd 2023-12-22 09:43:24 +01:00
0697ad4eec ajout du service ssh dans Goss 2023-12-22 09:04:11 +01:00
ae54eb5cb8 README 2023-12-22 00:17:25 +01:00
2fe557e70b README 2023-12-22 00:08:40 +01:00
877f0a054f README 2023-12-22 00:01:51 +01:00
74433d2655 typo 2023-12-21 23:41:56 +01:00
7 changed files with 152 additions and 76 deletions

View File

@ -1,18 +1,22 @@
# gsb2024 # gsb2024
2024-12-19 ps 2024-12-21 ps
Environnement et playbooks ansible pour le projet GSB 2024 Environnement et playbooks ansible pour le projet GSB 2024
## Quickstart ## Quickstart
Prérequis : Prérequis :
* une machine Debian Bookworm * une machine LInux Debian Bookworm ou Windows
* VirtualBox * VirtualBox
* git
* fichier machines virtuelles **ova** : * fichier machines virtuelles **ova** :
* **debian-bookworm-gsb-2023c.ova** * **debian-bookworm-gsb-2023c.ova**
* **debian-buster-gsb-2023a.ova** * **debian-buster-gsb-2023a.ova**
## Les machines
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid * **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad** * **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
* **r-int** : routage, DHCP * **r-int** : routage, DHCP
@ -38,6 +42,7 @@ Prérequis :
## Les playbooks ## Les playbooks
Il existe un playbook ansible pour chaque machine à installer, nommé comme la machine avec l'extension **.yml**
## Installation ## Installation
@ -49,25 +54,26 @@ et pour **s-fog** :
* **debian-buster-2023a.ova** (2023-01-06) * **debian-buster-2023a.ova** (2023-01-06)
* Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go * 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 ### 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 ```shell
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git 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. On utilisera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créer une VM Virtualbox.
```shell ```shell
gsb2024> cd gsb2024/scripts
cd scripts mkvm -r s-adm
$ mkvm -r s-adm
``` ```
### Machine s-adm ### Machine s-adm
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut. * 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 : * utiliser le script de renommage comme suit :
```shell ```shell
bash chname <nouveau_nom_de_machine>` , puis redémarrer 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 ### 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 - 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>` - ouvrir une session sur la machine considérée
- redémarrer - 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` - utiliser le script **gsb-start** : `bash gsb-start`
- ou sinon: - ou sinon:
```shell ```shell
mkdir -p tools/ansible ; cd tools/ansible mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
cd gsb2024/pre cd gsb2024/pre
export DEPL=192.168.99.99 DEPL=192.168.99.99 bash gsbboot
bash gsbboot
cd ../.. cd ../..
bash pull-config bash pull-config
``` ```
#### Etape 3
- redémarrer - redémarrer
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration - **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration

View File

@ -1,72 +1,70 @@
package: package:
dnsmasq: dnsmasq:
installed: true installed: true
squid: squid:
installed: true installed: true
addr: addr:
tcp://depl.sio.lan:80: tcp://depl.sio.lan:80:
reachable: true reachable: true
timeout: 500 timeout: 500
port: port:
tcp:53: tcp:53:
listening: true listening: true
ip: ip:
- 0.0.0.0 - 0.0.0.0
tcp6:53: tcp6:53:
listening: true listening: true
ip: ip:
- '::' - '::'
udp:53: udp:53:
listening: true listening: true
ip: ip:
- 0.0.0.0 - 0.0.0.0
udp:67: udp:67:
listening: true listening: true
ip: ip:
- 0.0.0.0 - 0.0.0.0
udp6:53: udp6:53:
listening: true listening: true
ip: ip:
- '::' - '::'
service: service:
dnsmasq: dnsmasq:
enabled: true enabled: true
running: true running: true
squid: squid:
enabled: true enabled: true
running: true running: true
ssh: ssh:
enabled: true enabled: true
running: true running: true
user: user:
dnsmasq: dnsmasq:
exists: true exists: true
gid: 65534 gid: 65534
groups: groups:
- nogroup - nogroup
home: /var/lib/misc home: /var/lib/misc
shell: /usr/sbin/nologin shell: /usr/sbin/nologin
group:
ssh:
exists: true
command: command:
/sbin/sysctl net.ipv4.ip_forward: /sbin/sysctl net.ipv4.ip_forward:
exit-status: 0 exit-status: 0
stdout: stdout:
- net.ipv4.ip_forward = 1 - net.ipv4.ip_forward = 1
stderr: [] stderr: []
timeout: 10000 timeout: 10000
dns: dns:
depl.sio.lan: depl.sio.lan:
resolveable: true resolveable: true
timeout: 500 resolvable: null
timeout: 500
process: process:
dnsmasq: dnsmasq:
running: true running: true
squid: squid:
running: true running: true
interface: interface:
enp0s8: enp0s8:
exists: true exists: true
addrs: addrs:
- 192.168.99.99/24 - 192.168.99.99/24

View File

@ -5,7 +5,7 @@ prj=gsb2024
opt="" opt=""
if [ -z ${UREP+x} ]; then if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
fi fi
dir=/root/tools/ansible dir=/root/tools/ansible

View 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

View 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

View 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

View File

@ -8,7 +8,7 @@
- dns-master - dns-master
- webautoconf - webautoconf
- snmp-agent - snmp-agent
# - syslog-cli - journald-snd
- ssh-cli - ssh-cli
- post - post