Documentación de radauth.net

Guías técnicas, casos de uso y referencia de API para integrar RADIUS en tu infraestructura de red.

Base URL del servidor RADIUS: app.radauth.net · Puerto auth: 1812 · Puerto accounting: 1813
Base URL de la API: https://app.radauth.net/api/v1

¿Qué es radauth.net?

radauth.net es un servidor RADIUS (FreeRADIUS 3) multi-tenant alojado en la nube. Permite autenticar usuarios de red —WiFi, VPN, PPPoE, switch 802.1X— sin necesidad de instalar ni mantener infraestructura propia.

Cada cliente (tenant) opera de forma completamente aislada: sus usuarios, equipos NAS, grupos y registros de sesión son invisibles para otros clientes, aunque todos compartan el mismo servidor físico.

  • Soporte para PAP, CHAP, MS-CHAP v1/v2 y EAP (PEAP-MSCHAPv2, EAP-TLS)
  • Aislamiento por NAS IP — sin configuración adicional en FreeRADIUS
  • API REST con autenticación Bearer token por tenant
  • Portal web para gestión de usuarios, grupos, NAS y reportes
  • Accounting RFC 2866 compatible (Start, Stop, Interim-Update)

Quickstart — Operativo en 5 minutos

1. Crea tu cuenta

Regístrate en app.radauth.net/register, elige un plan y activa tu período de prueba de 14 días.

2. Registra tu primer equipo NAS

Ve a Equipos NAS → Agregar e ingresa:

  • IP del equipo (AP, switch, router, BNG) — es la IP desde la que llegan las peticiones RADIUS
  • Secreto compartido — elige una cadena aleatoria de al menos 16 caracteres
  • Nombre — etiqueta descriptiva (p.ej. "AP-Sala-Principal")

3. Crea un usuario RADIUS

Ve a Usuarios → Crear o usa la API:

HTTP
POST https://app.radauth.net/api/v1/users
Authorization: Bearer ra_tu_api_key_aqui
Content-Type: application/json

{
  "username": "maria.garcia",
  "password": "MiContraseña123!",
  "group":    "empleados"
}

4. Apunta tu AP al servidor RADIUS

En la configuración de tu AP o router:

  • RADIUS Server: app.radauth.net
  • Auth Port: 1812
  • Accounting Port: 1813
  • Shared Secret: el secreto que definiste en el paso 2
El secreto compartido es específico por NAS. Cada equipo que registres puede tener un secreto diferente — esto aísla el impacto si un secreto se ve comprometido.

Conceptos clave

Tenant

Un tenant es una organización/cliente dentro de radauth.net. Tiene su propio conjunto de usuarios, grupos, NAS y reportes. El aislamiento se basa en la IP de origen del NAS: cada petición RADIUS llega desde la IP de un AP, router o BNG que está registrado bajo un tenant específico.

NAS (Network Access Server)

Cualquier equipo que envíe peticiones RADIUS al servidor: un AP WiFi, un switch 802.1X, un router PPPoE, un servidor VPN. Se identifica por su IP y un secreto compartido (shared secret).

Realm

Sufijo de dominio en el nombre de usuario: usuario@empresa.com. El realm es opcional — si lo configuras en tu tenant, los usuarios pueden autenticarse incluyendo el sufijo, lo que facilita entornos donde múltiples organizaciones comparten APs.

Always Accept

Modo especial del plan homónimo: el servidor RADIUS acepta cualquier combinación usuario/contraseña sin validar contra la base de datos. El accounting sigue registrando las sesiones. Ideal para hotspots abiertos y portales cautivos donde el control de acceso lo hace el portal, no RADIUS.

Caso de uso: WiFi WPA Enterprise (802.1X)

WPA Enterprise reemplaza el PSK (clave compartida) por credenciales individuales por usuario. Cada empleado tiene su propio usuario y contraseña; si alguien sale de la empresa, basta con desactivar su cuenta — sin cambiar la contraseña del WiFi para todos.

Protocolo utilizado

radauth.net usa PEAP-MSCHAPv2 (Protected EAP con MS-CHAP versión 2). Es el método más compatible: funciona de fábrica en Windows, macOS, Android e iOS sin instalar software adicional.

¿EAP-TLS (certificados de cliente)? Disponible bajo solicitud en el plan Enterprise. Requiere emitir y distribuir certificados a cada dispositivo, habitualmente via MDM.

Flujo de autenticación

  1. El dispositivo asocia al SSID configurado como WPA2/WPA3 Enterprise
  2. El AP envía una petición EAP-Identity al dispositivo
  3. El dispositivo responde con el nombre de usuario (identidad externa)
  4. El AP reenvía la petición RADIUS a app.radauth.net:1812
  5. FreeRADIUS establece el túnel TLS (PEAP) y solicita credenciales MSCHAPv2
  6. El servidor valida contra la base de datos del tenant (identificado por la IP del AP)
  7. Si válido: Access-Accept con los atributos del grupo del usuario

Certificado del servidor

radauth.net incluye un certificado EAP en el servidor. Cuando te conectas por primera vez, el dispositivo te pedirá confirmar el certificado. Puedes:

  • Verificar el fingerprint SHA-256 disponible en el portal (sección WiFi Enterprise)
  • Descargar e instalar el CA certificate en los dispositivos para confianza automática
  • Distribuir el CA via MDM (Jamf, Intune, Kandji) para entornos corporativos

Configuración de ejemplo — MikroTik AP

RouterOS
# Agregar servidor RADIUS
/radius add \
    address=app.radauth.net \
    secret=TuSecretoCompartido \
    service=wireless \
    authentication-port=1812 \
    accounting-port=1813

# Perfil de seguridad WPA2 Enterprise
/interface wireless security-profiles add \
    name=wpa-enterprise \
    mode=dynamic-keys \
    authentication-types=wpa2-eap \
    eap-methods=peap \
    radius-eap-accounting=yes

# Asignar al SSID
/interface wireless set wlan1 \
    ssid="CorpWiFi" \
    security-profile=wpa-enterprise

Caso de uso: Hotspot y Portal Cautivo

Para hoteles, restaurantes, municipios y espacios públicos donde se quiere control de acceso sin WPA Enterprise. El portal cautivo intercepta el navegador y solicita credenciales antes de dar acceso a internet.

Modo Always Accept

Con el plan Always Accept, radauth.net acepta cualquier credencial sin validar. Esto permite:

  • Usar el portal cautivo del router (MikroTik Hotspot, pfSense captive portal) como frontend
  • El portal genera credenciales temporales o acepta cualquier input
  • RADIUS registra la sesión con accounting (MAC, usuario, bytes, tiempo)
  • Sin necesidad de mantener base de usuarios — el router gestiona el acceso

Modo con usuarios registrados

Si necesitas control por usuario (vouchers, cuentas por habitación de hotel, etc.), usa cualquier plan estándar y crea usuarios via API desde tu sistema de reservas o PMS.

MikroTik — Hotspot RADIUS
/ip hotspot profile set default \
    use-radius=yes

/radius add \
    address=app.radauth.net \
    secret=TuSecreto \
    service=hotspot \
    authentication-port=1812 \
    accounting-port=1813

Caso de uso: ISP / WISP — PPPoE RADIUS

Los proveedores de internet usan RADIUS para autenticar sesiones PPPoE y aplicar políticas de velocidad por plan de servicio. radauth.net es compatible con cualquier BNG o BRAS que soporte RADIUS estándar.

Flujo PPPoE con RADIUS

  1. El CPE (router del cliente) inicia sesión PPPoE con usuario y contraseña
  2. El BNG (MikroTik, Cisco, Huawei) envía Access-Request a app.radauth.net:1812
  3. radauth.net valida las credenciales y responde con Access-Accept + atributos
  4. Los atributos del grupo (velocidad, IP, tiempo) se aplican a la sesión PPPoE
  5. Accounting Start/Stop registra inicio, fin y datos transferidos

Atributos RADIUS para control de velocidad

Define atributos en los grupos de usuarios para aplicar políticas automáticamente:

Atributos en grupo "plan-10mbps" (via portal)
# MikroTik Rate-Limit
Mikrotik-Rate-Limit = 10M/10M

# O con burst permitido
Mikrotik-Rate-Limit = 10M/10M 20M/20M 512k/512k 30/30 8

# Tiempo máximo de sesión (segundos)
Session-Timeout = 86400

# IP estática (si aplica)
Framed-IP-Address = 192.168.100.50

Integración con sistema de cobro via API

Cuando un cliente paga o cancela su plan, tu sistema de cobro puede actualizar su grupo via API:

HTTP — Cambiar grupo de usuario
PUT https://app.radauth.net/api/v1/users/cliente001
Authorization: Bearer ra_tu_api_key

{
  "group": "plan-50mbps"
}

# Desactivar por falta de pago:
PUT https://app.radauth.net/api/v1/users/cliente001
{
  "status": "disabled"
}

Caso de uso: Acceso VPN con RADIUS

Centraliza la autenticación de VPN para que los empleados usen las mismas credenciales que en el WiFi corporativo. Un único directorio de usuarios, logs de acceso unificados.

OpenVPN + plugin RADIUS

openvpn — /etc/openvpn/radiusplugin.cnf
NAS-Identifier=openvpn-gateway
serviceType=5
radiusServer=app.radauth.net
sharedSecret=TuSecreto
authPort=1812
accountingPort=1813
accountingEnabled=true
openvpn — server.conf (fragmento)
plugin /usr/lib/openvpn/radiusplugin.so \
    /etc/openvpn/radiusplugin.cnf

pfSense L2TP/IKEv2

En pfSense: System → User Manager → Authentication Servers → Add

  • Type: RADIUS
  • Hostname: app.radauth.net
  • Shared Secret: tu secreto
  • Services Offered: Authentication and Accounting

Luego asigna este servidor en el VPN correspondiente (L2TP o IPsec/IKEv2).

Caso de uso: Campus universitario

Escenario típico: 5,000+ estudiantes y personal que necesitan WPA Enterprise con credenciales institucionales, gestionadas desde el sistema académico.

Arquitectura recomendada

  1. El sistema de gestión académica (SGA) crea/actualiza usuarios via API de radauth.net al matricular o dar de baja estudiantes
  2. Los APs del campus (Ubiquiti UniFi, Cisco, Aruba) están registrados como NAS
  3. Estudiantes y docentes se conectan con legajo@universidad.edu y su contraseña institucional
  4. El realm identifica automáticamente al tenant
  5. Grupos separados para estudiantes, docentes y personal administrativo — con diferentes atributos VLAN o velocidad

Sincronización masiva via API

PHP — Sincronizar usuarios desde SGA
function syncStudentsToRadauth(array $students): void {
    foreach ($students as $s) {
        Http::withToken('ra_tu_api_key')
            ->put("https://app.radauth.net/api/v1/users/{$s['legajo']}", [
                'password' => $s['password_hash'],
                'group'    => $s['tipo'] === 'docente' ? 'docentes' : 'estudiantes',
                'status'   => $s['activo'] ? 'active' : 'disabled',
            ]);
    }
}

Referencia API — Autenticación

La API usa Bearer tokens generados desde el portal (API Keys → Crear). Cada token tiene acceso a los recursos del tenant que lo emitió.

HTTP Header
Authorization: Bearer ra_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Los API keys tienen acceso completo de lectura/escritura sobre tu tenant. Guárdalos como variables de entorno, nunca en código fuente o repositorios.

Referencia API — Usuarios RADIUS

Listar usuarios

GET/api/v1/users
ParámetroTipoDescripción
pageintegerPágina (default: 1) opcional
per_pageintegerItems por página, máx. 100 (default: 20) opcional
groupstringFiltrar por grupo opcional

Obtener un usuario

GET/api/v1/users/{username}

Crear usuario

POST/api/v1/users
CampoTipoDescripción
usernamestringNombre de usuario único en el tenant requerido
passwordstringContraseña en texto plano (se almacena hasheada) requerido
groupstringNombre del grupo RADIUS existente opcional
statusstringactive | disabled (default: active) opcional
expires_atdatetimeExpiración ISO 8601, p.ej. 2026-12-31T23:59:59Z opcional
Respuesta 201 Created
{
  "id":         142,
  "username":   "maria.garcia",
  "group":      "empleados",
  "status":     "active",
  "expires_at": null,
  "created_at": "2026-06-16T10:23:45Z"
}

Actualizar usuario

PUT/api/v1/users/{username}

Acepta los mismos campos que la creación. Solo se actualizan los campos enviados.

Eliminar usuario

DELETE/api/v1/users/{username}

Responde 204 No Content si fue exitoso. Las sesiones activas del usuario no se cortan automáticamente (requiere CoA — disponible en Enterprise).

Referencia API — Equipos NAS

Listar NAS

GET/api/v1/nas

Crear NAS

POST/api/v1/nas
CampoTipoDescripción
nasnamestringIP del equipo NAS requerido
shortnamestringNombre descriptivo requerido
secretstringSecreto compartido (mín. 12 chars) requerido
typestringTipo de NAS (other, cisco, mikrotik, etc.) opcional

Actualizar / Eliminar NAS

PUT/api/v1/nas/{id}
DELETE/api/v1/nas/{id}
Cambiar el secreto de un NAS requiere actualizar la configuración en el equipo físico. Si los secretos no coinciden, las peticiones RADIUS serán rechazadas silenciosamente.

Guía: MikroTik RouterOS

PPPoE + RADIUS (BRAS)

RouterOS CLI
# 1. Configurar servidor RADIUS
/radius add \
    address=app.radauth.net \
    secret=TuSecreto \
    service=ppp \
    authentication-port=1812 \
    accounting-port=1813 \
    timeout=3s

# 2. Habilitar RADIUS en PPPoE server
/ppp aaa set use-radius=yes accounting=yes

# 3. Pool de IPs para PPPoE (si no usas Framed-IP-Address)
/ip pool add name=pppoe-pool ranges=10.0.0.1-10.0.0.254

# 4. PPPoE Server
/interface pppoe-server server add \
    service-name=internet \
    interface=ether1 \
    default-profile=pppoe-profile \
    authentication=chap,mschap2

Hotspot + RADIUS

RouterOS CLI
# RADIUS para hotspot
/radius add \
    address=app.radauth.net \
    secret=TuSecreto \
    service=hotspot \
    authentication-port=1812 \
    accounting-port=1813

# Habilitar RADIUS en el perfil hotspot
/ip hotspot profile set hsprof1 use-radius=yes

# Habilitar accounting
/radius incoming set accept=yes

Guía: Ubiquiti UniFi

La configuración se hace desde el UniFi Network Controller (web UI):

  1. Ve a Settings → Profiles → RADIUSCreate New RADIUS Profile
  2. Nombre del perfil: radauth-net
  3. Authentication Server: app.radauth.net · Port: 1812 · Password: tu secreto
  4. Habilita Accounting: misma IP · Port: 1813
  5. Ve a Settings → WiFi → edita o crea el SSID corporativo
  6. Security: WPA2 Enterprise · RADIUS Profile: radauth-net
  7. Guarda y aplica. Los APs actualizan su configuración automáticamente.
Si usas VLAN por usuario, agrega el atributo Tunnel-Private-Group-ID en los grupos RADIUS con el ID de VLAN correspondiente. UniFi lo aplica automáticamente.

Guía: pfSense / OPNsense

Captive Portal + RADIUS

  1. Ve a Services → Captive Portal → agrega o edita una zona
  2. En Authentication: selecciona RADIUS Authentication
  3. Configura: Primary RADIUS Server app.radauth.net · Port 1812 · Shared Key: tu secreto
  4. Habilita RADIUS Accounting → Port 1813
  5. Guarda. El portal redirigirá automáticamente a la página de login.

VPN L2TP + RADIUS

  1. Ve a System → User Manager → Authentication Servers → Add
  2. Type: RADIUS · Hostname: app.radauth.net · Shared Secret: tu secreto
  3. Guarda y asigna el servidor en VPN → L2TP (sección Authentication)
En OPNsense el flujo es idéntico. El servidor RADIUS se configura en System → Access → Servers.