Zum Hauptinhalt springen

Raspberry Pi als Gateway vorbereiten

WLAN-Internetverbindung des Raspberry Pi an Ethernet weitergeben​

Info

In diesem Schritt muss der Raspberry Pi über WLAN mit dem Internet verbunden sein und die SPS muss über die Ethernet-Verbindung am Raspberry Pi angeschlossen sein.

Sie konfigurieren den Raspberry Pi nun so, dass er die WLAN-Internetverbindung an Ethernet weitergibt. Führen Sie die folgenden Befehle auf dem Raspberry Pi aus.

1. (Optional) Raspberry Pi aktualisieren:

sudo apt-get update
sudo apt-get upgrade

2. Öffnen Sie zur Konfiguration des DHCP-Clients die Konfigurationsdatei

sudo vi /etc/dhcpcd.conf

und fügen Sie denyinterfaces eth0 am Ende der Datei ein. Schließen Sie die Konfigurationsdatei (Esc, :w (Enter), :q (Enter)).

3. Öffnen Sie anschließend die Netzwerkschnittstellen

sudo vi /etc/network/interfaces

und fügen Sie die folgenden Zeilen am Ende der Datei ein:

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

Schließen Sie die Datei der Netzwerkschnittstellen (Esc, :w (Enter), :q (Enter)).

4. Installieren und konfigurieren Sie den DHCP-Dienst, um jedem Gerät am Ethernet-Port automatisch eine IP-Adresse zuzuweisen. Installieren Sie dnsmasq und legen Sie eine neue Konfiguration an:

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

Fügen Sie der Datei die folgenden Zeilen hinzu

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

und schließen Sie die Konfiguration (Esc, :w (Enter), :q (Enter)).

5. Starten Sie den Raspberry Pi neu.

sudo reboot

Anschließend müssen wir die SSH-Verbindung erneut aufbauen.

6. Nun leiten wir die Internetverbindung vom WLAN an den Ethernet-Port weiter, an dem die SPS angeschlossen ist, indem wir das IPv4-Forwarding aktivieren. Öffnen Sie die Datei /etc/systcl.conf:

sudo vi /etc/sysctl.conf

Entfernen Sie das Kommentarzeichen # vor der folgenden Zeile (Zeile 28):

net.ipv4.ip_forward=1

Speichern und schließen Sie die Datei (Esc, :w (Enter), :q (Enter)).

7. Aktivieren Sie das IP-Forwarding mit dem folgenden Befehl:

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

8. Nun installieren wir iptables und ergänzen Firewall-Regeln. Führen Sie die folgenden Befehle nacheinander aus:

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. Prüfen Sie, ob die Änderungen übernommen wurden, und speichern Sie die Regeln:

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

Damit diese Regeln nach jedem Neustart automatisch geladen werden, bearbeiten Sie die Datei /etc/rc.local:

sudo vi /etc/rc.local

Fügen Sie die folgende Zeile vor exit 0 ein:

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

Speichern und schließen Sie die Datei (Esc, :w (Enter), :q (Enter)).

10. Führen Sie zur Prüfung der Firewall-Einstellungen den folgenden Befehl aus

route

Die Routing-Tabelle sollte wie folgt aussehen:

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

Nun können Sie in der SDA Console prüfen, ob die Verbindung zum Gateway hergestellt wurde und ob die SPS verbunden ist.