Funk-lab/ansible/roles/dnsmasq/templates/dnsmasq.conf.j2
alkatrazz 78ab7ae311 feat(wireguard): accès distant au lab via VPN (Freebox 51820/udp → s01)
- 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>
2026-07-06 23:16:38 +02:00

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