Cómo Crear un REPETIDOR Wi-Fi con Raspberry Pi (Paso a Paso con RaspAP)

Nota: En calidad de Afiliado, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables. Algunos de los enlaces de esta página son enlaces de afiliado, lo que significa que si compras a través de ellos, gano una pequeña comisión sin ningún coste adicional para ti.

Montar un router de viaje portátil con una Raspberry Pi 4 te permite crear una red Wi-Fi privada y segura para todos tus dispositivos cuando estás en un hotel, apartamento o cafetería. Utilizando la tarjeta Wi-Fi interna (wlan0) como punto de acceso y un adaptador Wi-Fi USB (wlan1) como cliente para recibir internet, solo necesitas autenticar la Raspberry una vez para que todo tu ecosistema navegue.

1. Requisitos previos

  • Raspberry Pi 4 con Raspberry Pi OS (Lite o Desktop) instalado.
  • Adaptador Wi-Fi USB compatible (se identificará como wlan1).
  • Conexión a internet por cable o Wi-Fi para la instalación inicial.

2. Instalación de RaspAP

Conéctate por SSH a la Raspberry Pi y ejecuta el instalador oficial desatendido:

curl -sL https://install.raspap.com | bash

Acepta los valores por defecto durante el asistente. Al finalizar, reinicia el sistema:

sudo reboot

Accesos por defecto

  • Panel de administración: [http://10.3.141.1]
  • Usuario: admin
  • Contraseña: secret
  • SSID Wi-Fi emitido: raspi-webgui
  • Contraseña Wi-Fi: ChangeMe

3. Configuración de Doble Interfaz (AP + Cliente)

Para lograr el modo repetidor independiente:

  1. Punto de acceso local (wlan0):
    • En Hotspot > Basic, asigna tu SSID y contraseña personalizada.
    • En DHCP Server > Server settings, verifica que esté activo para wlan0 (rango 10.3.141.50 - 10.3.141.254).
  2. Receptor de internet (wlan1):
    • En Wireless Client > Settings, selecciona la interfaz wlan1 y activa Install a default route for this interface.
    • Ve a la pestaña Scan, selecciona la red externa del hotel o tu móvil y pulsa Connect.

4. Guía de fallos frecuentes y soluciones

Error 1: El punto de acceso no arranca (wlan0: AP-DISABLED o bloqueo de radio)

A veces hostapd falla en el arranque inicial por bloqueos de software o falta del código de país.

  • Solución:
  • # Desbloquear interfaces de radio sudo rfkill unblock all
  • # Asignar código de país regulatorio sudo raspi-config nonint do_wifi_country ES
  • # Desbloquear y reiniciar
  • sudo systemctl unmask
  • sudo systemctl restart hostapd

Error 2: El móvil no puede entrar a http://10.3.141.1, pero el portátil sí

Los teléfonos modernos enrutan el tráfico a través de la red móvil si detectan que la Wi-Fi local no tiene salida validada.

  • Solución:
    • Desactiva temporalmente los datos móviles (4G/5G) en el teléfono.
    • En los ajustes de la Wi-Fi en Android/iOS, cambia la Dirección MAC de Aleatoria a MAC del dispositivo.
    • Desactiva temporalmente el DNS Privado en los ajustes del smartphone.

Error 3: El servicio dnsmasq no arranca (bad dhcp-range in 090_wlan1.conf)

Si RaspAP genera accidentalmente un archivo de asignación DHCP para la antena cliente (wlan1), dnsmasq se bloquea por completo.

  • Solución:
  • sudo rm /etc/dnsmasq.d/090_wlan1.conf
  • sudo systemctl restart dnsmasq

Error 4: Hay ping a IP (8.8.8.8) pero falla la resolución DNS (temporal failure in name resolution)

Ocurre cuando la opción «Only ever query DNS servers configured below» está activada en RaspAP (lo que añade no-resolv al sistema) o cuando el archivo /etc/resolv.conf queda vacío tras un cambio de red.

  • Solución en la interfaz web:
    • En DHCP Server > Advanced, pon en OFF el interruptor Only ever query DNS servers configured below.
  • Solución en terminal:
  • Edita /etc/resolv.conf:
  • sudo nano /etc/resolv.conf
  • Añade DNS públicos globales:
  • nameserver 1.1.1.1
  • nameserver 8.8.8.8
  • Reinicia el servicio: sudo systemctl restart dnsmasq

Error 5: Pérdida del enrutamiento NAT al reiniciar la Raspberry

Para que el tráfico pase sin cortes de wlan0 a wlan1 y la configuración persista:

# Habilitar reenvío IPv4
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/routed-ap.conf

# Configurar reglas de iptables
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
sudo iptables -A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

# Hacer las reglas persistentes tras reinicio
sudo apt-get install -y iptables-persistent
sudo netfilter-persistent save

5. Extra: Script para clonar la MAC y superar portales cautivos

En hoteles con portal cautivo por dispositivo o voucher:

  1. Conecta tu teléfono a la Wi-Fi del hotel y valida el acceso/código en el portal.
  2. Consulta la dirección MAC que usó tu móvil en esa red.
  3. Clona esa MAC en la antena USB (wlan1) de la Raspberry Pi usando este script:

#!/bin/bash
# Uso: sudo ./clonar_mac.sh AA:BB:CC:DD:EE:FF
IFACE="wlan1"
NUEVA_MAC="$1"

if [ -z "$NUEVA_MAC" ]; then
    echo "Uso: sudo $0 <NUEVA_MAC>"
    exit 1
fi

ip link set dev "$IFACE" down
ip link set dev "$IFACE" address "$NUEVA_MAC"
ip link set dev "$IFACE" up
dhcpcd -n "$IFACE" 2>/dev/null

echo "[✔] MAC clonada con éxito en $IFACE: $(ip link show $IFACE | grep ether | awk '{print $2}')"

Categories:


Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *