mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 11:04:43 +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>
46 lines
1.3 KiB
Django/Jinja
46 lines
1.3 KiB
Django/Jinja
# Géré par Ansible — ne pas modifier manuellement
|
|
|
|
# Écoute sur le LAN cluster + tunnel WireGuard (DNS des clients VPN).
|
|
# bind-dynamic (et non bind-interfaces) : wg0 peut apparaître après le démarrage
|
|
interface={{ lan_interface }}
|
|
interface=wg0
|
|
bind-dynamic
|
|
|
|
# Domaine local
|
|
domain={{ dns_domain }}
|
|
local=/{{ dns_domain }}/
|
|
expand-hosts
|
|
|
|
# Ne pas lire /etc/resolv.conf pour les upstream
|
|
no-resolv
|
|
|
|
# Upstream DNS pour tout ce qui n'est pas lab.local
|
|
{% for server in dns_upstream %}
|
|
server={{ server }}
|
|
{% endfor %}
|
|
|
|
# Enregistrements statiques des machines du cluster
|
|
{% for host in dns_cluster_hosts %}
|
|
address=/{{ host.name }}.{{ dns_domain }}/{{ host.ip }}
|
|
address=/{{ host.name }}/{{ host.ip }}
|
|
{% endfor %}
|
|
|
|
# Wildcard *.lab.local → IP MetalLB Traefik (ingress)
|
|
address=/.{{ dns_domain }}/{{ traefik_ip }}
|
|
|
|
# DHCP — plage dynamique pour le LAN cluster
|
|
dhcp-range={{ dhcp_range_start }},{{ dhcp_range_end }},{{ dhcp_lease_time }}
|
|
dhcp-option=option:dns-server,{{ lan_ip }}
|
|
dhcp-option=option:router,{{ lan_ip }}
|
|
|
|
# Baux statiques (MAC → IP fixe, ajoutés après récupération des MACs)
|
|
{% for host in dhcp_static_hosts %}
|
|
dhcp-host={{ host.mac }},{{ host.name }},{{ host.ip }}
|
|
{% endfor %}
|
|
|
|
# Cache
|
|
cache-size=1000
|
|
|
|
# Logs (désactiver en prod si trop verbeux)
|
|
log-queries
|
|
log-facility=/var/log/dnsmasq.log
|