Passa al contenuto principale

Preparazione di un Raspberry Pi per l'utilizzo come Gateway

Condividere la connessione Internet Wi-Fi del Raspberry Pi tramite Ethernet​

informazioni

In questo passaggio, il Raspberry Pi deve essere connesso a Internet tramite Wi-Fi e il PLC deve essere collegato al Raspberry Pi tramite la connessione Ethernet.

Ora configurerete il Raspberry Pi in modo da condividere la connessione Internet Wi-Fi tramite Ethernet. Eseguite i seguenti comandi sul Raspberry Pi.

1. (Facoltativo) Aggiornare il Raspberry Pi:

sudo apt-get update
sudo apt-get upgrade

2. Per configurare il client DHCP, aprire il file di configurazione

sudo vi /etc/dhcpcd.conf

e incollare denyinterfaces eth0 alla fine del file. Chiudere il file di configurazione (Esc, :w (Enter), :q (Enter)).

3. Successivamente, aprire le interfacce di rete

sudo vi /etc/network/interfaces

e incollare le seguenti righe alla fine del file:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.66.1
netmask 255.255.255.0
network 192.168.66.0
broadcast 192.168.66.255

Chiudere il file delle interfacce di rete (Esc, :w (Enter), :q (Enter)).

4. Installare e configurare il servizio DHCP per assegnare automaticamente gli indirizzi IP a ogni dispositivo collegato alla porta Ethernet. Installare dnsmasq e creare una nuova configurazione:

sudo apt-get install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf

Aggiungere le seguenti righe al file

interface=eth0
listen-address=192.168.66.1
dhcp-range=192.168.66.50,192.168.66.100,12h
server=8.8.8.8
bind-interfaces
domain-needed
bogus-priv

e chiudere la configurazione (Esc, :w (Enter), :q (Enter)).

5. Riavviare il Raspberry Pi.

sudo reboot

Successivamente, è necessario riaprire la connessione SSH.

6. Ora si inoltra la connessione Internet dal Wi-Fi alla porta Ethernet a cui è collegato il PLC, impostando l'inoltro IPv4. Aprire il file /etc/systcl.conf file:

sudo vi /etc/sysctl.conf

Decommentare la seguente riga rimuovendo il carattere # (riga 28):

net.ipv4.ip_forward=1

Salvare e chiudere il file (Esc, :w (Enter), :q (Enter)).

7. Attivare l'inoltro IP eseguendo il seguente comando:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

8. Ora si installa iptables e si aggiungono le regole del firewall. Eseguire i seguenti comandi uno alla volta:

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

9. Verificare che le modifiche siano state applicate e salvare le regole:

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

Per ricaricare automaticamente queste regole dopo ogni riavvio, modificare il file /etc/rc.local:

sudo vi /etc/rc.local

Incollare la seguente riga prima di exit 0:

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

Salvare e chiudere il file (Esc, :w (Enter), :q (Enter)).

10. Per verificare le impostazioni del firewall, eseguire

route

La tabella di routing dovrebbe presentarsi come segue:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 304 0 0 wlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 304

Ora è possibile verificare nella console SDA se la connessione al Gateway è stata stabilita e se il PLC è connesso.