Raspberry Pi als Gateway vorbereiten
WLAN-Internetverbindung des Raspberry Pi an Ethernet weitergeben
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.