Saltar a contenido

auth-radius: Autenticación HTTP a través del protocolo RADIUS

Instalación

Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:

  • RedHat Enterprise Linux 7, 8, 9 y 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-auth-radius
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-auth-radius

Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:

load_module modules/ngx_http_auth_radius_module.so;

Este documento describe nginx-module-auth-radius v0.1.1 lanzado el 29 de abril de 2026.


Versión casi totalmente reescrita de https://github.com/lexelby/nginx-radius con
configuración inspirada en https://github.com/timchengx/nginx-http-radius-module.
Consulta el ejemplo de configuración en https://gitflic.ru/project/ten0s/nginx-radius.

Compilación:

  1. Obtén el código fuente de nginx:
$ make getsrc && make src
  1. Compila el código fuente:
$ make build_all
  1. Ejecución local:
$ make run
  1. Depuración local:
$ make gdb
  1. Configuración:

Archivo de configuración de ejemplo: conf/nginx.conf:

# Directiva principal para añadir un servidor Radius.
# Puede haber varias directivas "radius_server".
radius_server "radius_server_1" {
    # URL del servidor Radius
    url "127.0.0.1:1812";

    # Secreto compartido del servidor Radius
    secret "secret";

    # Identificador NAS, opcional
    nas_identifier "nas-identifier";

    # Tiempo de espera para solicitudes de autenticación Radius, opcional, por defecto: 5s
    auth_timeout   5s;

    # Conteo de reintentos para solicitudes de autenticación Radius, opcional, por defecto: 3
    auth_retries   3;

    # Tiempo de espera para solicitudes de salud Radius, opcional, por defecto: 5s
    health_timeout 5s;

    # Conteo de reintentos para solicitudes de salud Radius, opcional, por defecto: 1
    health_retries 1;

    # Tamaño de la cola de solicitudes de autenticación/salud Radius, opcional, por defecto: 10
    # Efectivamente, el número de solicitudes concurrentes que pueden ser
    # procesadas sin reprogramar.
    queue_size     10;
}

# Directiva de ubicación para seleccionar el servidor Radius.
# Puede haber varias directivas "radius_servers" por ubicación.
radius_servers "radius_server_1";

# Directiva de ubicación para habilitar el módulo y realizar la solicitud de autenticación.
auth_radius              "realm" | off;
radius_auth              "realm" | off;

# Directiva de ubicación para habilitar el módulo y realizar la solicitud de salud.
radius_health            ["user"] ["passwd"];
  1. Instalación (opcional):
$ make install

GitHub

Puedes encontrar consejos adicionales de configuración y documentación para este módulo en el repositorio de GitHub para nginx-module-auth-radius.