AP administrado via web (II)

Volvemos a la carga. En el post anterior  AP administrado via web (I), terminamos configurando mínimamente un servidor FreeRADIUS,  conectado a una MySQL, y un servidor HTTP (Apache2 en nuestro caso) con la aplicación daloRADIUS para administrar nuestro servidor RADIUS. Ahora partimos de dicho punto para terminar de configurar nuestro punto de acceso, para el que necesitaremos:

  • Configurar las interfaces de red
  • Instalar y configurar un servidor DHCP
  • Configurar un NAS en  FreeRADIUS
  • Instalar y configurar hostapd

En nuestro caso disponemos de una interfaz de wlan y otra ethernet. Dejaremos la interfaz ethernet configurada por dhcp y en la interfaz plan estableceremos una ip fija. Hay que tener en cuenta que algunas distribuciones linux disponen de herramientas que gestionan las interfaces de red para facilitar la conexión a la red, en nuestro cómo utilizaremos la interfaz wifi a modo de AP, nos interesará detener este tipo de herramientas/servicios:

root@dalo:~# service network-manager stop
root@dalo:~# ifdown wlan0
root@dalo:~# ifdown eth0

Ahora con la interfaz bajada y el network-manager detenido, configuraremos la interfaz  de red editando el fichero /etc/network/interfaces:

auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0

Para que nuestro punto acceso haga routing entre las dos redes tendremos que activar el reenvío entre interfaces:

echo 1 > /proc/sys/net/ipv4/ip_forward

La linea anterior activaría puntualmente el ip fowarding, para persistir dicho cambio tendríamos que añadir al fichero /etc/sysctl.conf, la siguiente linea:

net.ipv4.ip_forward = 1

Por último volvemos a levantar las interfaces de red

root@dalo:~# ifup wlan0
root@dalo:~# ifup eth0

Ya tenemos las interfaces configuradas y operativas, así que empezaremos a con la instalación y configuración del servidor DHCP. Instalamos el servidor idc-dhcp:

root@dalo:~# apt-get update && apt-get install isc-dhpc-server

Tras instalarlo configuraremos un pool de conexiones sobre la red 192.168.2.0/24 en el fichero /etc/dhcp/dhcpd.conf:

subnet 192.168.2.0 netmask 255.255.255.0 {
 range 192.168.2.10 192.168.2.50;
 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.2.255;
 option routers 192.168.2.1;
}

Por último, arrancamos el servidor:

root@dalo:~# service isc-dhcp-server restart

Ya tenemos DHCP, así que para realizar la autenticación entre hostapd y FreeRADIUS, tendremos que configurar en FreeRADIUS un NAS (Network Access Server, será la labor de hostapd) que se encargará de recibir y tratar las tramas EAPOL (Más información sobre EAP) para delegar en FreeRADIUS la autenticación y autorización:

dalo3

Ya tenemos hostapd configurado en FreeRADIUS, así que ya sólo nos queda instalarlo y configurarlo. Hostapd es un demonio que permite crear puntos de acceso tanto wifi como cableados. En nuestro caso, tal y como hemos comentado anteriormente lo utilizaremos para configurar un punto de acceso wifi con autenticación WPA-EAP que haga uso de un servidor RADIUS. Para instalar el software, utilizaremos apt-get como en casos anteriores:

root@dalo:~# apt-get update && apt-get install hostapd

Después tendremos que configurar el servicio, para lo que tendremos que crear el fichero /etc/hostapd/hostapd.conf con el siguiente contenido:

# Configuracion punto de acceso
ssid=test
channel=12
auth_algs=3
wpa=3
wpa_key_mgmt=WPA-EAP
wpa_pairwise=TKIP CCMP
nai_realm=0,test.com,1
rsn_preauth=1

# Configuracion de hardware y control
hw_mode=b
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0

# Activacion 802.1x
ieee8021x=1
auth_server_addr=127.0.0.1
auth_server_port=1812
auth_server_shared_secret=Secret.1617
# Activamos también el accounting
acct_server_addr=127.0.0.1
acct_server_port=1813
acct_server_shared_secret=Secret.1617

Una vez configurado hostapd, pasamos a configurar el demonio para poderlo arrancar como servicio. Esto se podrá realizar editando el fichero /etc/default/hostapd y dejando la siguiente configuración:

# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information #about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example #configuration
# file can be found at #/usr/share/doc/hostapd/examples/hostapd.conf.gz
#
DAEMON_CONF="/etc/hostapd/hostapd.conf"

# Additional daemon options to be appended to hostapd command:-
# -d show more debug messages (-dd for even more)
# -K include key data in debug messages
# -t include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to #DAEMON_OPTS.
# Acitivamos debug
DAEMON_OPTS="-d"

Por último arrancamos el servicio:

root@dalo:~# service hostapd start

Pues con esto, ya casi hemos terminado, sólo nos quedaría dar de alta un usuario, al que llamaremos cliente1, y probar el acceso:

dalo4

Para probar el acceso y al haber activado el accounting tanto en FreeRADIUS como en hostapd, podremos consultar que los accesos son correctos directamente en daloRADIUS > Accounting > User Accounting:

dalo5

Y con esto podemos dar por concluido este how-to sobre cómo configurar un punto de acceso wifi WPA-EAP con FreeRADIUS y administración web.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s