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 in rete che mette a disposizione una rete WiFi al 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 wireless 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 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 Raspberru 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
Esempio di acces point Fatto con Raspberry

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.xx 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"

Avvialo

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, un “bridge” deve essere installato tra il dispositivo wireless e il dispositivo Ethernet sul punto di accesso Raspberry Pi. Questo ponte passerà tutto il traffico tra le due 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 due porte in fase di bridging.

È il bridge che è il dispositivo di rete, quindi è necessario arrestare eth0e le wlan0porte vengono allocate dagli indirizzi IP dal client DHCP sul Raspberry Pi.

sudo nano /etc/dhcpcd.conf

Aggiungi denyinterfaces wlan0denyinterfaces eth0alla 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 eth0al 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/interfacesapportare 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.conffile, ma aggiungi bridge=br0sotto 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 wlan0eth0non 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/

Potrebbero interessarti anche...

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.