La Raspberry Pi se puede configurar como un punto de acceso Wi-Fi. Esta función es útil cuando la Raspberry Pi no tiene acceso a una red WiFi y desea conectarse a ella localmente. En este tutorial, veremos cómo configurar la Raspberry Pi para generar su propia red WiFi.
Hardware
- Raspberry Pi (3B+, 4)
- Tarjeta SD de 32 GB
- Alimentación 5V 3A
- Pantalla HDMI+teclado+ratón o acceso remoto (SSH, VNC, NoMachine)
Instalación de paquetes para la configuración de puntos de acceso
sudo apt update && sudo apt upgrade
Para configurar el punto de acceso, es necesario instalar los siguientes paquetes
sudo apt install hostapd dnsmasq
A continuación, puede desenmascarar y activar el servicio hostapd
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
Para el resto de este tutorial, tenemos que elegir una dirección IP fija para la Raspberry Pi. Aquí elegimos 10.142.2.1
Configuración de la Raspberry Pi como punto de acceso (Headless)
- Configurar wpa_supplicant
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=FR network={ ssid="NETWORK-NAME" psk="NETWORK-PWD" }
- Configurar dhcpcd
sudo nano /etc/dhcpcd.conf
# RaspAP default configuration hostname clientid persistent option rapid_commit option domain_name_servers, domain_name, domain_search, host_name option classless_static_routes option ntp_servers require dhcp_server_identifier slaac private # RaspAP wlan0 configuration interface wlan0 static ip_address=10.142.2.1/24 nohook wpa_supplicant
- configurar hostapd
sudo nano /etc/hostapd/hostapd.conf
interface=wlan0 ssid=NETWORK-NAME wpa_passphrase=NETWORK-PWD country_code=FR wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP wpa_pairwise=CCMP driver=nl80211 hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 ## RaspAP wireless client AP mode #interface=uap0 ## RaspAP bridge AP mode (disabled by default) #bridge=br0
Para activar el servicio hostapd, debe especificar la ruta al archivo de configuración
sudo nano /etc/default/hostapd
Descomente la línea DAEMON-CONF y añada la ruta al archivo de configuración
DAEMON_CONF="/etc/hostapd/hostapd.conf"
- configurar dnsmasq
En el archivo dnsmasq.conf, especificaremos un conjunto de direcciones IP disponibles
sudo nano /etc/dnsmasq.conf
interface=wlan0 dhcp-rang=10.142.2.10,10.142.2.200,255.255.255.0,24h domain=wlan address=/gw.wlan/10.142.2.1
A continuación, puede reiniciar su Raspberry para activar el punto de acceso. El icono con las flechas opuestas debería aparecer en el escritorio de la Raspberry.
Y el punto de acceso debe estar disponible en los dispositivos dentro del alcance de la red
Resúmenes de pedidos
sudo apt update && sudo apt upgrade
sudo apt install hostapd dnsmasq
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
sudo nano /etc/dhcpcd.conf
sudo nano /etc/hostapd/hostapd.conf
sudo nano /etc/default/hostapd
Desactivar el modo AP
Para desactivar el modo AP y conectarse a WiFi, basta con comentar los cambios en el archivo
Bonus: Elige un alias local para tu dirección IP
Una vez creado nuestro Punto de Acceso, puedes darle un alias a tu dirección IP. Esto le permite escribir una URL (domain.com) en lugar de la dirección IP para acceder a la Raspberry Pi
Para crear un alias local, definiremos el alias en dos archivos diferentes y lo vincularemos a la dirección IP
- En /etc/dnsmasq.conf
sudo nano /etc/dnsmasq.conf
Al final del archivo, añada la siguiente línea con su dirección IP y el nombre de dominio deseado
cname=midominio.com, 10.142.2.1
- En el archivo /etc/hosts
sudo nano /etc/hosts
Al final del archivo, copie la siguiente línea con su dirección IP y el nombre de dominio deseado
10.142.2.1 midominio.com
Después de reiniciar la Raspberry Pi, puede comprobar la configuración conectándose a través de SSH (no olvide conectarse al punto de acceso de la Raspberry Pi).
ssh pi@mydomain.com
Este procedimiento es muy útil cuando se desea crear un Servidor Web local en su Raspberry Pi. Esto puede permitirte acceder a una página web, alojada en la Raspberry Pi y servida por Flask, escribiendo una URL en tu navegador web cuando estés conectado a la misma red.