Frambuesa Pi, CoovaChilli Freeradius y por un punto de acceso WiFi con portal cautivo

Para facilidad de punto de acceso automático, visita El artículo aquí.

 

Te dije que hay un tiempo para hacer un punto d & rsquo; el acceso Wifi en PHP y conexiones de control. Sólo si el principio era simple, el resultado de & rsquo; era demasiado puede ser un poco demasiado. Así aujourd y rsquo; hui instalar una herramienta mucho más éxito : CoovaChilli.

WiFi-Hotspot-Frambuesa Pi

Atención : este artículo es largo, muy largo…

Ese y rsquo; hacer CoovaChilli ?

CoovaChilli es la versión OpenSource del proyecto Chillispot. Ofrece una interfaz de usuario para autenticar a los usuarios que se conectan a un punto de acceso (no necesariamente Wifi). Él l & rsquo; ventaja de no requerir ningún módulos específicos dentro del kernel, Gestión AAA se delega a un servidor RADIUS (no ou locales) y y rsquo; la autenticación OAuth (no han sido evaluados por su servidor).

En resumen, todo lo que hace y rsquo; que se necesita para manejar su punto de acceso (incluyendo la autenticación 802.1x o la dirección MAC) !

Ese y rsquo; es que FreeRadius ?

FreeRadius (versión OpenSource de RADIUS) permite tener en su servidor / máquina de un protocolo de red que se utiliza para gestionar las cuentas de autenticación de usuario y de. Controla el acceso (autenticación) pero d & rsquo; supervisar el uso y d & rsquo; se aplica la normativa de y rsquo; la aprobación o el rechazo en base y rsquo; atributos como la y rsquo; tiempo, la duración, el volumen de datos, etc.. La famosa AAA : autenticación, autorización, y contabilidad

Instalación

Lo que usted necesita :

  • Uno Frambuesa Pi con su tarjeta SD (mínimo de 2 Gb)
  • Uno Adaptador Wifi. Recuerde comprobar su compatibilidad con el Raspberry cuando el y rsquo; compra ! Por otra parte, el tamaño de clave jugará sobre su alcance y la tarifa propuesta. Podría llevarte Clave Wifi con antena integrada. En este caso ONU Alimente concentrador USB puede ser útil.
  • Un cable Ethernet para conectarse a su router de frambuesa. Es a través de esta conexión que la frambuesa debe tener acceso a Internet (y la SSH debe estar disponible)

La conexión con el punto de acceso está encendido y rsquo; interfaz WiFi. La frambuesa debe estar conectado a Internet a través de cable Ethernet. C & rsquo; es d & rsquo; de lo contrario le voy a conectar a través de SSH l & rsquo; la instalación y configuración.

Para d & rsquo sistema de operación, j & rsquo; han instalado un Raspbian minimalista por la red para que y rsquo; que está actualizado. Usted encontrará todos los pasos aquí.

El Wifi

Es S & rsquo; es configurar su punto de acceso wifi dongle para poder oficina. J & rsquo; Ralink RT5370 utiliza una clave:

RALink Technology, Corp. Adaptador inalámbrico RT5370

El uso de un componente predeterminado sin soporte así que tuvimos que establecer un módulo antes de configurar y rsquo; interfaz :

  1. Descargar el módulo para apoyar el RT2870 (si lo necesitas !)
    wget "http://git.kernel.org/?p = linux / kernel / git / firmware / linux-firmware.git;a = blob_plain;f = rt2870.bin" -O /lib/firmware/rt2870.bin
  2. Desactivar el modo turbo que plantea problemas de estabilidad (si utiliza una clave con un chipset RT2870)
    de bash -c "Opciones de eco smsc95xx turbo_mode = N > /etc / modprobe.d / smscnonturbo.conf"
  3. Puede reiniciar la frambuesa por se admite el módulo. El comando “ifconfig -a” se anuncie su nueva interfaz.
  4. Recuerde verificar que esta clave se puede utilizar como un punto y rsquo; el acceso (C & rsquo; sigue siendo la meta !) :
    • Descargar herramientas y en para obtener información sobre su Wifi clave
      wget https://www.kernel.org/pub/software/network/iw/iw-3.14.tar.gz
      tar zxvf iw-3.14.tar.gz
      cd iw-3.14
      hacer
    • Ahora puede probar si su clave soporta el modo de punto de acceso Wi-Fi con el control y listas

      Si usted tiene "AP" (Punto de acceso) en los modos de apoyo, Ganó !
  5. Por ahora configurar esta interfaz, usted tiene que editar el archivo /etc/network/interfaces y añade la siguiente configuración al final del archivo :
    wlan0 auto
    allow-hotplug wlan0
    del iface wlan0 inet static
        dirección 192.168.10.1
        máscara de red 255.255.255.0
        red 192.168.10.0
        puesto en marcha eco 1 > /proc/sys/net/ipv4/ip_forward
    

    Se establece la red 192.168.10.0 como la vinculada a la y rsquo; interfaz WiFi. Su clave será el router de red. Y se habilita la y rsquo; obligar a la expedición del IP y rsquo; s interfaz inalámbrica y rsquo; interfaz Ethernet.

  6. Por último hay que activar la y rsquo; nivel de sistema reenvío IP. Creo que duplica la puesto en marcha de l & rsquo; interfaz, pero mejor prevenir. Quite el carácter # En línea 29 archivo /sysctl.conf :
    net.ip4.ip_forward = 1

    Para obtener asistencia inmediata, ejecute el comando

    /etc / init.d / networking restart

Freeradius

  1. Preparación y rsquo; la instalación de paquetes. Mysql contraseña se establece en “Raspbian”. Por supuesto que puedes poner lo que quieras, pero recuerda que cambiar el valor en diferentes direcciones en la base de datos.
    apt-get install -y debconf-utils
    debconf-set-selections <<< 'Mysql-server mysql-server / contraseña contraseña_root raspbian'
    debconf-set-selections <<< 'Mysql-server mysql-server / contraseña root_password_again raspbian'
    apt-get install debhelper -y freeradius libssl-dev libcurl4-gnutls-dev mysql-server-freeradius mysql gcc hacer libnl1 libnl-dev iptables pkg-config
  2. Configuración de FreeRadius :
    1. La creación de la base de datos en MySQL dedicado a FreeRadius. Debe introducir la contraseña se le preguntó durante la y rsquo; instalación de MySQL.
      Eco "crear radio de la base de datos;" | mysql -u root -praspbian
    2. Instalación de la radio de esquema de base de que acabamos de crear
      mysql -u root radio -praspbian < /etc / freeradius / sql / mysql / schema.sql
    3. Instalación de la parte y rsquo; la administración. Esto creará un usuario y rsquo; administración y darle todos los derechos necesarios.
      mysql -u root radio -praspbian < /etc / freeradius / sql / mysql / admin.sql
    4. Instalación de mesas adicionales para NAS
      mysql -u root radio -praspbian < /etc / freeradius / sql / mysql / nas.sql
    5. Edite el archivo /etc / freeradius / radiusd.conf para cargar el módulo de SQL. Tenemos que elimine la línea 700 :
      módulo de SQL freeradius
    6. Debe habilitar y rsquo; la autenticación de base de datos MySQL. ¿Por qué editar el archivo /etc / freeradius / sites-enabled / default y buscar líneas donde sql se comenta. En la I & rsquo; he encontrado tres veces en líneas 177, 406 y 454. Quita la comentada quitando # Al comienzo de cada línea de.
    7. Ahora puede probar la configuración al detener y reiniciar el modo FreeRadius Depuración.
      parada freeradius servicio

      Entonces

      freeradius -X

      Si usted don & rsquo; no tienen y rsquo; & rsquo error c; es champán !
      freeradius listo

    8. Vamos a hacer una prueba de conexión. Para esto, vamos a crear un usuario de prueba prueba de usuario con su contraseña passwd
      Eco "insertar en radcheck (nombre de usuario, atributo, en, valor) valores ('UserTest', 'Cleartext-contraseña', ':=, 'Passwd');" | mysql -u root radio -praspbian

      Y ahora para poner a prueba utiliza el comando

      radtest UserTest passwd localhost 0 testing123

      El valor testing123 viene de la /etc/freeradius/clients.conf archivo de configuración. C & rsquo; es la palabra “secreto” que será utilizada para asegurar la conexión entre FreeRadius y lo que s y rsquo; llamada NAS, que capturar las conexiones.
      Usted tendrá que cambiar este valor al instalar el punto de acceso “producción” !
      radtest freeradius

CoovaChilli

  1. Compilación y instalación de CoovaChilli
    1. Download & rsquo; Archivo
      cd / usr / src
      wget https://coova.github.io/Download/coova-chilli-1.3.0.tar.gz
      tar zxvf Coova-chile-1.3.0.tar.gz
      cd Coova-chile-1.3.0
    2. Comience la configuración para la compilación
      export CFLAGS ="-Wno de errores"
      ./configure --prefix = / usr --mandir =  $${prefijo}/share / man \
      --INFODIR =  $${prefijo}/share / info \
      --sysconfdir = / etc --localstatedir = / var --enable-largelimits \
      --enable-binstatusfile --enable-statusfile --enable-chilliproxy \
      --enable-chilliradsec --enable-chilliredir --with-openssl --with-curl \
      --con-poll --enable-dhcpopt --enable-dnslog --enable sessgarden \
      --enable-ipwhitelist --enable-redirdnsreq --enable-miniconfig \
      --enable-libjson --enable-layer3 --enable-proxyvsa --enable-MiniPortal \
      --enable-chilliscript --enable-EAPOL --enable-uamdomainfile \
      --permitan módulos --enable-MultiRoute
      
    3. Cambie el nivel de compatibilidad para la compilación
      Eco 9 > debian / compat
    4. Cambie al directorio en el paquete se creará mediante el cambio de la línea 54 archivo /usr / src / coova-chile-1.3.0 / debian / rules :
      $(HACER) DESTDIR = / install
    5. Inicie la compilación
      dpkg-buildpackage -us -uc

      Usted debe obtener un paquete listo para su instalación (después 15 minutos en un modelo de 512Mb B)!

    6. Instale el paquete
      CD ..
      dpkg -i coova-chilli_1.3.0_armhf.deb

      Uso y rsquo; opción ALLÍ cuando se le preguntará. L & rsquo; error en el final es normal porque don & rsquo; no hemos fijado CoovaChilli yn y rsquo; sin (en principio)
      Captura de pantalla 2015-07-15 Para 21.00.48

  2. Et instalación Compilación de Haserl. Es S & rsquo; d es y rsquo; una herramienta de UNIX o script LUA generará script CGI. Es necesario para la operación del CoovaChilli.
    1. Descargar haserl
      cd / usr / src
      wget http://downloads.sourceforge.net/project/haserl/haserl-devel/haserl-0.9.35.tar.gz
      toma haserl -zxvf-0.9.35.tar.gz
      haserl cd-0.9.35
    2. Compilar e instalar haserl
      ./Configura && hacer && hacer instalar
  3. Configurar CoovaChilli
    1. Al final del archivo /etc/chilli/up.sh agregue la línea
      iptables -I POSTROUTING -t nat -o $ HS_WANIF -j MASQUERADE

      Permitirá transferir lo que ocurre hacia el Wifi y rsquo; Ethernet

    2. En el archivo /etc / default / chile reemplazando
      START_CHILLI = 0

      por

      START_CHILLI = 1

      Esto permite que los CoovaChilli arranque

    3. En el archivo /etc / chile / wwwsh debemos dar la y rsquo; haserl ubicación exacta de la línea 9
      haserl = / usr / local / bin / haserl
    4. En el / etc / chile / config es la configuración principal Chilli. ¿Dónde va a ser capaz de definir qué interfaces se utilizan, qué red, etc.. Algunos de los valores siguientes se comentan de forma predeterminada, por lo tanto eliminará # a partir de la línea de ser necesario. Y estos valores no se agrupan en el mismo lugar.
      HS_WANIF = eth0
      HS_LANIF = wlan0
      HS_NETWORK = 192.168.10.0
      HS_UAMLISTEN = 192.168.10.1
      HS_UAMALLOW = 192.168.10.0 / 24
      HS_SSID = PiHomeServerAP

      Los detalles de los ajustes configurados :
      HS_WANIF es la interfaz conectada a Internet
      HS_LANIF est l & rsquo; interfaz du Wifi / Hotspot
      HS_NETWORK la red de punto de acceso
      HS_UAMLISTEN la pasarela de red punto de acceso
      Red de hotspots HS_UAMALLOW IP permite conectarse
      HS_SSID le SSID (parece tener d & rsquo; efecto)

    5. Hacer la última apertura
      update-rc.d inicio de chile 99 2 3 4 5 . parada 20 0 1 6 .
  4. Inicie el servicio
    inicio de chile servicio

    Con el comando ifconfig debería ver una interfaz tun0 confirmando que CoovaChilli es bien ejecutado.
    Captura de pantalla 2015-07-15 Para 21.29.18

Hostapd

  1. Para que su d & rsquo; el acceso WiFi visibles, instalaremos hostapd que va a hacer todo el trabajo
    apt-get install -y hostapd
  2. Edite el archivo /etc/default/hostapd y añadir al final :
    DAEMON_CONF ="/etc/hostapd/hostapd.conf"
  3. Edite el archivo /etc/hostapd/hostapd.conf (que N & rsquo; todavía no existe) y copiar las siguientes líneas :
    # interfaz wlan Wi-Fi du interfaz wlan0 =
    # controlador nl80211 avec tous les controladores Linux mac80211 = nl80211
    # Nom du spot Wi-Fi ssid = PiHomeServerAP
    # Wi - Fi de modo (un = IEEE 802.11 ha, b = IEEE 802. 11b, g = IEEE 802.11 g)
    hw_mode = g
    # Wi - Fi frecuencia canal (1-14)
    Canal = 6
    # Wi - Fi abierta, sin autenticación !
    auth_algs = 1
    # Intervalo de baliza en kus (1.024 MS)
    beacon_int = 100
    # DTIM (mensaje de información de tráfico de entrega)
    dtim_period = 2
    # Número máximo de estaciones en estación mesa max_num_sta = 255
    # Umbral RTS/CTS; 2347 = disabled (por defecto)
    rts_threshold = 2347
    # Umbral de fragmentación; 2346 = disabled (por defecto)
    fragm_threshold = 2346
  4. Puede iniciar manualmente el servicio
    servicio Inicio hostapd

Aquí llegamos al final de la configuración ! Ufff ! Es el momento de probar la conexión (con el usuario creado anteriormente : prueba de usuario / passwd) :

  1. Conectarse a punto y rsquo; el acceso
    Frambuesa Pi hotspot selección SSID
  2. Usted tendrá automáticamente una ventana de redirección (en mi Mac. IPhone / iPad / Windows debe tratar y rsquo; acceder a Internet a través del navegador)
    Frambuesa Pi punto de acceso de redirección
  3. Introduzca su nombre de usuario (prueba de usuario / passwd)
    frambuesa pi punto de acceso de inicio de sesión
  4. A continuación, tendrá pantallas que confirman la conexión
    éxito pi punto de acceso de frambuesa Frambuesa Pi extremo éxito hotspot
  5. Para que las alegrías d & rsquo; el Internet Internet !
    Frambuesa Pi punto de acceso wifi a Internet freeradius coovachilli

Prima : daloRADIUS

Ok, pero algunos d & rsquo; usted me pregunte : “sí, pero cómo me las arreglo usuarios ?”, “Tengo que hacer una consulta SQL cada vez que ?”. En teoría sí ! Es N & rsquo; no hay y rsquo es; interfaz predeterminada para FreeRadius. Excepto que … hay planes para ayudarle. Y daloRadius es uno de ! A través de una interfaz web que usted será capaz de gestionar los usuarios, gestionar sus derechos, Horas de inicio de sesión, débitos autorizados, etc..

  1. Instalar a un servidor web. Mi favorito sigue siendo Nginx.
    apt-get install -y php5-mysql php-pear php5-gd php-db php5-fpm libgd2-xpm-dev libpcrecpp0 libxpm4 nginx php5-xcache
    apt-get remove -y apache2.2-bin apache2-utils apache2.2-common
  2. Descarga daloRadius
    cd / usr / src
    wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
    toma daloradius -zxvf-0.9-9.tar.gz -C / usr / share / nginx / www /
    mv / usr / share / nginx / www / daloradius-0.9-9 /usr / share / nginx / www / daloradius
    cd / usr / share / nginx / www / daloradius
  3. Añadir la información utilizada por daloRadius la base de datos FreeRadius
    mysql -u root radio -praspbian < /usr / share / nginx / www / daloradius / contrib / db / fr2-mysql-daloradius-y-freeradius.sql
    mysql -u root -praspbian
    GRANT ALL ON radio. * A 'radio' @ 'localhost';
    GRANT ALL ON radio. * A 'radius'@'127.0.01';
    salida;
  4. En el archivo /usr / share / nginx / www / daloradius / biblioteca / daloradius.conf.php se define el derecho d & rsquo; el acceso a la base de datos (Aquí impagos)
    $configValues['CONFIG_DB_USER'] = 'Radio';
    $configValues['CONFIG_DB_PASS'] = Radpass ';
    $configValues['CONFIG_DB_NAME'] = 'Radio';
  5. Actualización de la configuración del sitio predeterminado, permitiendo soporte para PHP. Es la información que se añade (o eliminar los comentarios) en la sección Servidor.
    En la línea 25 (siempre por defecto)
Índice index.php index.html index.htm;

Y habilitar el soporte de PHP

Ubicación ~ .php$ {
fastcgi_split_path_info ^(.+\.PHP)(/.+)$;
fastcgi_pass unix:/var/run/PHP5-fpm.sock;
fastcgi_index index.php;
incluyen fastcgi_params;
}
  • Redémarrez Nginx
    Reinicio del servicio nginx
  • Ahora puede iniciar la sesión http://<ip de votre frambuesa>/daloradius
    Iniciar sesión : administrador / Contraseña : radio

Así que ahora la forma de crear un usuario ? Nada más sencillo :

  1. Inicio de sesión y vaya a la y rsquo; pestaña Administración
    punto de acceso de frambuesa pi gestión daloradius
  2. Introducir el Nombre de usuario Entonces Contraseña y haga clic en Aplicar. Usted puede elegir, por supuesto, el tipo d & rsquo; cifrado de la contraseña, introducir información sobre el usuario y … Atributos. Vamos a volver más tarde (sí que doesn y rsquo; aún no está terminado !)
    Frambuesa Pi hotspot gestión daloradius Crear usuario

Ahora puede utilizar este identificador. Aparece en la lista de usuarios con una hermosa bandera verde para indicar que y rsquo; el usuario está habilitado.Frambuesa Pi usuarios de la lista de gestión de punto de acceso daloradius

Doble bono : atributos

Tenemos un punto de acceso Wi-Fi, servicio d & rsquo; autenticación, una interfaz de gestión de usuarios. Pero ¿cómo se define conexiones horas ? Un tiempo de conexión ? Un volumen de datos máximo ? En resumen, no es todo incluido bar abierto !

Todo lo que sucede en los atributos asociados a un usuario. In & rsquo; interfaz daloRadius, puede editar un usuario y agregar atributos.

atributos daloradius coovachilli punto de acceso de frambuesa pi

Arriba, j & rsquo; & rsquo añaden a; Usuario PI, l & rsquo; atributo Entrar en tiempo con el valor Wk1800-2100. L & rsquo; el usuario puede conectarse como 18:00 Para 21:00 de lunes a viernes. Usted puede ir más lejos : “Wk0855-2355, Sa,Su1655-2305”, día de la semana 08:55 Para 23:55, Sábado y domingo 16:55 Para 23:05.

Puede encontrar más detalles sobre ciertos atributos aquí. Los más comunes : Entrar en tiempo, Simultánea-Uso, Caducidad. Por desgracia no he encontrado un lugar donde todos los atributos se detallan con sus significados y valores posibles. Si usted tiene un enlace N & rsquo; por favor comparta en los comentarios.

Si se llega al final de este artículo usted se merece una medalla ! Pero ahora tiene un gran frambuesa dentro hotspot !

Siguiente paso : intégrer comme Squid proxy transparente ?

Fuentes :

  • HTTPS://www.raspberrypi.org/ forums/viewtopic.php?t = 24105&p = 224789
  • http://doc.ubuntu-fr.org/coovachilli
  • http://ehc.ac/p/radiusdesk/wiki/install_ubuntu_nginx/?Versión = 14 # install-radiusdesk
  • http://www.binaryheartbeat.net/2013/12/raspberry-pi-based-freeradius-server.html
  • Google, Bing, duckduck, etc..

Posiblemente le gustan también....