In questa guida illustro come è possibile configurare una Raspberry Pi 3 come access Point e collegarlo ad una rete esistente.
Con questa configurazione il Raspberry sarà configurato all’interno della rete esistente in Bridge.
PRE-REQUISITI
Raspberry Pi 3
Raspbian installato
Per attivare la scheda Wifi bisogna settare la Country
Per accedere alla configurazione della Raspberry lanciare il comando
0 |
sudo raspi-config |
Selezionare l’opzione Localisation Options
Selezionare l’opzione Change Wi-fi Country
Selezionare IT Italy quindi cliccare su OK
Cliccare su OK per confermare
Uscire dalla configurazione quindi riavviare la Raspberry
Dopo il riavvio accedendo in SSH noteremo che il messaggio relativo alla scheda di rete Wi-fi è scomparso.
INSTALLAZIONE DI RASPAP
Lanciare il comando
0 |
wget -q https://git.io/voEUQ -O /tmp/raspap && bash /tmp/raspap |
Verificare che sia tutto corretto quindi premere Y per continuare l’installazione
Dopo qualche secondo dovremo premere Y per continuare
Premere Y per abilitare HttpOnly
Premere Y per abilitare il PHP OPCache
Per terminare l’installazione e quindi riavviare la Raspberry cliccare Y
Per accedere alla pagina di configurazione basterà aprire con un browser il seguente link
http://IP-RASPBERRY
Inserire quindi le credenziali di default
USER: admin
PASSWORD: secret
Se è tutto corretto dovremmo vedere una schermata come quella sovrastante
CONFIGURAZIONE DELL’IP STATICO SULL’INTERFACCIA WLAN0
Prima di tutto stoppiamo i servizi con i comandi:
0 1 |
sudo systemctl stop hostapd sudo systemctl stop dnsmasq |
Editare il file di configurazione dhcpd.conf con il comando:
0 |
sudo nano /etc/dhcpcd.conf |
Inserire al fondo del file le seguenti righe
0 1 2 3 |
interface wlan0 static ip_address=192.168.100.181/24 denyinterfaces eth0 denyinterfaces wlan0 |
NOTA BENE: inserire l’indirizzo delle propria rete nelle riga static ip_address
Salavare e chiudere il file
CONFIGURAZIONE DEL DHCP SERVER (FACOLTATIVO)
Per modificare il file di configurazione del DHCP lanciare il comando:
0 |
sudo nano /etc/dnsmasq.conf |
Al posto delle righe presenti incollare queste:
0 1 |
interface=wlan0 dhcp-range=192.168.100.237,192.168.100.239,255.255.255.0,24h |
SPIEGAZIONE: dhcp-range=IP-Iniziale-da-assegnare, Ultimo-IP-da-assegnare,Subnet-Mask,Lease
ATTENZIONE: questa configurazione del DHCP non sarà attiva con la modalità di configurazione adotatta di seguito.
CONFIGURAZIONE DELL’ACCESS POINT HOST SOFTWARE (HOSTAPD)
Editiamo il file hostapd.conf con il comando:
0 |
sudo nano /etc/hostapd/hostapd.conf |
Dovremmo vedere le seguenti righe:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
driver=nl80211 ctrl_interface=/var/run/hostapd ctrl_interface_group=0 beacon_int=100 auth_algs=1 wpa_key_mgmt=WPA-PSK ssid=raspi-webgui channel=1 hw_mode=g wpa_passphrase=ChangeMe interface=wlan0 wpa=1 wpa_pairwise=TKIP country_code= |
Al posto delle righe elencate sopra incollare queste righe:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
interface=wlan0 bridge=br0 hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP ssid=NOME-DEL-SSID-RETE-WIFI wpa_passphrase=PASSWORD-WIFI |
NOTA BENE: Inserire il ssid e la wpa_passprhase a piacimento
Salvare e chiudere il file di configurazione.
A questo punto dobbiamo veriricare che la posizione del file di configurazione sia corretta.
Per fare questo lanciare il comando:
0 |
sudo nano /etc/default/hostapd |
Verificare che la riga DAEMON_CONF sia come indicato sotto:
0 |
DAEMON_CONF="/etc/hostapd/hostapd.conf" |
Salvare e chiudere il file di configurazione
CONFIGURAZIONE DEL FORWARDING DEL TRAFFICO + ROUTING
L’idea di questa configurazione è che tutti i dispotivi collegati in Wifi alla Raspberry possano navigare tramite il cavo di rete collegato dalla Raspberry al Router.
Quindi in pratica tutto il traffico proveniente dalla WLAN0 dovrà essre inoltrato alla scheda ETH0
Questo comporta la modifica di un altro file di configurazione:
0 |
sudo nano /etc/sysctl.conf |
All’interno del file cercare la linea:
0 |
#net.ipv4.ip_forward=1 |
eliminare il “#” – lasciando il resto, quindi la riga sarà:
0 |
net.ipv4.ip_forward=1 |
Salvare e chiudere il file di configurazione.
CONFIGURAZIONE DEL BRIDGE
Ora il Raspberry Pi agisce come un punto di accesso a cui altri dispositivi possono connettersi.Tuttavia, questi dispositivi non possono ancora utilizzare il Pi per accedere a Internet.
Per rendere possibile, abbiamo bisogno di costruire un ponte che passerà tutto il traffico tra le interfacce wlan0 ed eth0.
Installare i seguenti pacchetti per abilitare l’installazione del punto di accesso e il bridging con il comando:
0 |
sudo apt-get install bridge-utils |
Aggiungere il nuovo bridge con il comando:
0 |
sudo brctl addbr br0 |
Adesso conettere la scheda di rete eth0 al bridge con il comando:
0 |
sudo brctl addif br0 eth0 |
A questo punto editare il file delle interfacce con il comando:
0 |
sudo nano /etc/network/interfaces |
Aggiungere le seguenti righe:
0 1 2 |
auto br0 iface br0 inet manual bridge_ports eth0 wlan0 |
Salvare e chiudere il file di configurazione
Per rendere effettive le modifiche riavviare il Raspberry.
CONFIGURAZIONE DELL’IP STATICO SULL’INTERFACCIA BR0
Adesso procediamo con la configurazione dell’IP statico della scheda Bridge creata in precedenza
Per fare questo selezioniamo la voce nel menu Configure networking
Selzionaimo l’Interfaccia Br0
Selezionare Static IP quindi Enable ed inserire tutti i paramentri richiesti della nostra scheda di rete fisica
Cliccare quindi su Save Setting per applicare le impostazioni
Andiamo quindi sulla voce del Menù System e clicchiamo su Reboot per riavviare il Raspberry
Dopo il riavvio per richiamare la pagina web di configurazione biaogna inserire il nuovo IP Statico configuratom in precedenza.
Quindi il link da richiamare via browser sarà
http://NEW-IP-RASPBERRY
CONFIGURAZIONE CON IPTABLES ATTIVO (FACOLTATIVO)
Se abbiamo il firewall attivo dobbiamo seguire gli steps elencati di seguito.
Aggiungere IP masquerading per il traffico in uscita su eth0 usando iptables con il comando:
0 |
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
Quindi salviamo le nuove regole con il comando:
0 |
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" |
Per caricare la regola all’avvio, è necessario modificare il file /etc/rc.local e aggiungere quanto segue
linea appena sopra la linea uscita 0:
Lanciamo quindi il comando:
0 |
iptables-restore < /etc/iptables.ipv4.nat |
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
Ciao,
guarda sto utilizzando SOLO RaspAp ed ho inserito i campi della vpn e fatta partire.
Il problema è che con il PC, collegato in wiFi, mi funziona (La sto usando ora) se provo a connettere un cellulare, non si capisce come mai, mi dice che non vi è nessuna connessione ad internet. Come mai?
Grazie
Buongiorno,
Sto seguendo la guida ma ho un problema, sono arrivato fino a “CONFIGURAZIONE DELL’IP STATICO SULL’INTERFACCIA BR0” ma non mi fa connettere ne dall’interfaccia del browser ne tanto meno da SSH.Come mai?
Poi ho provato ad usare la rete utilizzando SOLO RaspAp su una SD diversa, in prativa ho installato solo RaspAp e funzionava anche la VPN ma, non si capisce come mai, la rete cade da sola e non mi da più connessione ad internet. COme mai?
Grazie
Ciao per fare quello dici tu bisognerebbe lavorare sulle tabelle di routing della raspberry non vedo altro modo
Ciao, grazie per l’articolo. Io vorrei fare un sistema in cui il raspberry si comporta come un vero e proprio router DHCP. Io avrei installato al suo interno un server che vorrei fosse accessibile da dispositivi collegati al wifi del Raspberry Pi 3 e anche da quelli collegati alla porta Ethernet e non ho bisogno di avere alcuna connessione internet(tutto in locale). Come posso fare? Grazie.
Buonasera Gabriele Grazie per i complimenti !!!! Per quanto riguarda il raspberry la configurazione fatta serve a far diventare il rasp un ap e quindi non è contemplato nelle regole di routing che possa navigare. Se vuole far navigare il raspberry dovrebbe modificare il routing della scheda eth e della scheda Wi-Fi. Appena avrò un po’ di tempo magari farò una guida su questo problema….visto che in molti ne lo hanno chiesto!!!!
Ciao, innanzitutto grazie per la guida utilissima (senza di te non sarei riuscito!).
L’AP funziona benone, il problema è che adesso il Raspberry non si connette ad internet e non riesco a navigare con quello, ma solo con i dispositivi che si collegano ad esso in wifi.
Come posso risolvere?
Ciao in teoria dovrebbe esserci una rotta statica che ti permette di raggiungere la raspberry sia da Wi-Fi che da Ethernet. Se non è così devi aggiungerla nelle static route.
Ciao, grazie per la stesura di questo articolo.
Di tutti quelli che ho provati, anche se più o meno facevano la stessa cosa questo è realmente funzionante.
Adesso ho un problema, ma non sono riuscito a venirne a capo, in realtà sono poco pratico su Linux.
Una volta che l’ AP funziona, mi trovo il problema che il Raspberry purtroppo non si collega più in rete, ( limitandomi anche con VNC) ma solo a quella interna, infatti accedo tranquillamente al raspap.
In qualche modo posso risolvere questo inconveniente?!
Grazie mille di tutto.