Sommario:

Bridge WiFi di rete aziendale Raspberry Pi: 9 passaggi
Bridge WiFi di rete aziendale Raspberry Pi: 9 passaggi

Video: Bridge WiFi di rete aziendale Raspberry Pi: 9 passaggi

Video: Bridge WiFi di rete aziendale Raspberry Pi: 9 passaggi
Video: COME RADDOPPIARE LA VELOCITÀ INTERNET - SADDYROUTER (OPENMPTCP BONDING) 2024, Dicembre
Anonim
Bridge WiFi di rete aziendale Raspberry Pi
Bridge WiFi di rete aziendale Raspberry Pi

Di: Riley Barrett e Dylan Halland

L'obiettivo di questo progetto è consentire a un dispositivo IoT, come Weemo Smart Plug, Amazon Echo, console di gioco o qualsiasi altro dispositivo abilitato Wi-Fi di connettersi a una rete aziendale WPA_EAP utilizzando un Raspberry Pi Zero W come pacchetto dispositivo di inoltro. Sono necessari passaggi di configurazione aggiuntivi per i dispositivi che si connettono a una rete aziendale e molti dispositivi non sono affatto compatibili. Utilizzando un Bridge Wi-Fi, qualsiasi dispositivo può ottenere facilmente l'accesso a Internet collegandosi al Pi.

Il sistema può essere implementato su una scheda wireless o su due schede separate a seconda delle esigenze dell'utente. Per i sistemi che richiedono una maggiore potenza del segnale e velocità di upload/download più elevate, è meglio utilizzare una scheda wireless dedicata per ospitare il punto di accesso. Tuttavia, per i sistemi in cui la potenza del segnale e la larghezza di banda sono meno importanti o dove si desidera una soluzione più conveniente, è possibile condividere una singola scheda dal punto di accesso e dalla connessione di rete.

Forniture

Raspberry Pi Zero W

Accesso a tastiera e monitor

Alcune conoscenze di programmazione (a scopo di debug, configurazione di Raspberry Pi)

Adattatore/dongle WiFi esterno (opzionale)

Passaggio 1: configurazione del Raspberry Pi

Configurazione del Raspberry Pi
Configurazione del Raspberry Pi

Inizia collegando il tuo Pi a una tastiera e un monitor (potrebbe richiedere un adattatore HDMI).

Quindi, puoi iniziare digitando il comando:

sudo su

Questo ti assicurerà di avere i privilegi necessari per modificare i file sul pi.

Ora vorrai installare dnsmasq e hostapd usando il comando:

apt-get install dnsmasq hostapd

Ora puoi iniziare a configurare il bridge WiFi.

NOTA - Il seguente tutorial conterrà informazioni per chi utilizza l'unica scheda wireless di bordo sia per l'access point che per la connessione alla rete. È anche possibile configurare il sistema per funzionare su due schede separate. Per fare ciò, cerca semplicemente le righe "wlan1" commentate nei file forniti e sostituiscile con le righe "ap0" vicine.

Passaggio 2: 70-persistent-net.rules

Inizia trovando l'indirizzo MAC del tuo pi digitando:

io devo

Crea il seguente file:

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

e modificalo in modo che contenga quanto segue

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

Questo file indica al sistema di allocare un dispositivo per il punto di accesso all'avvio. Qui, l'indirizzo MAC dovrebbe essere sostituito con quello del tuo pi, che hai appena trovato.

(Due schede wireless) Questo file non è necessario quando si utilizzano due schede wireless.

Passaggio 3: Hostapd.conf

Successivamente, modificherai il file hostapd.conf inserendo quanto segue:

nano /etc/hostapd/hostapd.conf

Modificare il file in modo che corrisponda alla seguente configurazione:

ctrl_interface=/var/run/hostapd

ctrl_interface_group=0 #interface=ap0 interface=wlan1 driver=nl80211 ssid=testnet hw_mode=g channel=6 wmm_enabled=0 macaddr_acl=0 auth_algs=1 wpa=2 wpa_passphrase=0123456789 wpa_key_mgmt=MP_pair_pair_TPK CCrsnpair

Nota che mentre il mio canale qui è impostato su 6, potrebbe essere necessario modificare questo valore in modo che corrisponda al canale su cui si trova wlan0. Su alcune reti, il canale verrà automaticamente modificato affinché il punto di accesso corrisponda a wlan0, ma questa non è stata la mia esperienza sulla rete aziendale. Puoi controllare quali canali sono attualmente in uso e da quali interfacce digitando

iwlist canale

(Due schede wireless) Decommenta semplicemente la riga contenente wlan1 e commenta quella contenente ap0.

Passaggio 4: Dnsmasq.conf

Ora modificherai il file dnsmasq.conf:

nano /etc/dnsmasq.conf

Decommenta o aggiungi le seguenti righe:

interfaccia=lo, ap0

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

Puoi utilizzare la tua sottorete qui se lo desideri, assicurati solo di essere coerente.

(Due WirelessCcards) Decommenta la riga che contiene wlan1 e commenta quella che contiene ap0.

Passaggio 5: interfacce

Successivamente, dovrai modificare il file delle interfacce:

nano /etc/network/interfaces

spegnimento automatico

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 indirizzo statico 192.168.2.1 netmask 255.255.255.0 hostapd /etc/hostapd/hostapd.conf 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 notare che l'interfaccia wlan0 DEVE venire dopo qualsiasi interfaccia a cui si sta inoltrando, altrimenti il sistema non funzionerà correttamente.

(Due schede wireless) Decommenta tutte le righe contenenti wlan1 e commenta quelle contenenti ap0.

Passaggio 6: Wpa_supplicant.conf

Ora modificherai il file wpa_supplicant.conf che si trova in:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Alcune reti sono configurate in modo diverso rispetto ad altre, quindi questa parte potrebbe richiedere qualche ritocco, ecco il file wpa_supplicant.conf che mi ha permesso di connettermi alla rete su 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="username@ calpoly.edu" password="tua_password" phase1="peapver=0" phase2="MSCHAPV2" }

Questo file viene utilizzato per configurare wlan0 per la connessione alla rete aziendale. Alcune reti aziendali richiedono un certificato CA per connettersi. La rete del campus di Cal Poly non richiede un certificato, quindi ho saltato questa parte, ma puoi facilmente scaricare i certificati corretti e aggiungerli al tuo file wpa_supplicant con la riga

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

Passaggio 7: Script Hostapdstart

L'ultima cosa che resta da fare è scrivere uno script che avvii entrambe le interfacce e imposti l'inoltro dei pacchetti all'avvio del sistema. Crea un file chiamato hostapdstart digitando:

nano /usr/local/bin/hostapdstart

Aggiungi quanto segue al file

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 MASQUERADEsudo systemctl riavvia dnsmasq

Questo script abbassa entrambe le interfacce, quindi le riporta nell'ordine corretto, dice al pi che si desidera inoltrare i pacchetti da un'interfaccia all'altra e infine riavvia dnsmasq in modo che le modifiche abbiano effetto.

(Due schede wireless) decommenta la riga con wlan1 e commenta la riga con ap0.

Passaggio 8: Rc.local

Infine, vogliamo che il sistema si avvii all'avvio del sistema, quindi modificheremo il file rc.local, che viene eseguito all'avvio:

nano /etc/rc.local

Aggiungi semplicemente la seguente riga alla fine del file:

hostapdstart>1&

Il tuo file dovrebbe assomigliare a questo:

_IP=$(nome host -I) || trueif["$_IP"]; quindi printf "Il mio indirizzo IP è %s\n" "$_IP" fi

hostapdstart>1&

esci 0

Passaggio 9: riavviare

E questo è tutto! Ora, supponendo che tu abbia tutto configurato correttamente e che il tuo dongle WiFi sia collegato (se ne stai usando uno), devi semplicemente riavviare il tuo Raspberry Pi con il comando:

riavviare

Una volta che il tuo Pi si è riavviato con successo, dovresti essere in grado di vedere il nome del tuo punto di accesso su qualsiasi dispositivo (telefono, laptop, ecc.). Una volta connesso utilizzando la password specificata, dovrebbe collegarti direttamente alla rete aziendale desiderata!

Un ringraziamento speciale ai seguenti link per averci fornito un'idea di come affrontare questo progetto:

  • 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…

Fateci sapere se avete domande, commenti o suggerimenti!

Sfida IoT
Sfida IoT
Sfida IoT
Sfida IoT

Secondo classificato nella sfida IoT

Consigliato: