FreeRADIUS
Despliegue del servidor FreeRADIUS propio de Valwisp — configuración, verificación, y cómo apuntar routers reales.
Valwisp tiene su propio servidor FreeRADIUS, independiente del servidor legacy de
Mikrowisp (si vienes de una migración). Vive en infra/freeradius/ y habla contra el
PostgreSQL propio de Valwisp (no MySQL) — las mismas tablas que ya usa
radius.service.ts de la API (radcheck, radreply, radusergroup, radgroupreply,
radacct, radpostauth, mapeadas 1:1 vía Prisma).
Estado actual de RADIUS en Valwisp
Es importante entender esto antes de desplegar: hoy, radcheck se usa solo como
interruptor de suspensión — una fila Auth-Type := Reject bloquea a un cliente
suspendido. La contraseña PPPoE real vive en el Mikrotik del cliente, no en RADIUS. El
authorize{} acepta si no hay fila (Auth-Type := Accept implícito) y rechaza si
encuentra el Reject.
accounting{} y post-auth{} llaman además a hooks REST de la API
(POST /radius/hooks/accounting y /radius/hooks/post-auth, con header
X-Radius-Secret, timeout de 2s para no bloquear una respuesta RADIUS real).
Desplegar
cd /opt/projects/valwisp/infra/freeradius
cp .env.example .envCompleta en .env:
POSTGRES_PASSWORD— el mismo valor que el.env.prodde la API.RADIUS_HOOK_SECRET— debe coincidir en ambos lados (API y FreeRADIUS); genera uno conopenssl rand -hex 32.RADTEST_SECRET— valor libre, solo para pruebas locales.
docker compose up -d --buildVerificar (sin tocar producción real)
docker exec valwisp-freeradius radiusd -X # foreground, logs detalladosLuego, contra 127.0.0.1, usa radtest/radclient con un usuario de prueba creado
vía API — nunca un cliente real.
Por defecto, los puertos 1812/1813 solo escuchan en 127.0.0.1 del host — el servidor no
es alcanzable desde la red pública hasta que se abra explícitamente.
Apuntar routers reales — procedimiento
Este es un cambio de alto impacto (afecta autenticación de clientes reales) y debe hacerse router por router, no en bloque:
- Abre el firewall UDP 1812/1813 solo a la IP de ese router específico.
- Configura el router para usar este servidor RADIUS.
- Monitorea activamente durante la primera hora tras el cambio.
- Repite con el siguiente router solo después de confirmar que el anterior está estable.
No existe hoy ningún Mikrotik de producción apuntando a este servidor — es una migración deliberada, gradual, pendiente de ejecutar.