1 Réseaux
pepper edited this page 2026-06-27 03:07:49 +00:00

🔗 Réseaux & segmentation

9 réseaux Docker. Un service n'est joignable que par ceux qui partagent un de ses réseaux.

Tableau des réseaux

Réseau Internet Membres principaux Rôle
swag swag + toutes les apps web Trafic public entrant
authentik 🔒 authentik-server, authentik-worker, postgres, redis SSO isolé
db 🔒 postgres, redis-nextcloud, nextcloud, forgejo, jellyfin Accès BDD cloisonné
monitoring 🔒 prometheus, loki, alloy, node-exporter, grafana Métriques & logs
socket-proxy 🔒 alloy, crowdsec, docker-socket-proxy API Docker lecture seule
watchtower-proxy 🔒 watchtower, watchtower-socket-proxy API Docker écriture filtrée
watchtower watchtower Accès aux registres d'images
outbound authentik-worker Sortie Internet contrôlée
crowdsec swag, crowdsec Bouncer ↔ LAPI + MAJ hub

Les réseaux sans sont définis avec internal: true — aucun paquet ne sort vers Internet.

Principe de segmentation

                ┌─────────────────────────────────────┐
    Internet    │           réseau swag               │
    ──────────► │  SWAG  →  nextcloud                 │
                │          forgejo                    │
                │          jellyfin                   │
                │          qbittorrent                │
                │          grafana                    │
                │          auth.molok.fr (authentik)  │
                └─────────────────────────────────────┘
                         │
              ┌──────────┼──────────┐
              ▼          ▼          ▼
         réseau db   réseau     réseau
        ┌────────┐  authentik  monitoring
        │postgres│  ┌───────┐  ┌────────┐
        │redis-nc│  │redis  │  │prom    │
        └────────┘  │pg     │  │loki    │
                    └───────┘  │alloy   │
                               └────────┘

Pourquoi cette séparation ?

  • PostgreSQL est sur authentik + db mais jamais sur swag → structurellement inatteignable depuis Internet
  • Redis Authentik n'est accessible que par authentik-server et authentik-worker
  • Redis Nextcloud n'est accessible que par Nextcloud
  • Alloy accède à Docker via docker-socket-proxy (lecture seule) — pas de socket brut monté
  • CrowdSec a son propre réseau crowdsec pour parler à la LAPI sans passer par swag

Inspection des réseaux

# Lister les réseaux et leurs membres
docker network ls
docker network inspect docker_swag | python3 -m json.tool | grep -A2 '"Name"'

# Voir les réseaux d'un conteneur
docker inspect <conteneur> | python3 -c "import sys,json; c=json.load(sys.stdin)[0]; print(list(c['NetworkSettings']['Networks'].keys()))"