Tabla de contenido:

Puente WiFi de red empresarial Raspberry Pi: 9 pasos
Puente WiFi de red empresarial Raspberry Pi: 9 pasos

Video: Puente WiFi de red empresarial Raspberry Pi: 9 pasos

Video: Puente WiFi de red empresarial Raspberry Pi: 9 pasos
Video: COMO MONTAR UN PUNTO DE ACCESO WIFI CON RASPBERRY PI 2024, Mes de julio
Anonim
Puente WiFi de red empresarial Raspberry Pi
Puente WiFi de red empresarial Raspberry Pi

Por: Riley Barrett y Dylan Halland

El objetivo de este proyecto es permitir que un dispositivo IoT, como Weemo Smart Plug, Amazon Echo, consola de juegos o cualquier otro dispositivo habilitado para Wi-Fi, se conecte a una red empresarial WPA_EAP mediante el uso de una Raspberry Pi Zero W como paquete. dispositivo de reenvío. Se requieren pasos de configuración adicionales para los dispositivos que se conectan a una red empresarial y muchos dispositivos no son compatibles en absoluto. Al usar un puente Wi-Fi, cualquier dispositivo puede obtener fácilmente acceso a Internet conectándose al Pi.

El sistema se puede implementar en una tarjeta inalámbrica o en dos tarjetas separadas según los requisitos del usuario. Para los sistemas que requieren una mayor intensidad de señal y velocidades de carga / descarga más rápidas, es mejor utilizar una tarjeta inalámbrica dedicada para alojar el punto de acceso. Sin embargo, para sistemas donde la intensidad de la señal y el ancho de banda son menos importantes, o donde se desea una solución más rentable, el punto de acceso y la conexión de red pueden compartir una sola tarjeta.

Suministros

Raspberry Pi Zero W

Acceso a teclado y monitor

Algunos conocimientos de programación (con fines de depuración, configuración de Raspberry Pi)

Adaptador / dongle WiFi externo (opcional)

Paso 1: Configurar la Raspberry Pi

Configuración de la Raspberry Pi
Configuración de la Raspberry Pi

Comience conectando su Pi a un teclado y monitor (puede requerir un adaptador HDMI).

Luego, puede comenzar escribiendo el comando:

sudo su

Esto asegurará que tenga los privilegios necesarios para modificar archivos en el pi.

Ahora querrá instalar dnsmasq y hostapd usando el comando:

apt-get install dnsmasq hostapd

Ahora puede comenzar a configurar el puente WiFi.

NOTA - El siguiente tutorial contendrá información para aquellos que usan la tarjeta inalámbrica integrada para el punto de acceso y para conectarse a la red. También es posible configurar el sistema para que se ejecute en dos tarjetas independientes. Para hacer esto, simplemente busque las líneas "wlan1" comentadas en los archivos proporcionados y sustitúyalas por las líneas vecinas "ap0".

Paso 2: 70-persistent-net.rules

Comience por encontrar la dirección MAC de su pi escribiendo:

iw dev

Crea el siguiente archivo:

nano /etc/udev/rules.d/70-persistent-net.rules

y edítelo para que contenga lo siguiente

SUBSYSTEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN + = "/ sbin / iw phy phy0 interfaz agregue ap0 tipo _ap ", / RUN + =" / bin / ip link set ap0 address b8: 27: eb: c0: 38: 40"

Este archivo le dice al sistema que asigne un dispositivo para el punto de acceso en el arranque. Aquí, la dirección MAC debe reemplazarse con la de su propio pi, que acaba de encontrar.

(Dos tarjetas inalámbricas) Este archivo no es necesario cuando se utilizan dos tarjetas inalámbricas.

Paso 3: Hostapd.conf

A continuación, editará el archivo hostapd.conf ingresando lo siguiente:

nano /etc/hostapd/hostapd.conf

Modifique el archivo para que coincida con la siguiente configuración:

ctrl_interface = / var / ejecutar / hostapd

ctrl_interface_group = 0 # interface = ap0 interface = wlan1 driver = nl80211 ssid = testnet hw_mode = g canal = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgrs = Wpa_key_mgrsm = CCP_pa-CC

Tenga en cuenta que aunque mi canal aquí está configurado en 6, es posible que deba cambiar este valor para que coincida con el canal en el que está wlan0. En algunas redes, el canal se cambiará automáticamente para que el punto de acceso coincida con wlan0, pero esta no fue mi experiencia en la red empresarial. Puede verificar qué canales están actualmente en uso y por qué interfaces escribiendo

canal iwlist

(Dos tarjetas inalámbricas) Simplemente descomente la línea que contiene wlan1 y comente la que contiene ap0.

Paso 4: Dnsmasq.conf

Ahora editará el archivo dnsmasq.conf:

nano /etc/dnsmasq.conf

Descomente o agregue las siguientes líneas:

interfaz = lo, ap0

# interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 dominio-necesario falso-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Puede usar su propia subred aquí si lo desea, solo asegúrese de ser coherente.

(Dos tarjetas WirelessCcards) Descomente la línea que contiene wlan1 y comente la que contiene ap0.

Paso 5: Interfaces

A continuación, deberá modificar el archivo de interfaces:

nano / etc / network / interfaces

auto lo

auto ap0 #auto wlan1 auto wlan0 iface lo inet loopback iface eth0 inet dhcp allow-hotplug ap0 # allow-hotplug wlan1 iface ap0 inet static #iface wlan1 inet static dirección 192.168.2.1 máscara de red 255.255.255.0 hostapd /etc/hostapd/fhostapd. allow-hotplug wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -B -Dwext -i wlan0 -c / etc / wpa_supplicant / wpa_supplicant.conf post-down killall -q wpa_supplicant

Vale la pena señalar que la interfaz wlan0 DEBE venir después de la interfaz a la que le esté reenviando, de lo contrario, el sistema no funcionará correctamente.

(Dos tarjetas inalámbricas) Descomente las líneas que contengan wlan1 y comente las que contengan ap0.

Paso 6: Wpa_supplicant.conf

Ahora modificará el archivo wpa_supplicant.conf que se encuentra en:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Algunas redes están configuradas de manera diferente a otras, por lo que esta parte puede requerir algunos retoques, aquí está el archivo wpa_supplicant.conf que me permitió conectarme a la red en Cal Poly:

country = USctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP pairwise = CCMP TKIP group = CCMP TKIP eap = PEAP identity = "nombre de usuario @ calpoly.edu "contraseña =" su_contraseña "fase1 =" peapver = 0 "fase2 =" MSCHAPV2 "}

Este archivo se utiliza para configurar wlan0 para que se conecte a la red de su empresa. Algunas redes empresariales requieren un certificado CA para conectarse. La red del campus de Cal Poly no requiere un certificado, por lo que me he saltado esta parte, pero puede descargar fácilmente los certificados adecuados y agregarlos a su archivo wpa_supplicant con la línea

ca_cert = "/ ruta / a / cert.pem"

Paso 7: secuencia de comandos Hostapdstart

Lo último que queda por hacer es escribir un script que inicie ambas interfaces y configure el reenvío de paquetes cuando se inicie el sistema. Cree un archivo llamado hostapdstart escribiendo:

nano / usr / local / bin / hostapdstart

Agregue lo siguiente al archivo

sudo ifdown --force wlan0 && sudo ifdown --force ap0 && sudo ifup ap0 && sudo ifup wlan0

#sudo ifdown --force wlan0 && sudo ifdown --force wlan1 && sudo ifup wlan1 && sudo ifup wlan0 sudo sysctl -w net.ipv4.ip_forward = 1 sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24! -d 192.168.2.0/24 -j MASQUERAD Esudo systemctl reiniciar dnsmasq

Este script desactiva ambas interfaces, luego las vuelve a activar en el orden correcto, le dice al pi que le gustaría reenviar paquetes de una interfaz a otra y finalmente reinicia dnsmasq para que los cambios surtan efecto.

(Dos tarjetas inalámbricas) descomente la línea con wlan1 y la línea de comentarios con ap0.

Paso 8: Rc.local

Finalmente, queremos que el sistema se inicie cuando se inicie el sistema, por lo que modificaremos el archivo rc.local, que se ejecuta en el inicio:

nano /etc/rc.local

Simplemente agregue la siguiente línea al final del archivo:

hostapdstart> 1 &

Su archivo debería verse así:

_IP = $ (nombre de host -I) || trueif ["$ _IP"]; luego printf "Mi dirección IP es% s / n" "$ _IP" fi

hostapdstart> 1 &

salir 0

Paso 9: reiniciar

¡Y eso es! Ahora, suponiendo que tenga todo configurado correctamente y que su dongle WiFi esté conectado (si está usando uno), simplemente necesita reiniciar su Raspberry Pi con el comando:

reiniciar

Una vez que su Pi se haya reiniciado con éxito, debería poder ver el nombre de su punto de acceso en cualquier dispositivo (teléfono, computadora portátil, etc.). Una vez que se conecte con la contraseña especificada, debería conectarse directamente a la red empresarial deseada.

Un agradecimiento especial a los siguientes enlaces por brindarnos una idea de cómo abordar este proyecto:

  • https://blog.thewalr.us/2017/09/26/raspberry-pi-ze…
  • https://www.raspberrypi.org/forums/viewtopic.php?p…
  • https://www.raspberrypi.org/forums/viewtopic.php?f…

¡Háganos saber si tiene alguna pregunta, comentario o sugerencia!

Desafío de IoT
Desafío de IoT
Desafío de IoT
Desafío de IoT

Finalista en el desafío de IoT

Recomendado: