No results
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+dbmais jamais surswag→ structurellement inatteignable depuis Internet - Redis Authentik n'est accessible que par
authentik-serveretauthentik-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
crowdsecpour parler à la LAPI sans passer parswag
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()))"