Der Einsatz eines Routers hat zur Folge, dass die Rechner dahinter nicht direkt aus dem Internet heraus angesprochen werden können, was unter anderem einen Schutz vor „Angriffen“ aus dem Internet bietet. Daher muss am Router eine Portweiterleitung (oder „Port Forwarding“) eingerichtet werden. Mit einer Port Weiterleitung bestimmt man als welcher Dienst (Port) aus dem Internet an einen bestimmten Rechner weitergeleitet wird.
Portweiterleitung einrichten
Um einen Dienst (Port) des Raspberry Pi vom Internet erreichbar zu machen müssen wir zwei Schritte durchführen:
- Portweiterleitung am Router einrichten
- Eine statische IP-Adresse für den Raspberry Pi vergeben
Das Vorgehen zum Einrichten einer Portweiterleitung hängt natürlich von eurem Router ab, ich beschreibe hier das Vorgehen für eine FritzBox, für viele Geräte gibt es Anleitungen im Netz.
- Browser öffnen und die IP des Routers in die Adresszeile eingeben http://192.168.178.1/ oder http://fritz.box
- Im Menü auf „Internet > Freigaben > Portfreigaben“
In diesem Beispiel erlaube ich es aus dem Internet den Port 3000 (SSH Dienst) an den Port 3000 meines Raspberry Pi weiterzuleiten, eine Tabelle mit oft verwendeten Diensten / Ports findet ihr unten.
Wichtig! Falls ihr Port 443 von extern weiterleiten wollt, dieser ist durch den MyFritz Dienst belegt. Dann müsst ihr VORHER unter Internet > Freigaben > Fritbox Dienste den Port z.b. auf 4443 ändern.
Um eurem Raspberry Pi eine statische IP-Adresse zu vergeben muss die Datei /etc/network/interfaces editiert werdenDas Netzwerk des Raspberry Pi ist im Standard auf DHCP eingestellt,das heist dem Raspberry Pi wird spätestens 24 Stunden eine neue IP-Adresse vom Router zugeteilt. Um nich bei jeder Änderung der RasPi IP-Adresse die Regel für die Weiterleitung aktualisieren zu müssen ist es sinvoll dem RasPi eine feste IP-Adresse zu vergeben. (Die FritzBox bietet die Möglichkeit einen „Hostnamen“ auszuwählen und reagiert damit auf Änderungen der internen IP-Adresse des RasPi. Viele Router unterstützen das nicht und es muss eine feste IP-Adresse eingetragen werden.)
1 |
sudo nano /etc/network/interfaces |
1 2 |
iface eth0 inet dhcp |
1 2 3 4 |
iface eth0 inet static address 192.168.178.111 netmask 255.255.255.0 gateway 192.168.178.1 |
Um vom Raspberry Pi Internet Adressen wie www.google.de erreichen zu können müssen wir noch DNS-Server in die /etc/resolv.conf eintragen, in meinem Fall übernimmt die FritzBox die Verwaltung, daher trage ich die IP-Adresse der Fritzbox ein. Als alternativen Nameserver, falls die FritBox mal Zicken macht verwende ich die 8.8.8.8 (einer von Google).
1 2 |
nameserver 192.168.178.1 nameserver 8.8.8.8 |
Übliche Dienste (Ports)
- Port 21 für FTP (falls ihr FTP nutzen wollt)
- Port 22 für SSH (Für SSH via Putty)
- Port 80 für HTTP (falls ihr einen Webserver betreibt)
- Ports 443 für HTTPs (SSL gesicherter Zugang zum Webserver)
- Port 5901 für VNC (falls ihr euren RasPi über das Internet fernsteuern wollt)