Ya que tenemos a raspberry pi siempre encendido, podemos asignarle funciones que requieren de esta característica. En mi caso me pareció interesante que actuara de punto de acceso y de esta manera ahorrarme un dispositivo encendido 24×7.
Para que actúe de AP es necesario instalar un usb wlan con chipset compatible. En mi caso he optado por uno de Tenda, en concreto el modelo W311MI, que además de ser de reducido tamaño no necesita alimentación adicional.
Si se lanza un lsusb se puede observar que el kernel lo reconoce correctamente.
pi@pi ~ $ lsusb Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Para comunicar el tráfico que circula por cada uno de los interfaces (eth0 wlan0), se puede optar por hacer un enrutamiento con control de tráfico con iptables, o por hacer un bridge que haga todo el tráfico transparente.
Para generar el bridge es necesaria la instalación de ciertos paquetes además de su correspondiente configuración.
# sudo apt-get install bridge-utils # sudo brctl addbr br0 # sudo brctl addif br0 wlan0 eth0
pi@pi ~ $ vi /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet manual iface wlan0 inet manual #Configuración bridge auto br0 iface br0 inet static bridge_ports eth0 mon.wlan0 address YOUR_IP_ADDRESS broadcast YOUR_BROADCAST netmask YOUR_NETMASK gateway YOUR_GATEWAY
Para gestionar la parte de punto de acceso el software más utilizado es hostapd. Este demonio establece el modo monitor del interfaz wlan y acepta a los clientes según la configuración de hostapd.conf
sudo apt-get install hostapd
pi@pi ~ $ vi /etc/hostapd/hostapd.conf interface=wlan0 driver=nl80211 bridge=br0 ssid=YOUR_SSID hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=YOUR_PASSPHRASE wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
El conjunto es muy estable, siempre un cuando el número de clientes no sea muy elevado. En mi caso funciona sin incidencia alguna con 6 clientes.