sabato 27 Aprile 2024
Home / Domotica / RaspberryPi come access point

RaspberryPi come access point

“Le reti informatiche collegano tra loro più computer o apparecchiature informatiche, in modo da condividere gli stessi dati e scambiarsi rapidamente documenti.” così l’enciclopedia definisce il temine rete.

Durante la giornata, siamo costantemente collegati ad una rete. Il Wifi di casa, quello del bar, quello del lavoro, quello della biblioteca ecc ecc. Siamo circondati da reti che, oltre a permetterci la navigazione in internet, ci consentono di scambiare dati, file e nel caso della domotica comandare a distanza i nostri dispositivi.

Con gli ultimi modelli presentati, abbiamo avuto la conferma che la Fondazione tiene al concetto di rete. Infatti, sia sul Pi 3 che su Pi Zero W troviamo un piccolo chip wifi che ci permette di collegarci ad un rete wireless, o, come vedremo oggi, di creare una rete, proprio come un access point.

Avrebbe poco senso elencare i vantaggi di creare una rete, anche perchè se state leggendo questa guida, avete già le idee chiare.

I 2 programmi di cui abbiamo bisogno sono Hostapd e Dnsmasq, che possiamo installare con:
sudo apt-get install dnsmasq hostapd
La seconda cosa da fare è impostare un ip statico per l’interfaccia di rete wlan0, ovvero la scheda wifi integrata.
Inseriamo nel terminale il seguente comando per editare il file dhcpd.conf:
nano /etc/dhcpcd.conf

Alla fine del file, aggiungiamo
denyinterfaces wlan0

Apriamo poi il file di configurazione delle interfacce di rete.

sudo nano /etc/network/interfaces

Modifichiamo (o aggiungiamo) la parte riguardante wlan0 in questo modo
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Riavviamo la configurazione

sudo service dhcpcd restart
sudo ifdown wlan0; sudo ifup wlan0

Aprimo ora la il file di configurazione di hostapd con sudo nano /etc/hostapd/hostapd.conf e modifichiamolo in questo modo

## Interfaccia di rete da utilizzare
interface=wlan0
## Driver scheda di rete
driver=nl80211
## SSID rete (nome della rete)
ssid=Pi-AP
## Usa 2.4 Ghz
hw_mode=g
## Usa il canale 6
channel=6
## Abilita 802.11n
ieee80211n=1
## Abilita WMM
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] ## Accetta tutti gli indirizzi MAC
macaddr_acl=0
## Usa la sicurezza WPA
auth_algs=1
ignore_broadcast_ssid=0
## Specifica versione WPA in WPA2
wpa=2
## Usa una chiave precondivisa
wpa_key_mgmt=WPA-PSK
## Password della rete
wpa_passphrase=raspberry
rsn_pairwise=CCMP

Possiamo avviare il nostro access point portatile

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

E, se saremo fortunati, ci comparirà la rete “Pi-AP”.

Stoppiamolo con Crtl+C e andiamo avanti.

sudo nano /etc/default/hostapd

Troviamo la linea #DAEMON_CONF=”” e sostituiamola con DAEMON_CONF=”/etc/hostapd/hostapd.conf”

Configuriamo ora Dnsmasq

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf

Incolliamo questo file

interface=wlan0
listen-address=192.168.1.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.1.2,192.168.1.150,12h

Come ultima cosa, ci manca il settaggio dell’Ipv4 forwarding.

sudo nano /etc/sysctl.conf

Togliamo il # all’inizio della riga net.ipv4.ip_forward=1

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Per far si che la configurazione di iptables non si perda al primo riavvio eseguiamo

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Ora apriamo rc.local con sudo nano /etc/rc.local e subito prima di exit0 incolliamo questa riga:

iptables-restore < /etc/iptables.ipv4.nat

Ovviamente, nal caso volessimo tornare indietro, ci basterà rimuovere la riga appena aggiunta.

Riavviamo tutto e verifichiamo che tutti abbia funzionato!

A proposito di Gab Tos

Vedi Anche

MagPi139 doppiapagina

MagPi in Italiano! Soluzione dei Problemi: La Guida

Estratto, tradotto in italiano, di The MagPi N°139 la rivista ufficiale della Fondazione Raspberry Pi.

Powered by themekiller.com