⚡ Scripts Bash — Automatisation admin¶
Deux scripts bash ont été développés pour simplifier les tâches d'administration répétitives. Ils s'utilisent directement depuis le shell des machines concernées.
Script 1 — config sur Proxmox VE¶
Emplacement : nœud pve (Proxmox VE)
Usage¶
Ce que ça fait¶
flowchart LR
CMD["config 115"] --> A["Ouvre un shell\ndans CT115 (Paperless)"]
A --> B["SSH désactivé\nsur ce container"]
B --> C["Accès via\nnoVNC/xterm.js\nuniquement"]
- Accède directement au container désigné
- S'assure que le SSH est désactivé sur ce container
- L'accès reste uniquement via l'interface Proxmox (noVNC / xterm.js)
Exemples¶
# Accéder à Paperless
config 115
# Accéder à Caddy
config 110
# Accéder à AdGuard
config 105
# Accéder à Jellyfin
config 100
Pourquoi désactiver SSH ?¶
Avec SSH actif sur chaque container, il y avait potentiellement 25 vecteurs d'attaque différents (un par service). En forçant l'accès uniquement via l'interface Proxmox (qui requiert une authentification + 2FA), la surface d'attaque est réduite à un seul point d'entrée sécurisé.
Script 2 — config sur Active Directory¶
Emplacement : VM Active Directory (CT124)
Usage¶
Ce que ça fait¶
flowchart LR
CMD["config 127 nouveauservice.galexios.fr"] --> DNS_A["Ajoute enregistrement DNS A\nnouveauservice.galexios.fr\n→ 192.168.192.110 (Caddy)\nIPv4"]
CMD --> DNS_AAAA["Ajoute enregistrement DNS AAAA\nnouveauservice.galexios.fr\n→ fd00:192:168:192::6e (Caddy)\nIPv6"]
DNS_A & DNS_AAAA --> RESULT["URL immédiatement\nrésolue sur tout le réseau"]
- Crée un enregistrement A (IPv4) :
url.galexios.fr→192.168.192.110(Caddy) - Crée un enregistrement AAAA (IPv6) :
url.galexios.fr→fd00:192:168:192::6e(Caddy) - Les deux enregistrements pointent toujours vers Caddy — c'est lui qui fait le routage final
Exemple — Ajouter un nouveau service¶
Quand tu installes un nouveau service (ex: CT127, URL monservice.galexios.fr) :
Étape 1 — Ajouter dans Caddy (depuis CT110) :
config 110 # Script PVE pour entrer dans Caddy
nano /etc/caddy/Caddyfile
# Ajouter :
# monservice.galexios.fr {
# import cloudflare_tls
# reverse_proxy 192.168.192.127:PORT
# }
systemctl reload caddy
Étape 2 — Ajouter dans l'AD (depuis CT124) :
Étape 3 — Tester :
# Depuis n'importe quel appareil du réseau
curl -I https://monservice.galexios.fr
# Doit répondre 200 OK
Pourquoi IPv4 ET IPv6 ?¶
Sans l'enregistrement IPv6 (AAAA), les appareils en IPv6-only (certains iPhones en 4G) ne pouvaient pas résoudre les URL Galexios. L'ajout systématique des deux enregistrements garantit la compatibilité maximale.
Flux complet d'ajout d'un service¶
sequenceDiagram
participant PVE as Proxmox VE
participant CAD as Caddy CT110
participant AD as Active Directory CT124
Note over PVE: Installer le nouveau service (script tteck ou manuel)
PVE->>CAD: config 110
CAD->>CAD: nano /etc/caddy/Caddyfile
CAD->>CAD: Ajouter bloc reverse_proxy
CAD->>CAD: systemctl reload caddy
PVE->>AD: config [CT_ID] [url].galexios.fr
AD->>AD: Ajoute A + AAAA → Caddy
Note over PVE,AD: Service accessible immédiatement