“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!