# gateway

Fait de storage-01 le routeur/firewall du LAN cluster : nftables + NAT + IP forwarding.
Remplace firewalld (stoppé et désactivé).

## Ce que fait le rôle

- Désactive firewalld, installe nftables
- Active `net.ipv4.ip_forward`
- Déploie `/etc/nftables.conf` depuis `templates/nftables.conf.j2` (policy **drop** en input/forward)

## Ports ouverts (template nftables.conf.j2)

| Port | Source | Service |
|---|---|---|
| 22 | LAN maison + cluster | SSH |
| 53 udp/tcp, 67 udp | LAN cluster | dnsmasq (DNS + DHCP) |
| 111, 2049 | LAN cluster | NFS |
| 5432, 6333/6334, 9000/9001 | LAN cluster | PostgreSQL, Qdrant, MinIO |
| 9100, 9093 | cluster + pods 10.42/16 | node_exporter, alertmanager-webhook |
| 8080 | maison + cluster + pods | Hermes gateway |
| 9119 | `hermes_dashboard_allowed_ip` uniquement | Dashboard Hermes |
| 4000 | maison + cluster + pods | LiteLLM |
| 25 | cluster + pods | Postfix relay |
| 9095 | cluster + pods | hermes-auto-improve trigger |

NAT : masquerade du LAN cluster vers le WAN.

## Variables

Pas de defaults — utilise `lan_interface`, `wan_interface` (host_vars) et `hermes_dashboard_allowed_ip` (defaults du rôle hermes_agent).

## Caveat

**Tout nouveau service réseau doit ajouter son port ici** (modifier le template puis `--tags gateway`). C'est la cause de plusieurs incidents passés (voir `admin/incidents.md` 2026-05-13, port monitoring bloqué).
