Hoppa till huvudinnehåll

Förbereda en Raspberry Pi för användning som Gateway

Dela Raspberry Pi:ns Wi-Fi-internet till Ethernet​

info

I detta steg måste Raspberry Pi:n vara ansluten till Internet via Wi-Fi och PLC måste vara ansluten till Raspberry Pi:n via Ethernet-anslutningen.

Du kommer nu att konfigurera Raspberry Pi:n så att Wi-Fi-internetanslutningen delas till Ethernet. Kör följande kommandon på Raspberry Pi:n.

1. (Valfritt) Uppdatera Raspberry Pi:n:

sudo apt-get update
sudo apt-get upgrade

2. Öppna konfigurationsfilen för att konfigurera DHCP-klienten

sudo vi /etc/dhcpcd.conf

och klistra in denyinterfaces eth0 i slutet av filen. Stäng konfigurationsfilen (Esc, :w (Enter), :q (Enter)).

3. Öppna därefter nätverksgränssnitten

sudo vi /etc/network/interfaces

och klistra in följande rader i slutet av filen:

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

Stäng filen för nätverksgränssnitt (Esc, :w (Enter), :q (Enter)).

4. Installera och konfigurera DHCP-tjänsten så att IP-adresser automatiskt tilldelas varje enhet på Ethernet-porten. Installera dnsmasq och skapa en ny konfiguration:

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

Lägg till följande rader i filen

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

och stäng konfigurationen (Esc, :w (Enter), :q (Enter)).

5. Starta om Raspberry Pi:n.

sudo reboot

Därefter behöver vi återuppta SSH-anslutningen.

6. Nu vidarebefordrar vi internetanslutningen från Wi-Fi till Ethernet-porten där PLC är ansluten genom att aktivera IPv4-vidarebefordran. Öppna filen /etc/systcl.conf file:

sudo vi /etc/sysctl.conf

Avkommentera följande rad genom att ta bort # (rad 28):

net.ipv4.ip_forward=1

Spara och stäng filen (Esc, :w (Enter), :q (Enter)).

7. Aktivera IP-vidarebefordran genom att köra följande kommando:

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

8. Nu installerar vi iptables och lägger till brandväggsregler. Kör följande kommandon ett i taget:

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. Kontrollera att ändringarna har gjorts och spara reglerna:

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

För att automatiskt läsa in dessa regler igen efter varje omstart, redigera filen /etc/rc.local:

sudo vi /etc/rc.local

Klistra in följande rad före exit 0:

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

Spara och stäng filen (Esc, :w (Enter), :q (Enter)).

10. För att kontrollera brandväggsinställningarna, kör

route

Routingtabellen bör se ut så här:

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

Nu kan du kontrollera i SDA-konsolen om anslutningen till Gateway har upprättats och om PLC är ansluten.