- Componenti richiesti:
- Passaggi per configurare Raspberry Pi come punto di accesso wireless:
- Accesso a Internet dall'hotspot Wi-Fi del Raspberry Pi
- Test dell'access point wireless Raspberry Pi:
Ciao ragazzi, oggi vi mostrerò come trasformare il Raspberry Pi in un access point wireless a cui possono connettersi altri dispositivi, in pratica stiamo trasformando il Raspberry Pi in un “router” wireless. Come bonus, mostrerò anche come configurare il punto di accesso wireless creato per fornire (condividere) l'accesso a Internet a (con) dispositivi collegati. Quindi iniziamo a creare Wi-Fi Hotspot con Raspberry Pi.
Componenti richiesti:
I seguenti componenti saranno necessari per configurare un raspberry pi come punto di accesso wireless:
- Raspberry Pi 2
- Scheda SD da 8 GB
- Dongle USB WiFi
- cavo Ethernet
- Alimentazione per il Pi.
- Monitor (opzionale)
- Tastiera (opzionale)
- Mouse (opzionale)
Mentre il Raspberry Pi 3 e il Pi zero sono ampiamente disponibili e avrebbero potuto essere utilizzati, per questo tutorial userò il Raspberry Pi 2 perché il mio Pi3 è attualmente impegnato a eseguire alcune attività pesanti relative alla visione artificiale, che spero di condividere in un tutorial qui presto. Questa procedura però funziona anche per il pi 3 e dovrebbe (notare l'enfasi) funzionare anche per il Raspberry Pi zero W.Quando si utilizza il Raspberry Pi 3 o lo Zero W non ci sarà bisogno di un modulo Wi-Fi esterno poiché queste due schede hanno già il Wi-Fi a bordo.
Per definire gli obiettivi di questo tutorial in modo più complesso, daremo al nostro Raspberry Pi la capacità di fungere da punto di accesso wireless e per raggiungere questo obiettivo, dovremo installare e configurare un software che doti il raspberry pi di questa funzionalità insieme a un software per server DHCP per fornire un indirizzo di rete per i dispositivi che verranno collegati al punto di accesso. Per soddisfare questo requisito software, utilizzeremo i software dnsmasq e hostapd.
Questo tutorial sarà basato sul sistema operativo stretch Raspbian, quindi per procedere come al solito, presumo che tu abbia familiarità con la configurazione del Raspberry Pi con il sistema operativo stretch Raspbian e che tu sappia come eseguire SSH nel raspberry pi usando un software terminale come mastice. Se hai problemi con uno di questi, ci sono tonnellate di tutorial Raspberry Pi su questo sito Web che possono aiutarti.
Passaggi per configurare Raspberry Pi come punto di accesso wireless:
Seguendo i seguenti passaggi chiave, uno dopo l'altro, saremo in grado di configurare il raspberry pi come punto di accesso wireless. Va notato che alcuni dongle USB wireless non funzioneranno in modalità AP ma dopo aver provato questo dongle e ha funzionato, sono tentato di dire che 5 dongle su 8 funzioneranno.
Passaggio 1: aggiorna il Pi
Come al solito, aggiorniamo il raspberry pi per assicurarci di avere l'ultima versione di tutto. Questo viene fatto usando;
sudo apt-get update
seguito da;
sudo apt-get upgrade
Con l'aggiornamento completato, riavvia il pi per effettuare le modifiche.
Passaggio 2: installa " dnsmasq " e " hostapd "
Successivamente, installiamo il software che consente di configurare il pi come punto di accesso wireless e anche il software che aiuta ad assegnare l'indirizzo di rete ai dispositivi che si connettono all'AP. Lo facciamo correndo;
sudo apt-get install dnsmasq
seguito da;
sudo apt-get install hostapd
oppure puoi combinarlo correndo;
sudo apt-get install dnsmasq hostapd
Passaggio 3: interrompere l'esecuzione del software
Poiché non abbiamo ancora configurato il software, non ha senso eseguirlo, quindi disabilitiamo l'esecuzione nel sottosuolo. Per fare ciò eseguiamo i seguenti comandi per interrompere l' operazione di systemd .
sudo systemctl stop dnsmasq sudo systemctl stop hostapd
Passaggio 4: configurare un indirizzo IP statico per la porta wireless
Verificare la porta wlan su cui è connesso il dispositivo wireless in uso. Per il mio Pi, il wireless è su wlan0. La configurazione del Raspberry Pi in modo che funga da server richiede l'assegnazione di un indirizzo IP statico alla porta wireless. Questo può essere fatto modificando il file di configurazione dhcpcd . Per modificare il file di configurazione, esegui;
sudo nano /etc/dhcpcd.conf
Scorri fino alla fine del file di configurazione e aggiungi le seguenti righe.
Interfaccia wlan0 indirizzo_ip statico = 192.168.4.1 / 24
Dopo aver aggiunto le righe, il file di configurazione dovrebbe essere simile all'immagine qui sotto.
Nota: questo indirizzo IP può essere modificato in base alla configurazione preferita.
Salvare il file ed uscire utilizzando; ctrl + x seguito da Y
Riavviare il servizio dhcpcd per effettuare le modifiche apportate alla configurazione utilizzando;
Riavvio del servizio Sudo dhcpcd
Passaggio 5: configurare il server dhcpcd
Con un indirizzo IP statico ora configurato per la rete WLAN Raspberry Pi, il passo successivo è per noi configurare il server dhcpcd e fornirgli l' intervallo di indirizzi IP da assegnare ai dispositivi che si connettono al punto di accesso wireless. Per fare ciò, dobbiamo modificare il file di configurazione del software dnsmasq ma il file di configurazione del software contiene troppe informazioni e molte potrebbero andare storte Se non vengono modificate correttamente, quindi invece di modificare, creeremo una nuova configurazione file con solo la quantità di informazioni necessarie per rendere il punto di accesso wireless completamente funzionale.
Prima di creare il nuovo file di configurazione, manteniamo il vecchio al sicuro spostandolo e rinominandolo.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
Quindi avvia l'editor per creare un nuovo file di configurazione;
sudo nano /etc/dnsmasq.conf
con l'editor avviato, copia le righe sottostanti e incolla o digita direttamente al suo interno.
Interface = wlan0 # indica l'interfaccia di comunicazione che di solito è wlan0 per wireless dhcp-range = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
il contenuto del file dovrebbe apparire come l'immagine qui sotto.
Salva il file ed esci. Il contenuto di questo file di configurazione serve solo a specificare l'intervallo di indirizzi IP che possono essere assegnati ai dispositivi collegati al punto di accesso wireless.
Fatto ciò, saremo in grado di dare un'identità ai dispositivi sulla nostra rete.
La prossima serie di passaggi ci aiuterà a configurare il software host del punto di accesso, impostare l'SSID, selezionare la crittografia ecc.
Passaggio 6: configurare hostapd per SSID e password
Dobbiamo modificare il file di configurazione hostapd (eseguire sudo nano /etc/hostapd/hostapd.conf ) per aggiungere i vari parametri per la rete wireless da configurare, inclusi ssid e password. Va notato che la password (passphrase) deve essere compresa tra 8 e 64 caratteri. Qualunque cosa minore non funzionerà.
interface = wlan0 driver = nl80211 ssid = piNetwork hw_mode = g channel = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = emmanuel # usa una password molto sicura e non questa wpa_key_mgKp = WPA_Psairwise rsn_pairwise = CCM
Il contenuto del file dovrebbe essere simile all'immagine qui sotto.
Sentiti libero di cambiare SSID e password in base alle tue esigenze e ai tuoi desideri.
Salva il file di configurazione ed esci.
Dopo che il file di configurazione è stato salvato, dobbiamo indirizzare il software hostapd dove è stato salvato il file di configurazione. Per fare questo, corri;
sudo nano / etc / default / hostapd
trova la riga con daemon_conf commentata come mostrato nell'immagine sotto.
Rimuovere il commento dalla riga DAEMON_CONF e aggiungere la riga sottostante tra le virgolette davanti al segno "uguale a".
/etc/hostapd/hostapd.conf
Passaggio 7: avvialo
Poiché inizialmente abbiamo disabilitato i due software, per consentirci di configurarli correttamente, è necessario riavviare il sistema dopo la configurazione per effettuare le modifiche.
Uso;
sudo systemctl start hostapd sudo systemctl start dnsmasq
Passaggio 8: instradamento e mascheramento per il traffico in uscita
Dobbiamo aggiungere routing e mascheramento per il traffico in uscita.
Per fare ciò, dobbiamo modificare il file di configurazione di systemctl eseguendo:
sudo nano /etc/sysctl.conf
Rimuovi il commento da questa riga net.ipv4.ip_forward = 1 (evidenziato nell'immagine sotto)
Salva il file di configurazione ed esci usando ctrl + x seguito da y.
Successivamente passiamo al mascheramento del traffico in uscita. Questo può essere fatto apportando alcune modifiche alla regola iptable. A tale scopo, eseguire i seguenti comandi:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
quindi salva la regola Iptables usando:
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Passaggio 9: creare un punto di accesso wireless all'avvio:
Per la maggior parte delle applicazioni del punto di accesso wireless, spesso si desidera che il punto di accesso si attivi non appena il sistema si avvia. Per implementarlo sul raspberry pi, uno dei modi più semplici è aggiungere le istruzioni per eseguire il software nel file rc.local , quindi inseriamo i comandi per installare le regole iptable all'avvio nel file rc.local.
Per modificare il file rc.local, eseguire:
sudo nano /etc/rc.local
e aggiungi le seguenti righe nella parte inferiore del sistema, subito prima dell'istruzione exit 0
iptables-restore </etc/iptables.ipv4.nat
Passaggio 9: riavvia! e Usa
A questo punto, dobbiamo riavviare il sistema per effettuare tutte le modifiche e testare il punto di accesso wireless che si avvia all'avvio con la regola iptables aggiornata.
Riavvia il sistema utilizzando:
sudo riavvio
Non appena il sistema si riaccende, dovresti essere in grado di accedere al punto di accesso wireless utilizzando qualsiasi dispositivo abilitato Wi-Fi e la password utilizzata durante la configurazione.
Accesso a Internet dall'hotspot Wi-Fi del Raspberry Pi
Oh sì, quindi aggiungerò un tutorial bonus per mostrare come il punto di accesso wireless creato può essere utilizzato per fornire la connessione Internet per i dispositivi ad esso collegati. L'accesso a Internet distribuito ai dispositivi viene fornito tramite la porta Ethernet del Pi che può essere collegata a un router o dispositivi simili.
Per implementare questo, dobbiamo mettere un "ponte" tra il dispositivo wireless e il dispositivo Ethernet sul Raspberry Pi (il punto di accesso wireless) per far passare tutto il traffico tra le due interfacce. Per configurarlo, useremo il software bridge-utils . Installa hostapd e bridge-utils . Anche se abbiamo già installato hostapd , esegui nuovamente l'installazione per cancellare tutti i dubbi.
sudo apt-get install hostapd bridge-utils
Successivamente, fermiamo hostapd per configurare il software.
sudo systemctl stop hostapd
Quando viene creato un bridge, viene creato un costrutto di livello superiore sulle due porte da collegare e il bridge diventa così il dispositivo di rete. Per evitare conflitti, è necessario interrompere l'assegnazione degli indirizzi IP da parte del client DHCP in esecuzione sul Raspberry Pi alle porte eth0 e wlan0. Questo sarà fatto modificando il file di configurazione del client dhcpcd per includere denyinterfaces wlan0 e denyinterfaces eth0 come mostrato nell'immagine sotto.
Il file può essere modificato eseguendo il comando;
sudo nano /etc/dhcpcd.conf
Nota: da questo punto in poi, assicurati di non scollegare il cavo Ethernet dal PC se stai utilizzando la modalità headless poiché potresti non essere in grado di connetterti nuovamente tramite SSH poiché abbiamo disabilitato la porta Ethernet. Se lavori con un monitor, non hai nulla da temere.
Successivamente, creiamo un nuovo bridge chiamato br0
sudo brctl addbr br0
Successivamente, colleghiamo la porta ethernet (eth0) al bridge (br0) usando;
sudo brctl addif br0 eth0
Successivamente, modifichiamo il file delle interfacce utilizzando sudo nano / etc / network / interfaces in modo che vari dispositivi possano funzionare con il bridge. Modificare il file delle interfacce per includere le informazioni seguenti;
#Bridge setup auto br0 iface br0 inet manual bridge_ports eth0 wlan0
Infine modifichiamo il file hostapd.conf per includere la configurazione del bridge. Questo può essere fatto eseguendo il comando: sudo nano /etc/hostapd.conf e modificando il file per contenere le informazioni seguenti. Si noti che il bridge è stato aggiunto sotto l'interfaccia wlan0 e la riga del driver è stata commentata.
interface = wlan0 bridge = br0 # 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 wpaKpairs = CCPAKpairswise = CCPAKpairswise
Fatto ciò, salva il file di configurazione ed esci.
Per effettuare le modifiche apportate al Raspberry Pi, riavvia il sistema. Una volta ripristinato, dovresti essere in grado di accedere a Internet collegandoti al punto di accesso wireless creato dal Raspberry Pi. Questo ovviamente funzionerà solo se l'accesso a Internet è disponibile per il pi tramite la porta Ethernet.
Sebbene questo progetto possa essere utilizzato per estendere il Wi-Fi in casa o in ufficio o in un intero complesso, ci sono diverse applicazioni che trovo molto interessanti e utili come il raspberry pi come hub di automazione domestica, quindi diversi dispositivi di automazione domestica abilitati al Wi-Fi possono connettersi a Internet utilizzando il punto di accesso wireless del raspberry pi. Hai qualche altra idea interessante, a cui può essere applicata, sentiti libero di condividere tramite la sezione commenti per ispirare gli altri.
Test dell'access point wireless Raspberry Pi:
Per testare queste istruzioni, utilizza un telefono cellulare o qualsiasi altro dispositivo in grado di connettersi a una rete hotspot WiFi, dovresti vedere il nome pop-up. È quindi possibile connettersi ad esso utilizzando quella terribile password che abbiamo specificato "emmanuel". Assicurati di utilizzare una password più sicura durante l'implementazione. Ho usato quella password solo per rendere le cose più facili da seguire.
Si noti inoltre che potrebbe essere necessario un po 'di tempo prima che il punto di accesso wireless diventi visibile dopo il riavvio poiché il Pi deve essere avviato prima dell'inizio delle attività di rete.
Questo è tutto per questo tutorial ragazzi. È lungo, grazie per aver dedicato del tempo per leggere. Feedback e commenti sono sempre ben accetti.
Fino alla prossima volta!