La Raspberry Pi es versátil, y más con las recientes versiones que ya incorporan conectividad inalámbrica. Este dispositivo, no solo es más económico en comparación con otros, sino que también tiene la capacidad de sustituir a herramientas como un enrutador.
Al configurar la Raspberry Pi como un hub inalámbrico, esta puede desempeñar funciones similares a las de un enrutador.
Aunque no es el dispositivo más robusto, cumple su función y llevar a cabo este proyecto es una experiencia entretenida.
Cómo configurar tu Raspberry Pi para que funcione como hub inalámbrico:
Aunque deberemos sumergirnos en algunos comandos técnicos, este proyecto es bastante sencillo.
En esencia, lo que haremos es emplear Raspbian e instalar algunos programas que dotarán a la Pi de habilidades parecidas a las de un enrutador, permitiéndole, por ejemplo, asignar direcciones IP a los dispositivos que se enlacen a ella.
Paso 1: Configura y actualiza Raspbian.
conecta todos los componentes, abre la terminal y verifica si hay actualizaciones disponibles.
sudo apt-get update
sudo apt-get upgrade
Paso 2: Configuración de hostapd y dnsmasq
Para transformar tu Raspberry Pi en un punto de acceso Wi-Fi, necesitarás instalar dos aplicaciones esenciales: hostapd y dnsmasq. Puedes descargar e instalar estos programas introduciendo los siguientes comandos en la terminal:
sudo apt-get install hostapd
sudo apt-get install dnsmasq
En ambas instancias, deberás pulsar ‘y’ para seguir adelante. hostapd es el software que nos facilita establecer un punto de acceso Wi-Fi con nuestra Raspberry Pi, mientras que dnsmasq es un servidor DHCP y DNS sencillo y práctico.
Antes de proceder a la edición de los archivos de configuración de estas herramientas, es recomendable detener estos servicios para evitar conflictos:
sudo systemctl stop hostapd
sudo systemctl stop dnsmasq
Paso 3: Establecer una dirección IP fija para la interfaz wlan0
Asumiendo que estaremos utilizando direcciones IP convencionales de una red doméstica, tales como 192.168.###.###, vamos a designar la dirección IP 192.168.0.10 para la interfaz wlan0.
Para ello, modificaremos el archivo de configuración dhcpcd. Puedes iniciar la edición con el siguiente comando:
sudo nano /etc/dhcpcd.conf
Ahora que estás en el archivo, agrega las siguientes líneas al final:
interface wlan0
static ip_address=192.168.0.10/24
denyinterfaces eth0
denyinterfaces wlan0
Las dos últimas líneas son esenciales para el correcto funcionamiento de nuestro puente, pero profundizaremos en este tema en el Paso 8).
Una vez realizado el cambio, pulsa Ctrl+X, seguido de Y y finalmente Enter. Esto te permitirá guardar los cambios y cerrar el editor.
Paso 4: Establecer el servidor DHCP con dnsmasq
Utilizaremos dnsmasq como nuestro servidor DHCP. La función principal de un servidor DHCP es asignar de manera dinámica los parámetros de configuración de red, como direcciones IP, a diferentes interfaces y servicios.
El archivo de configuración por defecto de dnsmasq está repleto de datos que no necesitamos. Por ello, es más conveniente comenzar de cero. Renombremos el archivo original de configuración y procedamos a crear uno nuevo:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
Ahora editará un archivo nuevo y, con el antiguo renombrado, este será el archivo de configuración que usará dnsmasq.
Escriba estas líneas en su nuevo archivo de configuración:
interface=wlan0
dhcp-range=192.168.0.11,192.168.0.30,255.255.255.0,24h
Las líneas que agregamos significan que proporcionaremos direcciones IP entre 192.168.0.11 y 192.168.0.30 para la interfaz wlan0.
Paso 5: Configurar el soft de punto de acceso (hostapd)
Esta vez, vamos a jugar con el archivo de configuración hostapd.
sudo nano /etc/hostapd/hostapd.conf
Esto debería ser al crear un archivo nuevo. Escribe esto:
interface=wlan0
bridge=br0
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2 wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP rsn_pairwise=CCMP
ssid=NETWORK
wpa_passphrase=PASSWORD
Tenga en cuenta que donde tengo “NETWORK” y “PASSWORD“, usted debe crear sus propios nombres. Así es como te unirás a la red de Pi desde otros dispositivos.
Aún nos queda mostrar al sistema la ubicación del archivo de configuración:
sudo nano /etc/default/hostapd
En este archivo, localice la línea que dice #DAEMON_CONF=”” – elimine ese # y coloque la ruta a nuestro archivo de configuración entre comillas, para que se vea así:
DAEMON_CONF=”/etc/hostapd/hostapd.conf”
El # evita que la línea se lea como código, por lo que básicamente le estás dando vida a esta línea mientras le das la ruta correcta a nuestro archivo de configuración.
Paso 6: configurar el reenvío de tráfico
La idea aquí es que cuando te conectes a tu Pi, reenviará el tráfico a través de tu cable Ethernet.
Entonces vamos a reenviar wlan0 a través de un cable Ethernet a su módem. Esto implica editar otro archivo de configuración:
sudo nano /etc/sysctl.conf
Ahora encuentra esta línea:
#net.ipv4.ip_forward=1
…y elimina el “#” – dejando el resto, para que simplemente diga:
net.ipv4.ip_forward=1
Paso 7: agregue una nueva regla de iptables
A continuación, agregaremos enmascaramiento de IP para el tráfico saliente en eth0 usando iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
…y guarda la nueva regla de iptables:
sudo sh -c “iptables-save > /etc/iptables.ipv4.nat”
Para cargar la regla en el arranque, necesitamos editar el archivo /etc/rc.local y agregar la siguiente
línea justo encima de la línea exit 0:
iptables-restore < /etc/iptables.ipv4.nat
Paso 8: habilite la conexión a Internet
Ahora la Raspberry Pi actúa como un punto de acceso al que se pueden conectar otros dispositivos. Sin embargo, esos dispositivos aún no pueden usar el Pi para acceder a Internet.
Para que esto sea posible, necesitamos construir un puente que pase todo el tráfico entre las interfaces wlan0 y eth0.
Para construir el puente, instalemos un paquete más:
sudo apt-get install bridge-utils
Estamos listos para agregar un nuevo puente (llamado br0):
sudo brctl addbr br0
A continuación, conectaremos la interfaz eth0 a nuestro puente:
sudo brctl addif br0 eth0
Finalmente, editemos el archivo de interfaces:
sudo nano /etc/network/interfaces
…y agregue las siguientes líneas al final del archivo:
auto br0
iface br0 inet
manual bridge_ports eth0 wlan0
Paso 9: reiniciar
Ahora que estamos listos, reiniciemos con sudo reboot.
Ahora tu Pi debería funcionar como un punto de acceso inalámbrico.
Pruébelo saltando a otro dispositivo y buscando el nombre de red que utilizó en el paso 5.