Configurar una Raspberry Pi como punto de acceso en una red independiente

Desde hace unos días estoy disfrutando de una conexión gracias a mi nuevo Raspberry Pi 3 empleado en modo AP, mis colegas de las batallas del SWL me han pedido que publique un HOW-TO para socializar el procedimiento que seguí para lograrlo y después de unos cuantos tropiezos acá está, espero lo disfruten.

Configurar una Raspberry Pi como punto de acceso en una red independiente

El Raspberry Pi se puede utilizar como un punto de acceso inalámbrico, ejecutando una red independiente. Esto se puede hacer utilizando las funciones inalámbricas incorporadas de la Raspberry Pi 3 o Raspberry Pi Zero W, o mediante el uso de una llave USB inalámbrica adecuada que admita puntos de acceso.

Tenga en cuenta que esta documentación se probó en una Raspberry Pi 3, y es posible que algunos dongles USB necesiten pequeños cambios en sus configuraciones. Si tiene problemas con un dispositivo inalámbrico USB, consulte los foros.

Para funcionar como un punto de acceso, la Raspberry Pi necesitará tener instalado un software de punto de acceso, junto con el software del servidor DHCP para proporcionar a los dispositivos de conexión una dirección de red. Asegúrese de que su Raspberry Pi esté usando una versión actualizada de Raspbian (con fecha de 2017 o posterior).

Use lo siguiente para actualizar su instalación de Raspbian:

sudo apt-get update
sudo apt-get upgrade

Instale todo el software requerido de una vez con este comando:

sudo apt-get install dnsmasq hostapd

Dado que los archivos de configuración aún no están listos, apague el nuevo software de la siguiente manera:

sudo systemctl stop dnsmasq
sudo systemctl stop hostapd

Configurando una IP estática

Estamos configurando una red independiente para que actúe como un servidor, por lo que Raspberry Pi necesita tener una dirección IP estática asignada al puerto inalámbrico. Esta documentación supone que estamos utilizando las direcciones IP estándar 192.168.x.x para nuestra red inalámbrica, por lo que asignaremos al servidor la dirección IP 192.168.4.1. También se supone que el dispositivo inalámbrico que se usa es wlan0.

Para configurar la dirección IP estática, edite el archivo de configuración dhcpcd con:

sudo nano /etc/dhcpcd.conf

Ve al final del archivo y edítalo para que se vea como el siguiente:

interface wlan0
static ip_address = 192.168.4.1/24

Así quedó MI CONFIGURACIÓN
# estatico
interface wlan0
static ip_address=192.168.4.1/24
static routers=
static domain_name_servers=
static domain_search=

# acá configuré mi conexión cableada de acuerdo a los parámetros de mi red

interface eth0
static ip_address=192.168.100.157
static routers=192.168.100.151
static domain_name_servers=192.168.100.151
static domain_search=

Ahora reinicie el daemon dhcpcd para aplicar la configuración de wlan0:

sudo service dhcpcd restart

 

Configurando el servidor DHCP (dnsmasq)

El servicio DHCP es provisto por dnsmasq. De forma predeterminada, el archivo de configuración contiene mucha información que no es necesaria y es más fácil comenzar desde cero. Cambie el nombre de este archivo de configuración y edite uno nuevo:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf

Escriba o copie la siguiente información en el archivo de configuración de dnsmasq y guárdelo:

interface = wlan0 # Usa la interfaz inalámbrica require – usualmente wlan0
dhcp-range = 192.168.4.2,192.168.4.20,255.255.255.0,24h

Así quedó MI CONFIGURACIÓN

interface=wlan0 # Use the require wireless interface – usually wlan0
dhcp-range=192.168.4.20,192.168.4.30,255.255.255.0,24h

Entonces, para wlan0, proporcionaremos direcciones IP entre 192.168.4.20 y 192.168.4.30, con un tiempo de alquiler de 24 horas. Si proporciona servicios DHCP para otros dispositivos de red (por ejemplo, eth0), puede agregar más secciones con el encabezado de interfaz apropiado, con el rango de direcciones que pretende proporcionar a esa interfaz.

Hay muchas más opciones para dnsmasq; ver la documentación dnsmasq para más detalles.
Configuración del software de host del punto de acceso (hostapd)

Debe editar el archivo de configuración hostapd, ubicado en /etc/hostapd/hostapd.conf, para agregar los diversos parámetros para su red inalámbrica. Después de la instalación inicial, este será un archivo nuevo/vacío.

sudo nano /etc/hostapd/hostapd.conf

Agregue la información a continuación al archivo de configuración. Esta configuración asume que estamos usando el canal 7, con un nombre de red de NameOfNetwork, y una contraseña AardvarkBadgerHedgehog. Tenga en cuenta que el nombre y la contraseña no deben tener comillas alrededor de ellos.

interface = wlan0
driver = nl80211
ssid = NameOfNetwork
hw_mode = g
channel = 7
wmm_enabled = 0
macaddr_acl = 0
auth_algs = 1
ignore_broadcast_ssid = 0
wpa = 2
wpa_passphrase = AardvarkBadgerHedgehog
wpa_key_mgmt = WPA-PSK
wpa_pairwise = TKIP
rsn_pairwise = CCMP

Así quedó MI CONFIGURACIÓN
interface=wlan0
driver=nl80211
ssid=MyPi3AP
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=MySuperPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Ahora necesitamos decirle al sistema dónde encontrar este archivo de configuración.

sudo nano /etc/default/hostapd

Busque la línea con #DAEMON_CONF y reemplácela con esto:

DAEMON_CONF = “/etc/hostapd/hostapd.conf”

Ponlo en marcha

Ahora inicia los servicios restantes:

sudo service hostapd start
sudo service dnsmasq start

Añadir enrutamiento y mascarada

Edite /etc/sysctl.conf y elimine el comentario de esta línea:

net.ipv4.ip_forward = 1

Agregue una máscara para el tráfico saliente en eth0:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Guarde la regla de iptables.

sudo sh -c “iptables-save> /etc/iptables.ipv4.nat”

Edite /etc/rc.local y agregue esto justo arriba de “exit 0” para instalar estas reglas en el arranque.

iptables-restore </etc/iptables.ipv4.nat

Reiniciar por completo el Raspberry Pi para que se apliquen todos los cambios al inicio.

Usando un dispositivo inalámbrico, busca redes. El SSID de red que especificó en la configuración de hostapd ahora debería estar presente y debería poder accederse con la contraseña especificada.

Si SSH está habilitado en el punto de acceso Raspberry Pi, debería ser posible conectarse a él de la siguiente manera, suponiendo que la cuenta pi esté presente:

ssh pi@192.168.4.1

En este punto, la Raspberry Pi actúa como un punto de acceso y otros dispositivos pueden asociarse con ella. Los dispositivos asociados pueden acceder al punto de acceso Raspberry Pi a través de su dirección IP para operaciones como rsync, scp o ssh.

¡Listo, ya estoy disfrutando de mi AP!

Pues eso es todo, si presentan alguna dificultad me lo dejan sabebr en los comentarios y trataré de responderles lo antes posible.

Un abrazo a todos.

Share

Deja un comentario

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