mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 14:24:42 +02:00
- rôle wireguard : serveur wg0 (10.99.0.0/24) sur storage-01, profils clients générés dans /etc/wireguard/clients/ (fichier .conf / QR code) - gateway : filtrage nftables par pair — full (tout le lab) / portal (uniquement Traefik :80 = portail Guacamole), masquerade VPN→cluster - dnsmasq : bind-dynamic + écoute wg0 → *.lab.local résolu dans le tunnel - pairs initiaux : alkatrazz (full), invite-01 (portal) - vault : clés WireGuard + reprise de l'archive Authentik (remplace #78) - doc : admin/infra/wireguard.md (onboarding pair, pièges, exploitation) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| tasks | ||
| templates | ||
| README.md | ||
Rôle wireguard
Serveur WireGuard sur storage-01 : accès distant au lab (portail Guacamole, voire
tout le LAN cluster) via kaya.freeboxos.fr:51820/udp (redirection Freebox → funk-s01).
Variables
| Variable | Défaut | Rôle |
|---|---|---|
wireguard_port |
51820 |
Port UDP d'écoute (= redirection Freebox) |
wireguard_subnet / wireguard_server_ip |
10.99.0.0/24 / 10.99.0.1 |
Réseau du tunnel |
wireguard_endpoint |
kaya.freeboxos.fr:51820 |
Endpoint public côté clients |
wireguard_client_allowed_ips |
192.168.10.0/24, 10.99.0.0/24 |
Split tunnel (lab uniquement) |
wireguard_peers |
[] (host_vars) |
Pairs : {name, ip, public_key, access} |
access : full (tout le lab — admin) ou portal (uniquement Traefik :80 → portail
Guacamole). Le filtrage est fait par nftables (rôle gateway), pas par WireGuard.
Secrets vault : vault_wireguard_server_private_key,
vault_wireguard_peer_private_keys (dict name: clé).
Ajouter un pair
Procédure complète (clés openssl, vault, host_vars, QR code) :
admin/infra/wireguard.md. Résumé : générer une paire X25519, clé privée dans le
vault, entrée dans wireguard_peers (host_vars storage-01), ré-appliquer
--tags wireguard,gateway, distribuer /etc/wireguard/clients/<name>.conf.
Caveats
- Les profils clients dans
/etc/wireguard/clients/contiennent la clé privée du client — à transmettre par canal raisonnable, jamais commités. - Le DNS du tunnel = dnsmasq s01 (
10.99.0.1) : nécessitebind-dynamic+interface=wg0dans le rôlednsmasq, et l'ouverture 53 depuis10.99.0.0/24dansgateway. - Retirer un pair : le supprimer de
wireguard_peers+ du vault → re-apply--tags wireguard,gateway(la règle nftables et le [Peer] disparaissent).