Impostare Raspberry Pi come Acces Point (NAT)
Cos’è un access point?
Partiamo subito con il dire cos’è un access point.
Poiché spesso viene considerato come un oggetto misterioso e non si sa bene quale sia il suo utilizzo.
Un access point, non è altro che un dispositivo connesso alla rete locale che mette a disposizione una rete WiFi alla quale è possibile collegarsi per poter accedere alla rete locale ed a internet.
Il collegamento alla LAN, viene effettuato tramite un cavo collegato al modem router principale, il quale svolge il compito di instradare il traffico.
Un access point può essere utilizzato per creare una rete wireless, nel caso il tuo router non ne abbia la possibilità, oppure per aggiungere un ulteriore rete WiFi con delle regole di accesso diverse.
Vi sono anche degli access point, in grado di creare tante reti quanti si voglia, ognuna come dicevo prima con regole diverse.
Ad esempio puoi creare una rete guest (per gli ospiti), con il download limitato, per evitare che internet rallenti troppo.
Questo può essere fatto usando le funzioni wireless integrate di Raspberry Pi 3 o Raspberry Pi Zero W, o usando un dongle wireless USB.
La procedura descritta di seguito è stata testata su Raspberry Pi3 B+
Per funzionare come punto di accesso, il Raspberry Pi dovrà avere installato un software per il punto di accesso, insieme al software del server DHCP per fornire ai dispositivi di connessione un indirizzo di rete.
Assicurati che il tuo Raspberry Pi utilizzi una versione aggiornata di Raspbian (datata 2017 o successiva).
Utilizzare quanto segue per aggiornare l’installazione di Raspbian:
sudo apt-get update sudo apt-get upgrade
Installa tutto il software richiesto in una volta sola con questo comando:
sudo apt-get install dnsmasq hostapd
Poiché i file di configurazione non sono ancora pronti, disattivare il nuovo software come segue:
sudo systemctl stop dnsmasq sudo systemctl stop hostapd
Per garantire che il kernel sia aggiornato e configurato correttamente dopo l’installazione, riavviare con il comando:
sudo reboot
Configurazione di un IP statico
Stiamo configurando una rete standalone per agire da server, quindi il Raspberry Pi deve avere un indirizzo IP statico assegnato alla porta wireless.
Presumiamo di utilizzare gli indirizzi IP 192.168.x.x standard per la nostra rete wireless, quindi assegneremo al server l’indirizzo IP 192.168.4.1 inoltre presumiamo che il dispositivo wireless in uso sia wlan0.
Per configurare l’indirizzo IP statico, modifica il file di configurazione di dhcpcd con:
sudo nano /etc/dhcpcd.conf
Vai alla fine del file e modificalo in modo che assomigli al seguente:
interface wlan0 static ip_address=192.168.4.1/24 nohook wpa_supplicant
A questo punto bisogna riavviare il demone dhcpcd
sudo service dhcpcd restart
Configurazione del server DHCP (dnsmasq)
Il servizio DHCP è fornito da dnsmasq.
Per impostazione predefinita, il file di configurazione contiene molte informazioni che non sono necessarie ed è più facile iniziare da zero.
Rinominare questo file di configurazione e modificarne uno nuovo:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig sudo nano /etc/dnsmasq.conf
Digita o copia le seguenti informazioni nel file di configurazione di dnsmasq e salvalo:
interface=wlan0 # Use the require wireless interface - usually wlan0 dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
Quindi wlan0, forniremo indirizzi IP tra 192.168.4.2 e 192.168.4.20, con un lease time di 24 ore.
Se si forniscono servizi DHCP per altri dispositivi di rete (ad esempio eth0), è possibile aggiungere più sezioni con l’intestazione dell’interfaccia appropriata, con l’intervallo di indirizzi che si intende fornire a tale interfaccia.
Ci sono molte altre opzioni per dnsmasq lascio il link alla documentazione di dnsmasq per maggiori dettagli.
Configurazione del software host del punto di accesso (hostapd)
È necessario modificare il file di configurazione hostapd, situato in /etc/hostapd/hostapd.conf, per aggiungere i vari parametri per la rete wireless. Dopo l’installazione iniziale, questo sarà un file nuovo / vuoto.
sudo nano /etc/hostapd/hostapd.conf
Aggiungi le informazioni di seguito al file di configurazione. Questa configurazione presuppone che stiamo usando il canale 7, con un nome di rete di NameOfNetwork e una password AardvarkBadgerHedgehog. Attenzione il nome e la password non devono contenere virgolette.
La passphrase deve avere una lunghezza compresa tra 8 e 64 caratteri.
Per utilizzare la banda a 5 GHz, è possibile modificare la modalità operativa da hw_mode = g a hw_mode = a. I valori possibili per hw_mode sono:
- a = IEEE 802.11a (5 GHz)
- b = IEEE 802.11b (2,4 GHz)
- g = IEEE 802.11g (2,4 GHz)
- ad = IEEE 802.11ad (60 GHz).
interface=wlan0 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 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Ora dobbiamo dire al sistema dove trovare questo file di configurazione.
sudo nano /etc/default/hostapd
Trova la riga con #DAEMON_CONF e sostituiscila con questa:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Avviamento
Ora avvia i servizi rimanenti:
sudo systemctl start hostapd sudo systemctl start dnsmasq
Aggiungi routing e masquerade
Modifica /etc/sysctl.conf e decommenta questa riga:
net.ipv4.ip_forward=1
Aggiungi un masquerade per il traffico in uscita su eth0:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Salva la regola di iptables.
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Modifica /etc/rc.local e aggiungi questo appena sopra “exit 0” per installare queste regole all’avvio.
iptables-restore < /etc/iptables.ipv4.nat
Riavvia
Utilizzando un dispositivo wireless, cerca la rete con il SSID di rete che hai specificato nella configurazione di hostapd, dovrebbe essere presente e dovrebbe essere accessibile con la password specificata.
A questo punto, il Raspberry Pi agisce come un punto di accesso e altri dispositivi possono associarsi con esso.
Utilizzo di Raspberry Pi come punto di accesso per condividere una connessione Internet (bridge)
Un uso comune di Raspberry Pi come punto di accesso consiste nel fornire connessioni wireless a una connessione Ethernet cablata, in modo che chiunque abbia accesso al punto di accesso possa accedere a Internet, fornendo ovviamente che l’Ethernet cablata sul Pi può connettersi a Internet tramite una sorta di router.
Per fare questo deve essere installato un “bridge” tra il dispositivo wireless e il dispositivo Ethernet sul punto di accesso Raspberry Pi. Questo ponte passerà tutto il traffico tra le 2 interfacce.
Installare i seguenti pacchetti per abilitare l’installazione del punto di accesso e il bridging.
sudo apt-get install hostapd bridge-utils
Poiché i file di configurazione non sono ancora pronti, disattivare il nuovo software come segue:
sudo systemctl stop hostapd
Il bridging crea un costrutto di livello superiore sulle 2 porte in fase di bridging.
È il bridge che è il dispositivo di rete, quindi è necessario arrestare eth0 e le wlan0 porte vengono allocate dagli indirizzi IP dal client DHCP sul Raspberry Pi.
sudo nano /etc/dhcpcd.conf
Aggiungi denyinterfaces wlan0e denyinterfaces eth0 alla fine del file e salva il file.
Aggiungi un nuovo bridge, che in questo caso viene chiamato br0.
sudo brctl addbr br0
Collega le porte di rete. In questo caso, connettiti eth0 al bridge br0.
sudo brctl addif br0 eth0
Ora il file delle interfacce deve essere modificato per regolare i vari dispositivi in modo che funzionino con il bridging.
sudo nano /etc/network/interfaces
e apportare le seguenti modifiche.
Aggiungi le informazioni sul bridging alla fine del file.
# Bridge setup auto br0 iface br0 inet manual bridge_ports eth0 wlan0
L’impostazione del punto di accesso è quasi la stessa di quella mostrata nella sezione precedente. Segui le istruzioni sopra per impostare il hostapd.conf file, ma aggiungi bridge=br0 sotto l’ interface=wlan0 e rimuovi o commenta la linea del driver.
La passphrase deve avere una lunghezza compresa tra 8 e 64 caratteri.
Per utilizzare la banda a 5 GHz, puoi cambiare la modalità operativa da ‘hw_mode = g’ a ‘hw_mode = a’. I valori possibili per hw_mode sono:
- a = IEEE 802.11a (5 GHz)
- b = IEEE 802.11b (2,4 GHz)
- g = IEEE 802.11g (2,4 GHz)
- ad = IEEE 802.11ad (60 GHz).
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 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Ora riavvia il Raspberry Pi.
sudo reboot
A questo punto dovrebbe esserci un ponte funzionante tra la LAN wireless e la connessione Ethernet sul Raspberry Pi, e qualsiasi dispositivo associato all’access point Raspberry Pi agirà come se fosse connesso all’Ethernet cablato del punto di accesso.
Il comando ifconfig mostrerà il bridge, al quale sarà stato assegnato un indirizzo IP tramite il server DHCP Ethernet cablato.
Il wlan0 e eth0 non hanno più indirizzi IP, in quanto ora sono controllati dal bridge.
È possibile utilizzare un indirizzo IP statico per il bridge, se necessario, ma in generale, se il punto di accesso Raspberry Pi è connesso a un router ADSL, l’indirizzo DHCP andrà bene.
Source: https://vdmweb.it/2019/01/09/impostare-raspberry-pi-come-acces-point-nat/
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.