Mein Internet-Provider 1&1 hatte meinen DSL-Anschluss vor einiger Zeit auf einen DS-Lite-Tunnel umgestellt. Dadurch wurde meinem Anschluss keine IPv4-IP-Adresse mehr zugeteilt und ein im Heimnetz betriebener Rechner ist von außen nicht über das IPv4-Netz erreichbar. (Siehe dazu z.B. hier). Abhilfe würde hier ein 4in6-Tunnel schaffen. Da die 4in6-Tunnel-Anbieter sixXS oder gogo6 ihre Dienste eingestellt haben, scheinen solche Tunnel nicht mehr verfügbar zu sein.
Erstaunlicherweise genügte aber ein Anruf bei der Hotline (+49 721 9600) und mein Anschluss wurde nach wenigen Minuten auf einen vollen DSL-Anschluss mit dynamischer IPv4-Adresse umgestellt.
Unter Internet / My!FRITZ-Konto
muss ein MyFRITZ!-Konto eingerichtet und anschließend die Option MyFRITZ!-Internetzugriff aktiviert werden.
Nun ist die Fritzbox von außen erreichbar.
Die Browser-Verbindung auf die Fritzbox ist über ein Self-Signed-Certificate gesichert; bei jedem ersten Browser-Zugriff gibt es eine Sicherheits-Warnung. Um die Warnung zu Umgehen bietet die Fritzbox die Möglichkeit, ein Certficate von letsencrypt.org zu holen und automatisch alles 60 Tage zu erneuern.
Dazu unter Internet/MyFRITZ-Konto
die Option Zertifikat von letsencrypt.org verwenden
aktivieren.
Da einem privaten DSL-Anschluss meist keine feste IP-Adresse zugeordnet ist und diese sich bei jedem Verbindungsneuaufbau ändern kann, ist es notwendig, meinem Netz über dynDNS einen festen Domain-Namen zuzuweisen ("Dynamic Updates in the Domain Name System (DNS UPDATE)").
Die einfachste Möglichkeit bietet hier gleich die Fritzbox selbst; im Feld Ihre MyFRITZ!-Adresse
wird der generierte Name angezeigt.
Sollte einem die kryptische Domain nicht zusagen, kann man über einen dynDNS-ANbieter eine sprechendere Domain erstellen. (Weitere Unterschiede bzw. Vor- oder Nachteile sind mir nicht bekannt).
Der Anbieter DuckDNS ist kostenlos und man sich ohne einen weiteren Account anlegen und sich merken zu müssen, einfach z.B. mit seiner googlemail-Adresse anmelden.
Nun einfach eine Domain (z.B.
ping <mydomain>.duckdns.org
prüfen.
Damit die geänderten IP-Adressen dem dynDNS-Dienst bekannt gegeben werden, muss in der Fritzbox unter Internet / Freigaben / DynDNS
noch die Update-Url (z.B. https://www.duckdns.org/update?domains=mydomain.duckdns.org&<token=token-von-dyndns>&.ip=&.ipv6=) hinterlegt werden.
Hier findet sich dazu eine kurze Beschreibung.
Damit der Raspberry Pi von außen erreichbar wird, müssen die gewünschten Ports auf der Fritzbox freigegeben und ggf. auf andere Ports weitergeleitet werden. Die wichtigsten Ports sind:
Protokoll | Port (intern) | Port (extern) |
---|---|---|
http | 80 | 80 - Nur kurz für letsencrypt freigeben |
https | 443 | 443 |
ssh | 22 | ändern z.B. 53122 |
vnc | 5900 | ändern z.B. 53123 |
Eine genaue Beschreibung zur Portfreigabe von avm findet sich hier:
Nachdem die Freigabe z.B. für Port 22 aktiviert wurde, ist der Raspberry Pi nun per SSH auch von außen über den dynDNS-Name erreichbar:
ssh -p 53122 [email protected]
Nun wird nginx installiert und als Reverse Proxy konfiguriert.