Sommario:
- Forniture
- Passaggio 1: configurazione del Raspberry Pi
- Passaggio 2: 70-persistent-net.rules
- Passaggio 3: Hostapd.conf
- Passaggio 4: Dnsmasq.conf
- Passaggio 5: interfacce
- Passaggio 6: Wpa_supplicant.conf
- Passaggio 7: Script Hostapdstart
- Passaggio 8: Rc.local
- Passaggio 9: riavviare
Video: Bridge WiFi di rete aziendale Raspberry Pi: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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
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!
Secondo classificato nella sfida IoT
Consigliato:
Come creare il tuo gateway WIFI per connettere Arduino alla rete IP?: 11 passaggi (con immagini)
Come creare il proprio gateway WIFI per collegare Arduino alla rete IP?: Come tante persone pensi che Arduino sia un'ottima soluzione per l'automazione domestica e la robotica! Ma in termini di comunicazione, gli Arduino arrivano solo con collegamenti seriali. Sto lavorando su un robot che deve essere connesso permanentemente a un server che esegue ar
Connetti ESP8266 alla rete WIFI: 3 passaggi
Connetti ESP8266 alla rete WIFI: nell'articolo precedente ho discusso su come rendere ESP8266 un punto di accesso. E in questo articolo, ti mostrerò come connettere ESP8266 a una rete wifi (rendendo ESP8266 come client). Prima di procedere al tutorial, assicurati di aver aggiunto ESP82
Modello di gru wireless (SMART BOT) con telecamera spia in rete (wifi o hotspot): 8 Passaggi
Wireless Crane Model (SMART BOT) Con Spying Camera Over the Network (wifi o Hotspot): Per realizzare qualsiasi progetto seguiamo alcuni passaggi: -ricerca di idee relative ai progettifatturazione dei materiali necessari per il progettosperimentazione su PCB e breadboard
LED di controllo dalla tua rete WiFi! SPEEEduino V1.1: 4 passaggi (con immagini)
LED di controllo dalla tua rete WiFi! SPEEEduino V1.1: Cos'è SPEEEduino? SPEEEduino è una scheda microcontrollore abilitata Wi-Fi basata sull'ecosistema Arduino, creata per gli educatori. SPEEEduino combina il fattore di forma e il microcontrollore di Arduino con il SoC Wi-Fi ESP8266, rendendo
Inverter collegato alla rete fai-da-te (non alimenta la rete) Alternativa UPS: 7 passaggi (con immagini)
Alternativa UPS con inverter collegato alla rete fai-da-te (non alimenta la rete): questo è un post di follow-up dal mio altro Instructable sulla creazione di un inverter collegato alla rete che non alimenta la rete, poiché ora è sempre possibile farlo in alcune aree come un progetto fai-da-te e alcuni luoghi non consentono di alimentare lì g