Skip to content
Stefano Zenaro edited this page Apr 19, 2019 · 2 revisions

Rete


Installeremo hostapd e lo configureremo per creare una rete standalone a cui si collegheranno i node MCU. Abbiamo scelto di non usare il servizio dhcp, imposteremo gli ip statici su ogni Node MCU

Queste instruzioni sono state prese e tradotte dalla guida ufficiale sul sito raspberrypi.org. Sono state saltate le parti del servizio dhcp

Passaggi preliminari

Aggiornare raspbian


E' importante assicurarsi che il raspberry utilizzi gli ultimi aggiornamenti di raspbian. Per fare tutti gli aggiornamenti esegui questi comandi sul terminale:

sudo apt-get update
sudo apt-get upgrade -y

Dove il primo comando serve per aggiornare le liste dei pacchetti contenuti nei repository degli aggiornamenti e il secondo recupera gli aggiornamenti e li installa. “-y” accetta in anticipo l’installazione degli aggiornamenti

Installazione Hostapd


Installa hostapd e conferma l’installazione con -y:

sudo apt-get install hostapd -y

Ferma il servizio hostapd, perche’ bisogna prima modificare i file di configurazione:

sudo systemctl stop hostapd

Riavviare


Riavviare per assicurarsi che tutto sia installato e aggiornato correttamente

sudo reboot

Configurare l’IP statico


Il raspberry si comportera’ come server all’interno della sua rete, quindi ha bisogno di un indirizzo IP statico impostato sulla sua interfaccia wireless (wlan0).

in questo esempio la rete creata avra’ indirizzo 192.168.4.0, quindi il raspberry avra’ 192.168.4.1 e i suoi dispositivi connessi avranno come IP 192.168.4.x (x compresi tra 2 e 254)

Aprire il file ‘/etc/dhcpcd.conf’ tramite l’editor di testo chiamato ‘nano’:

sudo nano /etc/dhcpcd.conf

A fine file aggiungere queste informazioni che imposteranno l’IP statico sull’interfaccia wlan0:

interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant

Modificare la seconda riga con l'IP che vuoi impostare

"/24" e' il CIDR, numero che indica quanti bit definiscono la rete, corrisponde alla subnet mask “255.255.255.0”

Se alla fine della procedura digitando “ifconfig” non appare l’indirizzo IP scelto da noi andare a fine pagina

Riavvia il servizio dhcpcd per attuare le nuove impostazioni:

sudo service dhcpcd restart

Il sistema ci chiede di eseguire il seguente comando perche’ alcune impostazioni sono state modificate:

sudo systemctl daemon-reload

Configurare hostapd


Apre il file ‘/etc/hostapd/hostapd.conf’ con l’editor di testo chiamato “nano":

sudo nano /etc/hostapd/hostapd.conf

e Inserire queste informazioni per specificare ssid, passphrase e altro:

interface=wlan0
driver=nl80211
ssid=< inserire SSID, nome della rete, qui >
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=< inserire password qui>
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Sostituire "< inserire SSID, nome della rete, qui >" con l'SSID che vuoi assegnare alla rete (senza "<", ">" e spazi dopo "=")

Sostituire "< inserire password qui>" con la password necessaria per connettersi alla rete (senza "<", ">" e spazi dopo "=")

la passphrase DEVE essere lunga tra 8 e 64 caratteri

Aprire il file ‘/etc/default/hostapd’ con l’editor di testo chiamato “nano”:

sudo nano /etc/default/hostapd

per indicare al sistema dove si trova il file di configurazione appena modificato ("/etc/hostapd/hostapd.conf") Modificare la riga che inizia con “#DAEMON_CONF” con questa riga:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Avviare hostapd e configurare ROUTING e MASQUERADE


Aprire il file ‘/etc/sysctl.conf’:

sudo nano /etc/sysctl.conf

per togliere il commento (#) a questa riga:

net.ipv4.ip_forward=1

Aggiungere una maschera per il traffico uscente sull’interfaccia eth0:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Salvare le iptables (regole del firewall che gestiscono il traffico in uscita e in ingresso) sul file ‘/etc/iptables.ipv4.nat’:

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

Aprire il file ‘/etc/rc.local’:

sudo nano /etc/rc.local

e inserire nella riga sopra a “exit 0”:

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

il file ‘/etc/rc.local’ contiene comandi e programmi che vengono eseguiti ad ogni boot/avvio del raspberry

Conclusione


Eseguire un ultimo riavvio con il comando:

sudo reboot

Ora la rete dovrebbe essere visibile e accessibile da tutti i dispositivi che possono accedere a reti wireless, come cellulari e tablet.

Attenzione


Con questa configurazione il raspberry NON possiede un server DHCP che e’ in grado di distribuire dinamicamente gli indirizzi IP, quindi per collegarsi e’ necessario specificare tra le impostazioni avanzate durante il collegamento alla rete l’indirizzo ip del nostro dispositivo:

IP: statico
Indirizzo IP: 192.168.4.x
Gateway: 192.168.4.1
Lunghezza prefisso rete: 24
DNS 1: 8.8.8.8
DNS 2: 8.8.4.4

Dove “x” e’ qualsiasi numero compreso tra 2 e 254 compresi

Potrebbe non essere necessario configurare tutti i parametri qui sotto, come i “DNS” mentre altri parametri, come “Gateway” e “Lunghezza prefisso rete”, potrebbero essersi impostati dopo l’inserimento dell’indirizzo IP

Risoluzione problemi


Se ci sono problemi dopo aver svolto la procedura, ricontrollare i passaggi e POI seguire le istruzioni riguardanti il problema qua sotto.

Indirizzo IP statico non configurato

Se digitando il seguente comando:

ifconfig

notiamo che l’IP statico configurato non viene preso dall’interfaccia wlan0, provare a disabilitare e riabilitare l’interfaccia wlan0 con:

sudo ifdown wlan0
sudo ifup wlan0

Provare anche a riavviare:

sudo reboot