Configuración de freeradius en debian

leslie45 Mensajes publicados 71 Estado Miembro -  
telecom14 Mensajes publicados 26 Estado Miembro -
Hola a todos, he estado intentando durante semanas configurar Freeradius y LDAP con el objetivo de implementar un portal cautivo. ¡Auxilio! ¡Ayuda! He seguido los comandos que descargué de Google, pero la configuración nunca se ha logrado.

22 respuestas

  • 1
  • 2
  1. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
     
    Hola Leslie,

    Hay bastantes tutoriales en Internet sobre la instalación de FreeRADIUS.
    Te doy los pasos principales (para un entorno Linux) a continuación:

    1- Verifica que tengas dos interfaces de red (en un entorno Linux Eth0 y Eth1) de las cuales una tenga acceso a Internet (generalmente Eth0).

    2- Instala las actualizaciones de paquetes y descarga freeRADIUS:
    #apt-get update (para la actualización de los paquetes)
    #apt-get install freeradius (para instalar freeRADIUS)
    #apt-get install freeradius-ldap (para la compatibilidad LDAP)

    A partir de aquí, tienes los elementos necesarios para el funcionamiento de Freeradius - LDAP
    --> Varios archivos de configuración deben ser modificados:

    3- Configura tu FreeRADIUS:
    abre con un editor de texto (gedit, nano, vi,...) el archivo /etc/freeradius/radiusd.conf
    Este archivo contiene los elementos principales que permiten la configuración de FreeRADIUS, así como los módulos complementarios (en nuestro caso LDAP)
    Este archivo, como todos los archivos de configuración de FreeRADIUS, contiene por defecto un montón de líneas (la mayoría precedidas por un "#"). Este # significa que estas líneas están comentadas y, por lo tanto, NO SON INTERPRETADAS. --> Es lógico que, para activar las funcionalidades que nos interesan, debemos descomentar las líneas adecuadas (quitar el #). ATENCIÓN: casi NUNCA hay que AÑADIR NADA a los archivos de configuración. Por lo general, solo se modifica una o varias partes y se descomenta. Las personas que arruinan el servidor son, por lo general, aquellas que más lo modifican (pero por defecto todo funciona bien y ya está todo presente ;-) ).
    En resumen: la parte de este archivo que nos interesa es el módulo LDAP. Solo necesitas encontrar la parte "modules{ " y VERIFICAR que la línea $INCLUDE {confdir}/modules/ está presente, y si es así, deberás quitar el # para activarla (aunque creo que ya está así por defecto) Esta línea significa "incluye los módulos que están en /etc/Freeradius/modules/ y si vas a dar una vuelta por esta carpeta, verás un bonito archivo llamado "ldap" que está presente y esperando a ser configurado :-)

    Bien, hasta aquí no hay muchas dificultades, ¿verdad?
    Ahora que hemos indicado a radius qué módulo usar, debemos "autorizarlo"
    Así que vamos a ir al archivo /etc/Freeradius/sites-available/default para descomentar un poco ^^
    --> En este archivo default, en la parte authorize{, verás que la palabra "file" está descomentada, lo que significa que Freeradius permite el uso de un archivo para autenticar a las personas (el archivo "user" para ser precisos). Nosotros queremos usar LDAP, así que busca en esta misma parte la palabra "ldap" y descoméntala. Igualmente, en la parte authenticate{, encuentra las 3 líneas (seguidas) que dicen Auth-Type LDAP{ ldap } y descomenta esas 3 líneas (puedes ayudarte con el viejo CTRL+F para encontrar esas líneas si utilizas un editor de texto gráfico como gedit, por ejemplo). Ahora tienes la configuración correcta para usar tu LDAP con freeradius.

    ¡Bien! ¿Recuerdas nuestro archivo "ldap" en /etc/Freeradius/modules/? Bueno, es su turno y es sin duda lo más complicado si tienes un directorio LDAP complicado ^^ Vamos con una sonrisa de todas formas:
    En este archivo vamos a modificar algunos datos de la parte ldap{
    --> Así que localiza la línea server=, descoméntala si no está hecho por defecto y luego reemplaza el valor después del = con la dirección IP de tu LDAP (debido a que supongo que es un servidor Windows). Luego viene la línea identity --> aquí debes proporcionar un usuario de tu LDAP que le dirá a FreeRADIUS "ok, soy Leslie, tengo derecho a leer en el LDAP, así que déjame pasar". En resumen, debe tener al MENOS los derechos para leer en el directorio LDAP para buscar a las personas.
    --> Así que llenas esta línea comenzando desde el punto más preciso de tu LDAP (el nombre) y subiendo su árbol (ejemplo: identity = "cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL") ¡Ten cuidado de respetar las mayúsculas! Después completa bien los términos correctos, de lo contrario el LDAP te echará! ^^
    Siguiente línea: password = Aquí simplemente el contraseña de la persona justo arriba :-)
    Siguiente línea: basedn = aquí debes indicar la carpeta donde están almacenados los usuarios del LDAP (siempre comenzando desde el punto más preciso) --> ejemplo: basedn = "ou=utilisateurs,dc=DOMAINE,dc=LOCAL".

    En general, los problemas vienen de aquí, ya que es fácil cometer errores al rellenar estos campos, jeje. Veremos cómo verificar eso después. Pasemos a la línea filter = --> No modifiques esta línea a menos que estés usando un Active Directory de Windows. Y si es el caso, cambia el "uid=...etc" por sAMAccountName=...(el resto de la línea no cambia)

    Vaya, no está tan mal, ¿verdad? Ah, y si sigues usando un Active Directory de Windows, descomenta las dos líneas chase_referrals = yes y rebind = yes un poco más adelante en este mismo archivo (por motivos de compatibilidad con el AD, simplemente).

    4- prueba
    Bueno, lo más difícil ya está detrás. Vamos a hacer una pequeña prueba para verificar el correcto funcionamiento de nuestras configuraciones:

    Antes de ejecutar la prueba, necesitamos reiniciar nuestro servidor FreeRADIUS (ya que los cambios no serán tomados en cuenta :/ podría ser un problema)
    #/etc/init.d/freeradius restart (o start si aún no estaba en marcha, pero por defecto debería estarlo).

    Pasemos a la prueba: Para eso utilizamos el comando radtest. Este simula una solicitud de autenticación RADIUS con nuestros parámetros actuales.

    Aquí está su sintaxis: radtest "login" "contraseña" "@servidor FreeRADIUS" "puerto de conexión" "Secreto Radius"
    Algunas explicaciones; bueno, el login y la contraseña serán los identificadores del LDAP que deseas probar
    , @servidor FreeRADIUS es "localhost" o "127.0.0.1" porque el servidor está en tu máquina ^^, el puerto por defecto es 1812 (para FreeRADIUS) pero en nuestro caso también puedes poner 0. El Secreto Radius es "testing123" porque seguramente ya lo sabes, pero freeradius contiene una lista de "clientes" en los que los usuarios se conectan (enrutador wifi, switches, ...) identificados en el archivo /etc/Freeradius/clients.conf pero para nuestra prueba, el cliente somos nosotros (localhost) y si te das una vuelta por el archivo, ya existe por defecto y tiene como secreto "testing123" Así que eso es.

    Si tu comando funciona: deberías recibir un bonito mensaje rad_recv: acces-accept from host 127.0.0.1 ... lo que significa que la autenticación fue exitosa!

    Si no es así, entonces definitivamente hay un problema de configuración (ya sea una línea no descomentada (o mal escrita) o un error en alguno de tus caminos LDAP.

    En cualquier caso, te aconsejo que detengas tu FreeRADIUS (con el comando /etc/init.d/freeradius stop) y lo vuelvas a iniciar en modo "debug" (para ver todo lo que hace :D) con el comando freeradius -X Así verás, al volver a hacer un radtest, todas las etapas (en inglés, claro) y, por lo tanto, probablemente los lugares donde se queda atascado :-) )

    En cuanto a tu portal cautivo, no sé cuál planeas usar, pero estaré encantado de aportar mis conocimientos si se trata de Chillispot o Coova-chilli (que generalmente causan muchos problemas)

    ¡Espero haberte ayudado!
    ¡Buena suerte!

    Jak
    20
    1. telecom14 Mensajes publicados 26 Estado Miembro
       
      Hola,
      He estado trabajando con freeradius durante casi un mes y medio en el marco de mi proyecto de pasantía. El objetivo del proyecto es permitir la autenticación y el contabilidad de los usuarios de asterisk a partir de freeradius.
      Todos los tutoriales que he consultado hasta hoy no me han permitido avanzar en mi proyecto.
      He utilizado radiusclient-ng como cliente radius entre los dos servidores, pero no funciona. Si ya has trabajado en esto, necesitaría tu ayuda.
      Gracias por tu contribución.
      0
  2. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
     
    ¡Ah! ¡Eso lo explica todo! :)

    Simplemente no tienes LDAP

    Bien, el primer error es mío:
    Mi tutorial consistía en la instalación de FreeRADIUS con compatibilidad LDAP (de ahí la instalación del módulo freeradius-ldap), PERO ATENCIÓN, ¡necesitas obligatoriamente un LDAP configurado y listo AL LADO! :)

    Debería haberlo especificado, freeradius-ldap no es un LDAP, sino un módulo de compatibilidad con un LDAP :)

    Te cito:

    apt-get install slapd


    Eso es un daemon (un proceso) que gestiona el LDAP :) (basado además en OpenLDAP)

    Primero necesitas hacer
    #sudo -s para ser root y seguir siéndolo (te pedirá la contraseña de sesión)
    #apt-get install slapd para instalar un daemon LDAP (así que tu LDAP)
    #apt-get install ldap-utils (para tus pruebas)
    #dpkg-reconfigure slapd para configurar tu LDAP

    Aquí se vuelve importante:

    slapd te pregunta entonces:
    1. ¿Pasar la configuración de OpenLDAP? pones "no"
    seguido de:
    2. Nombre de dominio? respuesta: example.local (pon el nombre de tu empresa, escuela, casa, lo que quieras ^^)
    3. Nombre de tu empresa? respuesta: el mismo nombre sin el ".local"
    4. ¿Qué base de datos? respuesta: hdb
    5. ¿Quieres que la base de datos sea borrada ...? Respuesta:
    6. ¿Eliminar las bases de datos anteriores? Respuesta:
    7. Contraseña de administrador? Respuesta: TuContraseña
    8. ¿Confirmar esta contraseña? Respuesta: la misma contraseña
    9. ¿Autorizar el protocolo LDAPv2? Respuesta: no

    Después de eso tu LDAP está creado. Abre entonces el archivo /etc/ldap/ldap.conf que debería existir: aquí está su contenido

    ldap_version 3
    URI ldap://localhost:389
    SIZELIMIT 0
    TIMELIMIT 0
    DEREF never
    BASE dc=example, dc=com


    Cambia tu primer dc="el nombre sin .local que indicaste antes"
    y tu segundo dc="local"

    Luego abre /etc/ldap/slapd.conf y cámbialo de esta forma:

    suffix "dc=elnombredesin.local,dc=local"
    directory "/var/lib/ldap"
    rootdn "cn=Leslie o admin tú decides,dc=nombredesin.local,dc=local"
    rootpw TuContraseña


    Luego hay que llenar tu LDAP (agrega "ou" (unidades de organización) y usuarios (por ejemplo, nuestra Leslie si no la añadiste antes ^^)

    INFO: ejemplo de un LDAP de escuela para que entiendas la arquitectura:

    dominio .............ecole.local
    ................................. /\.............................................
    ................................./...\...........................................
    ................................/......\..........................................
    .............................. /.........\.........................................
    ..................ou Profs..........ou Eleves.............
    ..................../....................../................\......................
    ...cn=Jean Pierre...........ou CM1.......ou CM2.................
    ...cn=Anne Marie..................|.................|.....................
    ............... ... ...................Jenny........Thibault...............
    ........................................Louis...........Karim...............

    Así que llena tu LDAP como mejor te parezca :) escribiendo:

    #gedit /etc/ldap/init.ldif (puede que tengas que crearlo)

    nota: utiliza este sitio para llenar: http://doc.ubuntu-fr.org/slapd (parte 3: llenar LDAP)

    Y avísame cuando termines todo esto :)

    ¡Ánimo!

    Jak
    4
    1. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Hoo! ¡Genial!

      En mi archivo ldap.conf tenía exactamente lo mismo que te marqué hace unos mensajes. Así que agregué lo que dijiste. ¿Para el segundo dc solo hay que poner "local" o "cequetuasmarqué.local"?

      Además, no tengo el archivo /etc/ldap/slapd.conf !! En el directorio /etc/ldap/ los archivos presentes son: ldap.conf, sasl2, schema, slapd.d. Los que están en negrita son archivos.

      ¡Siento que el final está cerca! :D

      Usbeth
      0
    2. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      justo local (de hecho tu ldap tiene un dominio ("UnNombreQueElijas.local")

      y por lo tanto siempre se te piden 2 dc: el primero es lo que hay antes del "." así que aquí "UnNombreQueElijas" y el segundo lo que hay después del "." así que aquí "local"
      0
    3. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      para tu archivo slapd.conf haz un

      #find / | grep slapd.conf

      y ve qué te responde (normalmente debería encontrarlo)
      0
    4. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Me lo encontró!
      find / | grep slapd.conf /usr/share/man/man5/slapd-config.5.gz /usr/share/man/man5/slapd.conf.5.gz /usr/share/slapd/slapd.conf /usr/share/doc/slapd/examples/slapd.conf /var/lib/dpkg/info/slapd.config /var/lib/dpkg/info/slapd.conffiles 


      Sigo y te digo
      0
    5. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      El archivo init.ldif :
      # archivo de datos : ~/init.ldif dn: dc=nomsans,dc=local objectClass: dcObject objectClass: organizationalUnit dc: nomsans ou: Nomsans Dot Local dn: ou=people,dc=nomsans,dc=local objectClass: organizationalUnit ou: people dn: ou=groups,dc=nomsans,dc=local objectClass: organizationalUnit ou: groups dn: uid=lionel,ou=people,dc=nomsans,dc=local objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: lionel sn: Porcheron givenName: Lionel cn: Lionel Porcheron displayName: Lionel Porcheron uidNumber: 1000 gidNumber: 10000 gecos: Lionel Porcheron loginShell: /bin/bash homeDirectory: /home/lionel shadowExpire: -1 shadowFlag: 0 shadowWarning: 7 shadowMin: 8 shadowMax: 999999 shadowLastChange: 10877 mail: lionel.porcheron@nomsans.local postalCode: 31000 l: Toulouse o: Nomsans mobile: +33 (0)6 xx xx xx xx homePhone: +33 (0)5 xx xx xx xx title: System Administrator postalAddress: initials: LP dn: cn=nomsans,ou=groups,dc=nomsans,dc=local objectClass: posixGroup cn: nomsans gidNumber: 10000 displayName: Nomsans group


      Debo reemplazar todos los example por "nomsans.local" y com por "local"? ¿Y lionel Porcheron por el perfil creado? No entiendo mucho el tutorial que hizo el tipo :/

      Lo siento ^^"
      0
  3. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
     
    Hola Usbeth :)

    De hecho, si tu servidor LDAP no está "encendido", podrás hacer todas las modificaciones que desees en FreeRADIUS sin resultados ^^

    Para tu último mensaje:

    Tengo la impresión de que "Leslie" se conecta correctamente (aunque falta el servidor xD):

    [ldap] bind as cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/mypass to 10.1.69.50:389


    Aquí solo se trata de una impresión, de hecho, tu log de FreeRADIUS simplemente utiliza tu archivo ldap (módulo freeradius) para mostrarte esta bonita línea, pero ni siquiera está intentando buscarlo/a.

    Pero bueno, has encontrado el problema, y eso es lo principal :)
    Necesitas iniciar tu ldap (para hacerlo funcional), y ahí realmente no tengo forma de ayudarte sin información adicional (¿qué comandos has ingresado para instalar/configurar tu ldap?) En mi caso, se trataba de un LDAP de Windows y fue creado con un Windows Server 2008R2.

    Tú no tengo la menor idea (simplemente me indicaste que no se trataba de OpenLDAP :) )

    Estás cerca del objetivo :)
    ¡Ánimo!

    Jak
    2
  4. leslie45 Mensajes publicados 71 Estado Miembro
     
    ¡Hola! ¡Muchas gracias por responder a mi llamada! Pero ahora solo estoy en el lanzamiento del comando radtest y tengo como respuesta: ¡sin respuesta del servidor!
    He visitado algunos tutoriales, pero no ha cambiado nada.
    Estoy bien como root, pero el problema es que no veo ningún freeradius en /etc/init.d, lo que significa que el servidor ni siquiera está iniciado. He intentado con service freeradius start, pero me responde "servicio no reconocido". Sin embargo, cuando lanzo radiusd -X, me dice que está "listo para recibir solicitudes".
    ¿Alguien puede ayudarme?
    0
  5. leslie45 Mensajes publicados 71 Estado Miembro
     
    ¡Lo siento, pero ya logré resolver el problema! Creo que era un problema de certificado y un problema de comando, ¡intenté "raduisd restart" y voilà, funcionó!
    Así que continuaré, ¡hasta pronto!
    0
    1. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      Hola,

      ¿Entonces? ¿El resultado?
      0
    2. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Ah, pues entonces mejor :-)
      0
  6. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    Bonjour,

    He logrado realizar todo lo que dijiste. Sin embargo, tengo un error durante la prueba. ¡No consigo encontrarlo! ¿Puedes ayudarme?

    Estoy en Ubuntu.

    Aquí están todos mis archivos de configuración (solo lo estrictamente mínimo):

    radiusd.conf :
    La siguiente línea está bien descomentada:
    $INCLUDE ${confdir}/modules/


    default :
    authenticate { Auth-Type PAP { pap } Auth-Type CHAP { chap } Auth-Type MS-CHAP { mschap } digest should unix Auth-Type LDAP { ldap }


    ldap :
    ldap { # # Nota que esto necesita coincidir con el nombre en el LDAP # certificado del servidor, si estás usando ldaps. server = "10.1.69.50" identity = "cn=Mickael,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL" password = "123456789" basedn = "ou=utilisateurs,dc=DOMAINE,dc=LOCAL" filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})" #base_filter = "(objectclass=radiusprofile)"


    He verificado alrededor de no sé cuántas veces y no encuentro el error.

    Aquí está el comando que escribo con radtest :
    radtest Mickael 123456789 127.0.0.1 1812 testing123

    Esto es lo que aparece en el terminal al escribir este comando :
    Sending Access-Request of id 210 to 127.0.0.1 port 1812 User-Name = "Mickael" User-Password = "123456789" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=210, length=20

    Y esto es lo que obtengo en mi xterm (otro terminal con el comando freeradius -X habilitado) :
    rad_recv: Access-Request packet from host 127.0.0.1 port 42438, id=210, length=77 User-Name = "Mickael" User-Password = "123456789" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0xbb5ae6f22954f4567b3d356bc2a9b10c # Ejecutando sección autorizar desde el archivo /etc/freeradius/sites-enabled/default +- entrando al grupo autorizar {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [suffix] No '@' en User-Name = "Mickael", buscando realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] No EAP-Message, no haciendo EAP ++[eap] returns noop ++[files] returns noop [ldap] realizando autorización de usuario para Mickael [ldap] expand: %{Stripped-User-Name} -> [ldap] ... expandiendo segunda condición [ldap] expand: %{User-Name} -> Mickael [ldap] expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=Mickael) [ldap] expand: ou=utilisateurs,dc=DOMAINE,dc=LOCAL -> ou=utilisateurs,dc=DOMAINE,dc=LOCAL [ldap] ldap_get_conn: Comprobando Id: 0 [ldap] ldap_get_conn: Id: 0 recibido [ldap] intentando reconexión LDAP [ldap] (re)conectando a 10.1.69.50:389, autenticación 0 [ldap] conectando como cn=Mickael,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/123456789 a 10.1.69.50:389 [ldap] cn=Mickael,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL no pudo conectarse a 10.1.69.50:389: No se puede contactar al servidor LDAP [ldap] intento de reconexión fallido [ldap] búsqueda fallida [ldap] ldap_release_conn: Liberar Id: 0 ++[ldap] returns fail Usando Post-Auth-Type Reject # Ejecutando grupo desde el archivo /etc/freeradius/sites-enabled/default +- entrando al grupo REJECT {...} [attr_filter.access_reject] expand: %{User-Name} -> Mickael attr_filter: Coincidencia de entrada DEFAULT en la línea 11 ++[attr_filter.access_reject] returns updated Retrasando rechazo de solicitud 0 por 1 segundo Pasando a la próxima solicitud Despertando en 0.9 segundos. Enviando rechazo retrasado para la solicitud 0 Despertando en 4.9 segundos. Limpiando la solicitud 0 ID 210 con marca de tiempo +28 Listo para procesar solicitudes. 


    Espero que puedas ayudarme, estoy un poco perdido en todo esto.

    Gracias de antemano,
    Usbeth

    ¡Echa un vistazo a mi sitio! ;)
    www.frayday.wordpress.com
    0
  7. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
     
    Hola Usbeth,

    Tu registro de log habla por sí mismo al darte la razón del fallo de radtest:

    10.1.69.50:389 falló: No se puede contactar al servidor LDAP
    [ldap] (re)intento de conexión fallido


    lo que significa que, incluso antes de que FreeRADIUS intente buscar a Mickael en tu LDAP, ya no puede contactar con este último.

    Noté que tienes como dirección LDAP 10.1.69.50
    así que sugerencia:
    ¿Puedes hacer ping a 10.1.69.50 desde tu máquina servidor?
    --> Intenta un # ping 10.1.69.50
    Si el ping no pasa (red inalcanzable u otro), entonces necesitas colocarte en la misma red que tu servidor LDAP, o al menos hacer que se pueda alcanzar.

    Sin embargo, si el ping pasa, entonces profundizaremos en la investigación..
    Ánimo,

    Jak
    0
  8. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    Hola,

    Primero, gracias por tu respuesta.

    Bueno, en realidad FreeRadius y Ldap están en la misma máquina. Es decir, 10.1.69.50.
    Dado que la dirección IP 10.1.69.50 es la dirección IP de la PC con la que estoy tratando de hacer ping. Sea cual sea mi configuración, puedo hacer ping.
    De hecho, por eso no entiendo. Como estoy haciendo todo en la misma máquina, ¿por qué no puedo contactar al servidor Ldap? Esperaba tener un problema, pero no de este tipo.

    Sin embargo, he seguido exactamente lo que dijiste en tu tutorial. Bueno, excepto por algún error de atención o algo así. Tiene que haber un problema ya que no funciona perfectamente :)

    Gracias de nuevo,
    Usbeth

    --
    ¡Ve a visitar mi sitio! ;)
    www.frayday.wordpress.com
    0
  9. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    Hola,

    He desinstalado freeradius y he comenzado todo de nuevo. Tengo exactamente el mismo error:
    radtest Leslie mypass 127.0.0.1 1812 testing123 Enviando Access-Request de id 229 a 127.0.0.1 puerto 1812 User-Name = "Leslie" User-Password = "mypass" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: paquete Access-Reject de host 127.0.0.1 puerto 1812, id=229, longitud=20 


    Resultado bajo el comando "freeradius -X":
    rad_recv: paquete Access-Request de host 127.0.0.1 puerto 50608, id=229, longitud=76 User-Name = "Leslie" User-Password = "mypass" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0x625f2c3a9ecdc39a3a4d4f466c78e369 # Ejecutando sección authorize desde el archivo /etc/freeradius/sites-enabled/default +- entrando al grupo authorize {...} ++[preprocess] devuelve ok ++[chap] devuelve noop ++[mschap] devuelve noop ++[digest] devuelve noop [suffix] No hay '@' en User-Name = "Leslie", buscando realm NULL [suffix] No existe tal realm "NULL" ++[suffix] devuelve noop [eap] No EAP-Message, no se está haciendo EAP ++[eap] devuelve noop ++[files] devuelve noop [ldap] realizando autorización de usuario para Leslie [ldap] expand: %{Stripped-User-Name} -> [ldap] ... expandiendo segunda condicional [ldap] expand: %{User-Name} -> Leslie [ldap] expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=Leslie) [ldap] expand: ou=utilisateurs,dc=DOMAINE,dc=LOCAL -> ou=utilisateurs,dc=DOMAINE,dc=LOCAL [ldap] ldap_get_conn: Verificando Id: 0 [ldap] ldap_get_conn: Obtenido Id: 0 [ldap] intentando reconexión LDAP [ldap] (re)conectando a 10.1.69.50:389, autenticación 0 [ldap] bind como cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/mypass a 10.1.69.50:389 [ldap] cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL bind a 10.1.69.50:389 falló: No se puede contactar al servidor LDAP [ldap] intento de (re)conexión fallido [ldap] búsqueda falló [ldap] ldap_release_conn: Liberar Id: 0 ++[ldap] devuelve fail Usando Post-Auth-Type Reject # Ejecutando grupo desde el archivo /etc/freeradius/sites-enabled/default +- entrando al grupo REJECT {...} [attr_filter.access_reject] expand: %{User-Name} -> Leslie attr_filter: Entrada coincidente DEFAULT en la línea 11 ++[attr_filter.access_reject] devuelve actualizado Retrasando el rechazo de la solicitud 0 durante 1 segundo Pasando a la siguiente solicitud Despertando en 0.9 segundos. Enviando rechazo demorado para la solicitud 0 Enviando Access-Reject de id 229 a 127.0.0.1 puerto 50608 Despertando en 4.9 segundos. Limpiando la solicitud 0 ID 229 con marca de tiempo +9 Listo para procesar solicitudes. 


    Además, cuando ejecuto los siguientes comandos, obtengo los siguientes resultados:
    /etc/init.d/freeradius stop * Deteniendo el daemon FreeRADIUS freeradius * /var/run/freeradius/freeradius.pid no encontrado... [ OK ] brice-HP etc # /etc/init.d/freeradius start * Iniciando el daemon FreeRADIUS freeradius [fail]


    Mi freeradius & LDAP están en la misma máquina, a saber, en la IP "10.1.69.50". No entiendo por qué hay un error al contactar a este supuesto servidor LDAP cuando está en la misma máquina.

    ¿Alguien podría conocer la respuesta y salvarme la vida?!

    Gracias de nuevo,
    Usbeth

    ¡Visiten mi sitio ;)
    www.frayday.wordpress.com
    0
  10. leslie45 Mensajes publicados 71 Estado Miembro
     
    Hola a todos, creo que grité victoria demasiado pronto!!!
    ¡Mi servidor no arranca!!
    He escrito todos los comandos inimaginables: service freeradius start, radiusd -X, service radiusd start. Pero me responde cada vez, servicio desconocido.
    Al lanzar el comando radiusd start o radiusd stop, no se muestra nada, debería funcionar pero al verificar en /etc/init.d, no hay ningún servicio de freeradius.
    Así que intenté configurarlo con ldap pero tengo un montón de errores: falló al vincular rlm_ldap
    Algo así. ¿Alguien puede ayudarme?
    0
    1. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      Hola,

      intenta con el comando:
      /etc/init.d/freeradius restart service freeradius restart


      Yo tenía un problema bastante similar y cada vez que hacía start me daba un fail. O, intenta hacer un stop antes de un start.

      Si no, si estás motivado, te aconsejo que purgues totalmente freeradius y que empieces de nuevo todo lo que hiciste. Eso es lo que hice yo.
      Pero bueno, no funciona por eso xD
      0
    2. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Estoy de acuerdo con Usbeth, #apt-get autoremove freeradius
      Este comando desinstalará freeradius.

      Si no quieres reinstalar, entonces verifica la llamada a tu módulo ldap (en radiusd.conf) porque el error que nos reportas (failed to link rlm_ldap) significa que tu módulo no es accesible. ¿Has instalado bien freeradius-ldap al inicio de la configuración? ¿Has modificado tu radiusd.conf (o otros archivos) de alguna manera diferente a la que te propongo?
      ¡Ánimo y... paciencia para ti :)
      0
  11. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    Hola,

    Para resolver mi problema, tal vez deba hacer lo siguiente:

    1 => Asegurarme de que los módulos "ldap" estén descomentados en los archivos radius.conf, /etc/freeradius/site-available/default, /etc/freeradius/site-available/inner-tunnel

    2 => editar /etc/freeradius/clients.conf:

    client localhost {
    ipaddr = 127.0.0.1
    secret = tu_secreto_nas_radius
    nastype = other
    }

    3 => editar /usr/share/freeradius/dictionary y agregar:

    VALUE Auth-Type LDAP 5

    4 => editar /etc/freeradius/users y agregar:

    DEFAULT Auth-Type := LDAP
    Fall-Through = 1

    ¿Qué opinas? Al parecer, no es necesario hacer el paso 4, aunque las opiniones son variadas al respecto. Supuestamente "solo trae errores y si se ejecuta en modo debug freeradius (sudo freeradius -X) lanza un error feo!".

    Tampoco entiendo por qué me dice "/var/run/freeradius/freeradius.pid not found..." (ver mensaje anterior) y, sobre todo, su utilidad. ¿Alguien podría ayudarme?

    Al buscar por todos lados, he hecho muchas configuraciones/pruebas diferentes. Pero aún no tengo el resultado buscado: el buen funcionamiento de mi servidor freeradius.

    Atentamente,
    Usbeth

    ¡No dudes en visitar mi sitio! ;)
    www.frayday.wordpress.com
    0
    1. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Hola Usbeth,
      Tu etapa 3), es decir, la edición del archivo dictionnary, así como tu etapa 4), que consiste en modificar el archivo USER, son lamentablemente innecesarias. :-)
      Te explico: En primer lugar, el archivo dictionnary por defecto incluye los atributos de la RFC2865. Este diccionario establece la correspondencia "nombre de los atributos" - "número". En nuestro caso, no se recomienda en absoluto modificarlo. Luego, reflexionemos lógicamente. =) Estamos pidiendo a FreeRADIUS una autenticación por LDAP (ver archivo sites-available/default), a partir de ahí, FreeRADIUS intentará esta autenticación LDAP utilizando el módulo LDAP (ver archivo radiusd.conf que a su vez llama a modules/ldap). Modificar el archivo USER no permite nada, salvo añadir un usuario además de los de tu LDAP. Además, podemos notar en los registros que FreeRADIUS efectivamente consulta al LDAP, observa:

      ++[files] returns noop
      [ldap] performing user authorization for Leslie


      el [files] return noop te informa que el ARCHIVO user no será utilizado ^^
      Una cosa primordial que hay que tener en cuenta: Por DEFECTO, un servidor FreeRADIUS es funcional (siempre que se hayan ejecutado los comandos #apt-get update y #apt-get upgrade). Así que lo que generalmente causa inestabilidad (o incluso el mal funcionamiento) de tu servidor son todos esos cambios añadidos.
      Debes hacer lo más simple desde el principio, cambiando lo mínimo de cosas y los problemas desaparecen (salvo excepciones, por supuesto).


      Para la conexión a tu LDAP, ignoro si has modificado el módulo LDAP de la manera que indico (cambiando uid por sAMAccountName). Este cambio es específico de la configuración del LDAP y puede ser el error que te impide avanzar. Verifica también de manera muy minuciosa la ruta de tu lector LDAP (identity password) :-)

      Otra cosa, si tu FreeRADIUS y tu LDAP están en la misma máquina física, uno de ellos podría estar virtualizado. FreeRADIUS está en un entorno Linux y LDAP en Windows (¿o es un OpenLDAP?) --> Esta diferencia cambia, por supuesto, el método de configuración del módulo LDAP :-)


      En cualquier caso, intentaré ayudarte al máximo (pero no soy experto en FreeRADIUS). Si encuentras el error, no olvides volver a hacerlo todo de manera limpia :)

      Ánimo para ti

      Jak
      0
    2. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      Hola Jak,

      ¡Primero que nada, gracias por tu ayuda y la información!

      Actualmente no he ejecutado esto:
       Pasemos a la línea filter = -->No modifiques esta línea a menos que estés usando un Active Directory de Windows. Y si es el caso, cambia "uid=...etc" por sAMAccountName=...(el resto de la línea no cambia) 

      Puesto que no estoy usando un ADW.

      Tengo mi servidor freeradius y mi LDAP en la misma máquina, que es un Ubuntu. ¿Es porque tengo todo en Ubuntu que no funciona?
      No tengo Open LDAP.

      Creo que debe haber un error en el archivo ldap:
      identity = "cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL" password = mypass basedn = "ou=utilisateurs,dc=DOMAINE,dc=LOCAL" filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"


      No entiendo las líneas identity, basedn y filter. Debe haber un error cerca. También tengo una pregunta. ¿Pone el hecho de que el password esté sin las comillas un problema?

      He intentado con y sin ellas, no cambia nada.

      Tampoco entiendo lo que llamas ruta LDAP.

      ¡Gracias de nuevo!
      Usbeth
      0
    3. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Bien bien,

      Estás en una sola y misma máquina UNIX Ubuntu (servidor lts o de escritorio?).

      Para explicar las líneas que mencionas:
      identity sirve aquí para "identificarte" ante tu LDAP, es decir, que no cualquiera puede leer tu LDAP así como así, por lo que necesitas elegir un usuario que tenga derecho de lectura sobre este último.
      password es, evidentemente, la contraseña de la persona mencionada anteriormente.

      Si tu LDAP reconoce "Leslie", entonces el log te dirá:

      [ldap] intentando reconexión LDAP
      [ldap] (re)conectando a 10.1.69.50:389, autenticación 0
      [ldap] bind exitoso


      o algo cercano, de todos modos.

      Pero el problema que enfrentas aquí no tiene que ver con "Leslie", así que no es un problema de identidad (al menos por ahora). Tu LDAP no se está consultando porque no es accesible.

      Gracias a la información más reciente que me diste (y te lo agradezco :-) ), podemos asegurar que el ping funciona --> PERO, ¿qué es más simple para tu máquina que hacer ping a sí misma? (después de todo, tu ping hacia FreeRADIUS sería exactamente el mismo #ping 10.1.69.50, ¿no?) así que necesitas verificar si tu servidor LDAP está funcional.

      Sugerencias:
      - ¿Está en funcionamiento?
      - ¿Tienes forma de ver sus logs?
      - ¿Los comandos de prueba LDAP están OK?

      Recomendaciones:
      - haz un #tail -f /var/log/syslog en un terminal aparte (si procedes gráficamente) o en TTY2 (si estás en consola). Este comando te muestra en tiempo real (gracias a -f) los logs de tu sistema.

      - realiza una prueba de consulta en tu LDAP gracias al siguiente comando (ver a modificar un poco):
      #ldapsearch -x -b "ou=utilisateurs,dc=DOMAINE,dc=LOCAL" 'uid=Leslie'
      el -x significa "consulta simple", el -b es equivalente al basedn de FreeRADIUS (ruta donde se encuentran los usuarios).
      nota: si ldapsearch no está instalado, aquí está el comando:
      #apt-get install ldap-utils

      Mientras no logres hacer funcionar el ldapsearch, no tiene sentido buscar el problema en FreeRADIUS (al menos eso es lo que pienso).

      Regresaré esta noche cruzando los dedos por ti ;)
      ¡Ánimo!

      Jak
      0
    4. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Acabo de entender lo que está mal, gracias a tu último mensaje! ¡Soy un desastre!

      ¡Pero DIOS MÍO!

      Explicación:
      Para mí, el servidor LDAP se lanzaba automáticamente. Quiero decir que pensaba que no era necesario iniciarlo. Por eso no busqué iniciarlo. ¡Solo que hay que iniciarlo, al igual que con FreeRADIUS!

      Para iniciarlo, busqué en internet y encontré el siguiente comando:
      /etc/init.d/ldap start

      Lo escribí en el terminal, ¡pero no obtengo nada! Resultado del comando:
      bash: /etc/init.d/ldap: No such file or directory
      Sin embargo, he descargado los archivos que mencionas (FreeRADIUS y FreeRADIUS-ldap). Entonces, ¿por qué no tengo la posibilidad de ingresar el comando para lanzar el servidor LDAP? ¡Esa es la pregunta del millón!

      Te mantendré informado si encuentro la solución antes de tu respuesta.

      ¡Gracias, amigo!
      0
    5. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      Creo que falta un archivo o un comando. De todos modos, estoy 100% seguro de que el error está ahí. Tengo la impresión de que "Leslie" se conecta correctamente (excepto que falta el servidor xD):
      [ldap] bind as cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/mypass to 10.1.69.50:389

      Si logro iniciar este maldito servidor Ldap, estoy 99.9999% seguro de que todo funcionará de una vez. (Excepto que hay un 0.0001% que me hace dudar muchísimo ^^)
      0
  12. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    ¡Hola!

    ¡Hoy estoy motivado para resolver este problema!

    De acuerdo, entiendo. Para instalar/configurar mi ldap simplemente hice:
    apt-get install freeradius-ldap

    Como dijiste en el tutorial que hiciste. Y luego hice todo lo que dijiste en el tutorial. No toqué nada más. Tengo un archivo en /etc/ldap/ldap.conf (solo hay este archivo en esa carpeta). Miré lo que hay dentro, es decir, no mucho.

    Archivo /etc/ldap/ldap.conf :

    # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt

    En mi opinión, debe ser imposible de esta manera si no hago Ldap en Windows, ¿verdad? ¿Crees que debería hacer un OpenLdap dado que estoy en Ubuntu y no en Windows como tú? ¿Podrías ayudarme a configurarlo si sabes hacerlo?

    Atentamente,
    Usbeth.

    --
    ¡Pasa por mi sitio! ;)
    www.frayday.wordpress.com
    0
  13. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    ¡Hola! :D

    ¡Perdón por el doble mensaje, pero es importante para resolver este asunto de asesinato! :O

    ¡Tenemos una pista increíble! ¡El servidor Ldap FUNCIONA! :
    apt-get install slapd


    radtest Leslie kikou 127.0.0.1 1812 testing123 Enviando Access-Request del id 159 a 127.0.0.1 puerto 1812 User-Name = "Leslie" User-Password = "kikou" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Paquete de Access-Reject del host 127.0.0.1 puerto 1812, id=159, longitud=20


    rad_recv: Paquete de Access-Request del host 127.0.0.1 puerto 37687, id=159, longitud=76 User-Name = "Leslie" User-Password = "kikou" NAS-IP-Address = 127.0.1.1 NAS-Port = 1812 Message-Authenticator = 0x836e0a504ea6396922e228599deeb301 # Ejecutando sección authorize desde el archivo /etc/freeradius/sites-enabled/default +- entrando en el grupo authorize {...} ++[preprocess] retorna ok ++[chap] retorna noop ++[mschap] retorna noop ++[digest] retorna noop [suffix] No hay '@' en User-Name = "Leslie", buscando el realm NULL [suffix] No hay tal realm "NULL" ++[suffix] retorna noop [eap] No hay EAP-Message, no se hace EAP ++[eap] retorna noop ++[files] retorna noop [ldap] realizando autorización de usuario para Leslie [ldap] expand: %{Stripped-User-Name} -> [ldap] ... expandiendo segunda condicional [ldap] expand: %{User-Name} -> Leslie [ldap] expand: (uid=%{%{Stripped-User-Name}:-%{User-Name}}) -> (uid=Leslie) [ldap] expand: ou=utilisateurs,dc=DOMAINE,dc=LOCAL -> ou=utilisateurs,dc=DOMAINE,dc=LOCAL [ldap] ldap_get_conn: Comprobando Id: 0 [ldap] ldap_get_conn: Obtuvo Id: 0 [ldap] intentando reconexión LDAP [ldap] (re)conectar a 10.1.69.50:389, autenticación 0 [ldap] enlazando como cn=Leslie,ou=admin,ou=info,dc=DOMAINE,dc=LOCAL/kikou a 10.1.69.50:389 [ldap] esperando el resultado del enlace ... [ldap] Fallo en el inicio de sesión LDAP: verifique la identidad, la configuración de la contraseña en la sección ldap de radiusd.conf [ldap] intento de (re)conexión fallido [ldap] búsqueda fallida [ldap] ldap_release_conn: Liberar Id: 0 ++[ldap] retorna fail Usando Post-Auth-Type Reject # Ejecutando grupo desde el archivo /etc/freeradius/sites-enabled/default +- entrando en el grupo REJECT {...} [attr_filter.access_reject] expand: %{User-Name} -> Leslie attr_filter: Coincidencia con la entrada DEFAULT en la línea 11 ++[attr_filter.access_reject] retorna actualizado Retrasando el rechazo de la solicitud 0 por 1 segundo Pasando a la siguiente solicitud Despertando en 0.9 segundos. Enviando rechazo retrasado para la solicitud 0 Enviando Access-Reject del id 159 a 127.0.0.1 puerto 37687 Despertando en 4.9 segundos. Limpiando la solicitud 0 ID 159 con timestamp +5 Listo para procesar solicitudes. 

    He realizado un :
    ldapsearch -x -b "ou=utilisateurs,dc=DOMAINE,dc=LOCAL" 'uid=Leslie' # LDIF extendido # # LDAPv3 # base <ou=utilisateurs,dc=DOMAINE,dc=LOCAL> con alcance subtree # filtro: uid=Leslie # solicitando: TODOS # # resultado de búsqueda búsqueda: 2 resultado: 32 No hay tal objeto # numResponses: 1 


    ¡No sé qué significa, pero es fantástico! :D Ahora es la autenticación la que no funciona xD (¡Y sí! ¡Siempre hay un problema! ¡Pero vamos a vencer!). Entonces!

    Bueno, ahora hay que hacer funcionar todo esto y entender por qué la autenticación no funciona. ¿Aceptas la misión? ¡SÍ! ¡Vamos a vencer!

    Cordialmente,
    Usbeth.

    Echa un vistazo a mi sitio ;)
    www.frayday.wordpress.com
    0
    1. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Él no lo encontró porque no tienes LDAP ;)
      No te preocupes, te explico todo eso a continuación :-)
      0
  14. leslie45 Mensajes publicados 71 Estado Miembro
     
    ¡Hola! Veo que al menos ustedes tienen un "ready for request" al lanzar radius en modo debug; sin embargo, yo no. Dice que "failed to link module rlm_ldap". He intentado instalar freeradius-ldap con:
    apt-get update
    apt-get upgrade
    apt-get install freeradius-ldap
    Pero me responde que freeradius-ldap ya está instalado en la última versión.
    ¿Eso significa que ya está instalado en mi máquina?
    ¿Ayuda por favor? ¿Qué debo hacer? Realmente no quiero desinstalarlo porque he pasado semanas resolviendo el error de "no response from the server" y instalé freeradius usando un paquete freeradius-server-2.2.0.tar.gz.
    0
  15. leslie45 Mensajes publicados 71 Estado Miembro
     
    He vuelto a hacer la instalación varias veces y sí, he instalado freeradius-ldap correctamente. En otros foros dicen que el módulo no está activado. ¿Cómo puede ser eso?
    ¡si ya lo he recompilado tantas veces!
    0
    1. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Hola Leslie,
      Quizás el problema provenga de tu paquete .gz.
      Me explico:
      El comando #apt-get install freeradius-ldap te proporciona la forma de configurar un ldap con freeradius.
      Pero este comando solo vale la pena y funciona si y solo si instalas freeradius2.X con el comando #apt-get install freeradius
      No debes usar un paquete freeradius descargado de otra manera que no sea a través del repositorio (el repositorio = apt-get install) si luego usas un apt-get install, ¿ves a dónde quiero llegar?
      o TODO desde el repositorio y por lo tanto:
      #apt-get update
      #apt-get upgrade
      #apt-get install freeradius
      #apt-get install freeradius-ldap

      o TODO sin repositorio, es decir, tu método:
      #wget http://XXXXXX.freeradius-2.0.0.tar.gz (atención, este comando no existe, es solo un ejemplo)
      #dpkg -i freeradius-2.0.0.tar.gz ...


      Así que yo instalo todo desde el repositorio (justamente para no tener problemas de compatibilidad o similares, que es tu caso)


      Por lo tanto, posibles soluciones:
      - Elimina tu paquete freeradius que has descargado
      y luego:
      #apt-get autoremove freeradius
      #apt-get autoremove freeradius-ldap
      #apt-get install freeradius
      #apt-get install freeradius-ldap

      Atención, no perderás el contenido de tus archivos de configuración de freeradius (tus modificaciones permanecerán intactas)

      Espero poder ayudarte más adelante
      Ánimo

      Jak
      0
  16. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    ¿Has instalado slapd? (servidor LDAP)

    --
    ¡Vayan a visitar mi sitio! ;)
    www.frayday.wordpress.com
    0
  17. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
     
    Hola,

    Gracias jak, voy a intentar eso, pero tengo un pequeño problema, ¡no tengo más el archivo "directory"!
    ¿Alguien lo tendría para mí?
    Soy un torpe ^^"

    --
    ¡Paseen por mi sitio! ;)
    www.frayday.wordpress.com
    0
    1. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      El archivo "directory "? ¿De qué archivo se trata?
      0
    2. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      /etc/freeradius/directory

      De hecho, cada vez que ejecuto /etc/init.d/freeradius restart o start, falla. Y creo que es porque falta este archivo.

      Ejecución del comando freeradius -X
      freeradius -X FreeRADIUS Version 2.1.12, para host x86_64-pc-linux-gnu, construido el 11 de sep 2012 a las 22:27:05 Copyright (C) 1999-2009 El proyecto del servidor FreeRADIUS y contribuyentes. No hay garantía; ni siquiera para MERCANTILIDAD o ADECUACIÓN A UN PROPÓSITO PARTICULAR. Puede redistribuir copias de FreeRADIUS bajo los términos de la Licencia Pública General GNU v2. Iniciando - leyendo archivos de configuración ... incluyendo el archivo de configuración /etc/freeradius/radiusd.conf incluyendo el archivo de configuración /etc/freeradius/proxy.conf incluyendo el archivo de configuración /etc/freeradius/clients.conf incluyendo el archivo de configuración /etc/freeradius/snmp.conf No se puede abrir el archivo "/etc/freeradius/snmp.conf": No existe tal archivo o directorio Errores al leer /etc/freeradius/radiusd.conf 


      también parece que me falta el archivo snmp.conf.
      0
    3. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Me he equivocado! El nombre del archivo es /etc/freeradius/dictionary !!
      0
    4. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Ah, en efecto, si te falta el archivo dictionary, esto va a fallar :)
      0
    5. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      tienes que encontrarlo en Internet porque una reinstalación no te lo reinsertará. Sin embargo, es bastante extraño que haya desaparecido ^^
      0
  18. leslie45 Mensajes publicados 71 Estado Miembro
     
    Hola Jak! Gracias por tus consejos. Ahora que ya no tengo errores al lanzar en modo debug, pero al ejecutar el comando radtest, recibo un access-reject. Lo extraño es que funcionaba en mi anterior freeradius. He hecho las mismas configuraciones, pero no hay forma. ¿Puedes ayudarme por favor?
    He descomentado un usuario en users para hacer la prueba y he configurado clients.conf como siempre. ¿Dónde está el problema? La autenticación con EAP está habilitada por defecto.
    0
    1. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      No puedo ayudarte mucho, no sé nada. Pero muéstrame tus archivos de configuración. Quizás encuentre el error. ¡Nunca se sabe! :)
      0
    2. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Hola Leslie,
      Con gusto te ayudaré, al menos si soy capaz... :)
      Necesito información. Así que reinstalaste FreeRADIUS, que esta vez arranca sin problemas, sin embargo, radtest falla.

      Preguntas:
      - ¿Usas un ldap al lado o simplemente el archivo USERS?
      - ¿Tienes un LDAP accesible y operativo (cf. Usbeth :-D)?
      - ¿Has configurado tu módulo ldap? (identidad, contraseña, ...)?
      - ¿Has autorizado correctamente el ldap en el archivo sites-availables/default descomentando las líneas asociadas?


      La autenticación EAP normalmente no presenta problemas, siempre que se transmita todo en claro (sin cifrar).

      Recomendaciones:
      - Inicia FreeRADIUS en modo depuración (primero lo detienes con el comando #/etc/init.d/freeradius stop y luego lo reinicias en depuración con #freeradius -X) y pégame lo que te dice cuando haces un radtest (de la misma manera que Usbeth) para que podamos analizar todo esto :-)

      ¡Buena suerte!

      Jak
      0
    3. leslie45 Mensajes publicados 71 Estado Miembro
       
      slt! gracias por haber respondido, euh, aquí hay un extracto de lo que muestra al lanzar radiusd -X



      with_ntdomain_hack = no
      allow_retry = yes
      }
      Módulo: Vinculado al módulo rlm_digest
      Módulo: Instanciando el módulo "digest" desde el archivo /usr/local/etc/raddb/modules/digest
      Módulo: Vinculado al módulo rlm_unix
      Módulo: Instanciando el módulo "unix" desde el archivo /usr/local/etc/raddb/modules/unix
      unix {
      radwtmp = "/usr/local/var/log/radius/radwtmp"
      }
      Módulo: Vinculado al módulo rlm_eap
      Módulo: Instanciando el módulo "eap" desde el archivo /usr/local/etc/raddb/eap.conf
      eap {
      default_eap_type = "md5"
      timer_expire = 60
      ignore_unknown_eap_types = no
      cisco_accounting_username_bug = no
      max_sessions = 4096
      }
      Módulo: Vinculado al sub-módulo rlm_eap_md5
      Módulo: Instanciando eap-md5
      Módulo: Vinculado al sub-módulo rlm_eap_leap
      Módulo: Instanciando eap-leap
      Módulo: Vinculado al sub-módulo rlm_eap_gtc
      Módulo: Instanciando eap-gtc
      gtc {
      challenge = "Contraseña: "
      auth_type = "PAP"
      }
      Módulo: Vinculado al sub-módulo rlm_eap_tls
      Módulo: Instanciando eap-tls
      tls {
      rsa_key_exchange = no
      dh_key_exchange = yes
      rsa_key_length = 512
      dh_key_length = 512
      verify_depth = 0
      CA_path = "/usr/local/etc/raddb/certs"
      pem_file_type = yes
      private_key_file = "/usr/local/etc/raddb/certs/server.pem"
      certificate_file = "/usr/local/etc/raddb/certs/server.pem"
      CA_file = "/usr/local/etc/raddb/certs/ca.pem"
      private_key_password = "whatever"
      dh_file = "/usr/local/etc/raddb/certs/dh"
      random_file = "/usr/local/etc/raddb/certs/random"
      fragment_size = 1024
      include_length = yes
      check_crl = no
      cipher_list = "DEFAULT"
      make_cert_command = "/usr/local/etc/raddb/certs/bootstrap"
      ecdh_curve = "prime256v1"
      cache {
      enable = no
      lifetime = 24
      max_entries = 255
      }
      verify {
      }
      ocsp {
      enable = no
      override_cert_url = yes
      url = "http://127.0.0.1/ocsp/"
      use_nonce = yes
      timeout = 0
      softfail = no
      }
      }
      Módulo: Vinculado al sub-módulo rlm_eap_ttls
      Módulo: Instanciando eap-ttls
      ttls {
      default_eap_type = "md5"
      copy_request_to_tunnel = no
      use_tunneled_reply = no
      virtual_server = "inner-tunnel"
      include_length = yes
      }
      Módulo: Vinculado al sub-módulo rlm_eap_peap
      Módulo: Instanciando eap-peap
      peap {
      default_eap_type = "mschapv2"
      copy_request_to_tunnel = no
      use_tunneled_reply = no
      proxy_tunneled_request_as_eap = yes
      virtual_server = "inner-tunnel"
      soh = no
      }
      Módulo: Vinculado al sub-módulo rlm_eap_mschapv2
      Módulo: Instanciando eap-mschapv2
      mschapv2 {
      with_ntdomain_hack = no
      send_error = no
      }
      Módulo: Verificando authorize {...} para más módulos para cargar
      Módulo: Vinculado al módulo rlm_preprocess
      Módulo: Instanciando el módulo "preprocess" desde el archivo /usr/local/etc/raddb/modules/preprocess
      preprocess {
      huntgroups = "/usr/local/etc/raddb/huntgroups"
      hints = "/usr/local/etc/raddb/hints"
      with_ascend_hack = no
      ascend_channels_per_line = 23
      with_ntdomain_hack = no
      with_specialix_jetstream_hack = no
      with_cisco_vsa_hack = no
      with_alvarion_vsa_hack = no
      }
      leyendo archivo de lista de pares /usr/local/etc/raddb/huntgroups
      leyendo archivo de lista de pares /usr/local/etc/raddb/hints
      Módulo: Vinculado al módulo rlm_realm
      Módulo: Instanciando el módulo "suffix" desde el archivo /usr/local/etc/raddb/modules/realm
      realm suffix {
      format = "suffix"
      delimiter = "@"
      ignore_default = no
      ignore_null = no
      }
      Módulo: Vinculado al módulo rlm_files
      Módulo: Instanciando el módulo "files" desde el archivo /usr/local/etc/raddb/modules/files
      files {
      usersfile = "/usr/local/etc/raddb/users"
      acctusersfile = "/usr/local/etc/raddb/acct_users"
      preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users"
      compat = "no"
      }
      leyendo archivo de lista de pares /usr/local/etc/raddb/users
      leyendo archivo de lista de pares /usr/local/etc/raddb/acct_users
      leyendo archivo de lista de pares /usr/local/etc/raddb/preproxy_users
      Módulo: Verificando preacct {...} para más módulos para cargar
      Módulo: Vinculado al módulo rlm_acct_unique
      Módulo: Instanciando el módulo "acct_unique" desde el archivo /usr/local/etc/raddb/modules/acct_unique
      acct_unique {
      key = "User-Name, Acct-Session-Id, NAS-IP-Address, NAS-Identifier, NAS-Port"
      }
      Módulo: Verificando contabilidad {...} para más módulos para cargar
      Módulo: Vinculado al módulo rlm_detail
      Módulo: Instanciando el módulo "detail" desde el archivo /usr/local/etc/raddb/modules/detail
      detail {
      detailfile = "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
      header = "%t"
      detailperm = 384
      dirperm = 493
      locking = no
      log_packet_header = no
      }
      Módulo: Vinculado al módulo rlm_attr_filter
      Módulo: Instanciando el módulo "attr_filter.accounting_response" desde el archivo /usr/local/etc/raddb/modules/attr_filter
      attr_filter attr_filter.accounting_response {
      attrsfile = "/usr/local/etc/raddb/attrs.accounting_response"
      key = "%{User-Name}"
      relaxed = no
      }
      leyendo archivo de lista de pares /usr/local/etc/raddb/attrs.accounting_response
      Módulo: Verificando sesión {...} para más módulos para cargar
      Módulo: Vinculado al módulo rlm_radutmp
      Módulo: Instanciando el módulo "radutmp" desde el archivo /usr/local/etc/raddb/modules/radutmp
      radutmp {
      filename = "/usr/local/var/log/radius/radutmp"
      username = "%{User-Name}"
      case_sensitive = yes
      check_with_nas = yes
      perm = 384
      callerid = yes
      }
      Módulo: Verificando post-proxy {...} para más módulos para cargar
      Módulo: Verificando post-auth {...} para más módulos para cargar
      Módulo: Instanciando el módulo "attr_filter.access_reject" desde el archivo /usr/local/etc/raddb/modules/attr_filter
      attr_filter attr_filter.access_reject {
      attrsfile = "/usr/local/etc/raddb/attrs.access_reject"
      key = "%{User-Name}"
      relaxed = no
      }
      leyendo archivo de lista de pares /usr/local/etc/raddb/attrs.access_reject
      } # módulos
      } # servidor
      servidor inner-tunnel { # desde el archivo /usr/local/etc/raddb/sites-enabled/inner-tunnel
      módulos {
      Módulo: Verificando authenticate {...} para más módulos para cargar
      Módulo: Verificando authorize {...} para más módulos para cargar
      Módulo: Verificando sesión {...} para más módulos para cargar
      Módulo: Verificando post-proxy {...} para más módulos para cargar
      Módulo: Verificando post-auth {...} para más módulos para cargar
      } # módulos
      } # servidor
      radiusd: #### Abriendo direcciones IP y puertos ####
      listen {
      type = "auth"
      ipaddr = *
      port = 0
      }
      listen {
      type = "acct"
      ipaddr = *
      port = 0
      }
      listen {
      type = "control"
      listen {
      socket = "/usr/local/var/run/radiusd/radiusd.sock"
      }
      }
      listen {
      type = "auth"
      ipaddr = 127.0.0.1
      port = 18120
      }
      ... añadiendo nueva dirección de socket proxy * puerto 33019
      Escuchando en la dirección de autenticación * puerto 1812
      Escuchando en la dirección de contabilidad * puerto 1813
      Escuchando en el archivo de comando /usr/local/var/run/radiusd/radiusd.sock
      Escuchando en la dirección de autenticación 127.0.0.1 puerto 18120 como servidor inner-tunnel
      Escuchando en la dirección proxy * puerto 1814
      Listo para procesar solicitudes.


      y al lanzar la prueba radtest, tengo esto:

      Enviando Access-Request de id 200 a 127.0.0.1 puerto 1812
      User-Name = "steve"
      User-Password = "testing"
      NAS-IP-Address = 192.168.11.30
      NAS-Port = 1812
      Message-Authenticator = 0x00000000000000000000000000000000
      rad_recv: paquete Access-Reject del host 127.0.0.1 puerto 1812, id=200, longitud=20

      Efectivamente tengo un ldap que es accesible, pero quería asegurarme de que funcione localmente primero!
      0
    4. leslie45 Mensajes publicados 71 Estado Miembro
       
      mi comando radtest:
      radtest steve testing localhost 1812 testing123
      0
    5. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      En resumen, tienes lo mismo que yo cuando hacía mi radtest :/
      Lamentablemente, no tengo la respuesta.

      ¡Y no te burles, Jak! xD
      Bueno, admito que lo merecía... ^^

      Leslie, ¿no tendrías el archivo snmp.conf para mí, por favor? *-*
      0
  19. leslie45 Mensajes publicados 71 Estado Miembro
     
    Eh ho !! ¿Jak todavía está ahí? ¿Voy a rehacer la instalación para ver?
    0
  20. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
     
    Hola a los dos :)
    Ah, parece que gira en torno al snmp.conf :)
    Mala noticia para ti, Leslie, tu problema no viene de ahí.
    He realizado algunas pruebas y he notado que, dependiendo de tu máquina, no puedes usar ldap y file al mismo tiempo (en realidad puedes, pero es poco estable). Así que creo que, en cualquier caso, tus usuarios en USERS serán rechazados.

    Gracias a tu registro de inicio, he comprobado que no hay problemas (al menos a primera vista). Lo que necesito ahora son los logs de tu FreeRADIUS en el momento del radtest :) Si lo deseas, y para no hacerte complicado, puedes abrir un segundo terminal y escribir #tail -f /var/log/freeradius/radius.log
    Entonces, por favor, copia la información de esta ventana en el momento del radtest :)

    Usbeth,
    ¿Estás seguro de que tu radius no arranca sin este archivo "snmp.conf"? Yo no lo tengo presente y todo parece funcionar :-/
    ¿El problema quizás no esté aquí?

    --
    Jakscoreur - Redes y Telecomunicaciones =)
    0
    1. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      Si comento toda la parte snmp obtengo el siguiente error:

      freeradius -X FreeRADIUS Versión 2.1.12, para host x86_64-pc-linux-gnu, construido el 11 de sep de 2012 a las 22:27:05 Copyright (C) 1999-2009 El proyecto del servidor FreeRADIUS y contribuyentes. NO hay garantía; ni siquiera para COMERCIABILIDAD o AJUSTE PARA UN PROPÓSITO PARTICULAR. Puede redistribuir copias de FreeRADIUS bajo los términos de la Licencia Pública General GNU v2. Iniciando - leyendo archivos de configuración ... incluyendo el archivo de configuración /etc/freeradius/radiusd.conf incluyendo el archivo de configuración /etc/freeradius/proxy.conf incluyendo el archivo de configuración /etc/freeradius/clients.conf incluyendo archivos en el directorio /etc/freeradius/modules/ incluyendo el archivo de configuración /etc/freeradius/modules/ldap incluyendo el archivo de configuración /etc/freeradius/modules/detail.example.com incluyendo el archivo de configuración /etc/freeradius/modules/exec incluyendo el archivo de configuración /etc/freeradius/modules/pap incluyendo el archivo de configuración /etc/freeradius/modules/cui incluyendo el archivo de configuración /etc/freeradius/modules/dynamic_clients incluyendo el archivo de configuración /etc/freeradius/modules/radutmp incluyendo el archivo de configuración /etc/freeradius/modules/acct_unique incluyendo el archivo de configuración /etc/freeradius/modules/ippool ADVERTENCIA: No se encontró tal elemento de configuración db_dir /etc/freeradius/modules/ippool[47]: Referencia "${db_dir}/db.ippool" no encontrada Errores al leer /etc/freeradius/radiusd.conf
      0
    2. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      OK,
      Si le soy de los logs, ¿utilizas ippools (grupos de direcciones IP) para tu configuración?
      Aparentemente, utilizas el módulo db.ippool que requiere una base de datos aparte para gestionar grupos de direcciones IP y no creo que sea eso lo que quieres, ¿verdad?

      Si no está en el programa, simplemente desactiva el módulo db.ippool en el archivo /modules/ippool.
      0
    3. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Genial! Luego tuve otro error que solucioné. Pero este no tengo ni idea.

      freeradius -X FreeRADIUS Version 2.1.12, para host x86_64-pc-linux-gnu, construido el 11 de sep de 2012 a las 22:27:05 Copyright (C) 1999-2009 El proyecto de servidor FreeRADIUS y contribuyentes. No hay garantía; ni siquiera para COMERCIALIZABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Puede redistribuir copias de FreeRADIUS bajo los términos de la GNU General Public License v2. Iniciando - leyendo archivos de configuración ... incluyendo el archivo de configuración /etc/freeradius/radiusd.conf incluyendo el archivo de configuración /etc/freeradius/proxy.conf incluyendo el archivo de configuración /etc/freeradius/clients.conf incluyendo el archivo de configuración /etc/freeradius/snmp.conf incluyendo archivos en el directorio /etc/freeradius/modules/ incluyendo el archivo de configuración /etc/freeradius/modules/ldap incluyendo el archivo de configuración /etc/freeradius/modules/detail.example.com incluyendo el archivo de configuración /etc/freeradius/modules/exec incluyendo el archivo de configuración /etc/freeradius/modules/pap incluyendo el archivo de configuración /etc/freeradius/modules/cui incluyendo el archivo de configuración /etc/freeradius/modules/dynamic_clients incluyendo el archivo de configuración /etc/freeradius/modules/radutmp incluyendo el archivo de configuración /etc/freeradius/modules/acct_unique incluyendo el archivo de configuración /etc/freeradius/modules/ippool incluyendo el archivo de configuración /etc/freeradius/modules/detail incluyendo el archivo de configuración /etc/freeradius/modules/pam incluyendo el archivo de configuración /etc/freeradius/modules/opendirectory incluyendo el archivo de configuración /etc/freeradius/modules/krb5 incluyendo el archivo de configuración /etc/freeradius/modules/passwd incluyendo el archivo de configuración /etc/freeradius/modules/mschap incluyendo el archivo de configuración /etc/freeradius/modules/logintime incluyendo el archivo de configuración /etc/freeradius/modules/checkval incluyendo el archivo de configuración /etc/freeradius/modules/unix incluyendo el archivo de configuración /etc/freeradius/modules/perl incluyendo el archivo de configuración /etc/freeradius/modules/wimax incluyendo el archivo de configuración /etc/freeradius/modules/realm incluyendo el archivo de configuración /etc/freeradius/modules/redis incluyendo el archivo de configuración /etc/freeradius/modules/soh incluyendo el archivo de configuración /etc/freeradius/modules/linelog incluyendo el archivo de configuración /etc/freeradius/modules/policy incluyendo el archivo de configuración /etc/freeradius/modules/attr_rewrite incluyendo el archivo de configuración /etc/freeradius/modules/mac2ip incluyendo el archivo de configuración /etc/freeradius/modules/digest incluyendo el archivo de configuración /etc/freeradius/modules/rediswho incluyendo el archivo de configuración /etc/freeradius/modules/preprocess incluyendo el archivo de configuración /etc/freeradius/modules/sqlcounter_expire_on_login incluyendo el archivo de configuración /etc/freeradius/modules/echo incluyendo el archivo de configuración /etc/freeradius/modules/chap incluyendo el archivo de configuración /etc/freeradius/modules/expiration incluyendo el archivo de configuración /etc/freeradius/modules/inner-eap incluyendo el archivo de configuración /etc/freeradius/modules/replicate incluyendo el archivo de configuración /etc/freeradius/modules/expr incluyendo el archivo de configuración /etc/freeradius/modules/counter ADVERTENCIA: No existe tal elemento de configuración db_dir /etc/freeradius/modules/counter[72]: Referencia "${db_dir}/db.daily" no encontrada Errores al leer /etc/freeradius/radiusd.conf


      No conozco este archivo. Así que probé muchas cosas diferentes pero nada ^^" Así que volví a dejar el archivo como si nunca lo hubiera tocado.
      0
    4. Jakscoreur74 Mensajes publicados 45 Estado Miembro 23
       
      Hola, hola,
      Es extraño que tengas un error en tu módulo "counter". ¿Los estás acumulando o qué? ^^
      Así que al igual que con el módulo ippool, no necesitas el módulo counter, a menos que quieras desconectar a tus usuarios en un momento específico. (el módulo counter se utiliza para detener la autenticación y el accounting (el seguimiento) de una persona al final de un tiempo determinado). Si utilizas un portal cautivo, es mejor usar su propio counter, pero es lo mismo, hay que tener una necesidad real.

      Si no lo necesitas, no deberías usar el módulo counter. Pero por defecto, generalmente no causa problemas.

      Por defecto, tu módulo no debe contener más que las siguientes líneas (además de muchos comentarios):

      counter daily {
      filename = ${db_dir}/db.daily
      #aparentemente esta línea te da problemas
      key = User-Name
      count-attribute = Act-Session-Time
      reset = daily
      counter-name = Daily-Session-Time
      check-name = Max-Daily-Session
      reply-name = Session-Timeout
      allowed-servicetype = Framed-User
      cache-size = 5000
      0
    5. Usbeth Mensajes publicados 68 Fecha de registro   Estado Miembro Última intervención  
       
      ¡Yop!

      ¡Sí, confieso! ¡Soy el profesional de los errores xD
      Me gustaría no tener errores, pero bueno ^^"

      He comentado esta línea y está bien. Solo que, para variar, tengo otro error en un archivo

      incluyendo archivo de configuración /etc/freeradius/sql/mysql/dialup.conf No se puede abrir el archivo "/etc/freeradius/sql/mysql/dialup.conf": No existe tal archivo o directorio Errores al leer /etc/freeradius/radiusd.conf

      ¡Voy a conseguir vencer freeradius! Estoy casi allí, lo siento. Y trataré de encontrar este error

      ¡Edit!

      ¡Encontrado! :D
      Como no uso sql, comenté una línea que incluía los archivos sql.
      Y tengo otro error xDDDD
      ¡Estoy cansadísimo!
      incluyendo archivo de configuración /etc/freeradius/sites-enabled/default main { user = "radiusd" group = "radiusd" allow_core_dumps = no } freeradius: No se puede obtener ID para el grupo radiusd: Éxito

      ¡Vamos a hacerlo!
      0
  • 1
  • 2