Kategorien
Technik

Schritt für Schritt Anleitung zum Einrichten des eigenen Mapping Servers

Lesezeit: 7 Minuten

In meinem anderen Beitrag habe ich ja bereits einige Möglichkeiten vorgestellt, wie man trotz eines DS-Lite Anschlusses von aussen auf seine Geräte im Heimnetz zugreifen kann. Hier kommt nun meine Schritt für Schritt Anleitung, um die angesprochene Option 3 umzusetzen. Es soll also konkret darum gehen, wie man seinen eigenen vServer benutzt, um damit und mit Hilfe eines RaspberryPi die Übersetzung von IPv6 zu IPv4 übernimmt. Wer mehr zu den Hintergründen erfahren möchte, der liest am besten auch zuerst den eingangs erwähnten Artikel. Nun aber los.

Was benötigen wir für den eigenen DS-Lite Mapping Server?

Folgende Dinge benötigen wir, damit wir anfangen können:

  • (ca. 70 CHF) Einen RaspberryPi oder ein anderes Gerät auf dem wir Linux installieren können und das eine IPv6 und eine IPv4 Adresse unserem Netzwerk haben kann ( fungiert in unserem Netzwerk als “Annahmestelle” der IPv6 Pakete und wandelt diese dann in IPv4 Pakete für unsere Geräte um)
    • Achtung: Beim kauf des Gerätes sollte man darauf achten mit welcher Geschwindigkeit das Gerät angeschlossen werden kann. Der oben verlinkte RaspberryPi 3 kann maximal mit 100 MBit/s angeschlossen werden. Für 1 GBit/s müsste es dann das etwas teurere neue Modell der vierten Generation sein. Ich selbst benutze Version 3 und bin völlig zufrieden damit.
  • (ca. 3 CHF/Monat) Einen vServer im Internet der sowohl IPv6, als auch IPv4 versteht und auf dem wir auch Linux installieren können. Ich benutze dafür einen vServer von netcup.de und werde auch anhand von diesem zeigen, wie das Setup funktioniert. Es geht aber grundsätzlich auch jeder andere, der die Kriterien erfüllt.

Schritt 1: Setup des RaspberryPi

Zum Setup des RaspberryPi gibt es bereits eine Menge sehr guter Tutorials, von daher möchte ich jetzt hier nicht das Rad neu erfinden. Die Anleitung auf der Internetseite der RaspberryPi Foundation ist bereits sehr gut.

Hier noch ein paar Punkte, die man vielleicht noch beachten sollte:

Sind diese Schritte alle durchgeführt, so gehe ich davon aus der RaspberryPi ist funktionsfähig und am besten via Kabel mit dem Router (in meinem Fall der Salt Fiber Box) verbundene. Jetzt sollte er eine IPv4 und eine IPv6 Adresse innerhalb der Übersicht der Salt Fiber Weboberfläche haben. Übersicht -> verbundene Geräte lässt sich dies erkennen. Kopiert hier schon einmal die IPv6 Adresse in eine Textdatei für später.

ip-adressen-raspberripi
Salt Fiber Router Oberfläche

Nun sind wir erst einmal fertig mit dem Raspberry und kommen später noch einmal zurück.

Schritt 2: Setup des vServers

Zu allererst müssen wir uns für einen vServer bzw. einen Anbieter entscheiden. Da wir ihn für nichts anderes als das Weiterleiten unseres Traffics benutzen reicht hier im Prinzip das kleinste Paket, das wir finden können. Wichtig ist nur A keine Drosselung der Datenübertragung nach einer bestimmten Menge und B eine Anbindung, die schnell genug ist. Dies ist aber meistens gegeben. Wie erwähnt benutze ich hier netcup.de und erstelle euch gerne einen 10% Gutschein, wenn ihr mir schreibt. Jeder andere Anbieter ist aber auch völlig in Ordnung.

Portmapper Server Erstellen

Nachdem ich mich angemeldet habe und meine Zugangsdaten erhalten habe kann ich mich via https://www.servercontrolpanel.de/ im Kontrollbereich einloggen.

netcup-kontrollbereich

Ich habe meinen VPS portmapper genannt, da… nunja er mappt später die Ports. 🙂

Als nächstes kommt man zur Übersichtsseite mit vielen Optionen. Für uns ist hier auf der linken Seite der Reiter Medien relevant. Nach einem klick erhält man eine Übersicht aller möglichen Linux Derivate, die netcup mit wenigen Klicks für uns installieren kann.

Hier wählt ihr die letzte Ubuntu Version 20.04 LTS (Long Term Support). Damit können wir davon ausgehen, dass die neuste Software darauf läuft, falls wir vielleicht auch irgendwann noch einmal etwas anderes damit machen wollen und auch, dass die neusten Sicherheitsfeatures implementiert sind. Wir wollen hier lediglich die minimale Installation mit vorinstalliertem SSH.

auswahl-image-minimal

Dafür im nächsten Bildschirm auch einfach noch einmal auf Minimal klicken und dann im nächsten Bildschirm mit einem Klick auf Eine große Partition für das Betriebssystem,… alles formatieren und dann Ubuntu installieren.

partitionieren

Ist nun alles installiert, so gilt es noch das erstellte Passwort zu notieren. Dieses benötigen wir nun im nächsten Schritt für den Login.

Nun gehen wir Links auf den Reiter Allgemein und sehen dann auf der rechten Seite unten eine Übersicht der IP-Adressen unseres neuen Servers. Hier notieren wir uns nun die IPv4 Adresse. Dies wird unsere neue von außen erreichbare Adresse, über die wir dann unser Heimnetzwerk erreichen.

IPv4-Adresse

Schritt 3: Einrichten des vServers

Nun, da der vServer steht müssen wir ihn nun einrichten, sodass er alle unsere Anfragen an unser Heimnetz weiterleitet.

Dafür loggen wir uns zuerst mittels der IPv4 Adresse, die wir uns zuvor notiert haben via SSH auf dem Server ein. Danach können wir im Prinzip erst einmal auch hier dasselbe Vorgehen wählen, wir es bereits zuvor genutzt haben um den RaspberryPi abzusichern. Hier nochmal der Link. Wichtig ist es nun auch die Firewall einzurichten. Hierfür installieren wir ufw, eine einfachere Variante der meist vorinstallierten Firewall namens iptables. Dies tun wir mit folgenden Befehlen:

sudo apt install ufw

Als nächstes richten wir alle Ports ein, bei denen wir erlauben möchten, dass sie erreichbar sind. In meinem Fall ist das einmal Port 22 (für den ssh login. WICHTIG!) und die Ports 80 und 443. Dafür führen wir folgende Befehle aus.

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

Danach aktivieren wir die Firewall indem wir folgenden Befehl ausführen.

sudo ufw enable

Nach einem Neustart via Weboberfläche von Netcup (Befehl zu finden unter Steuerung) ist die Firewall aktiviert und wir können zu dem wichtigsten Punkt kommen. Der Einrichtung des Mappings.

Mapping auf vServer einrichten

Nachdem der vServer neugestartet ist und wir uns wieder via SSH eingeloggt haben installieren wir die absolut geniale Software 6tunnel mit diesem Befehl:

sudo apt-get install 6tunnel

Nachdem 6tunnel installiert ist Bedarf es nur noch zwei weiteren Zeilen und wir sind fertig auf unserem vServer. Nun müssen wir nämlich 6tunnel noch sagen wo die Pakete denn ankommen, wie es die Pakete verpacken muss und wo sie dann hin weitergeschickt werden müssen. Ich möchte, dass alle Pakete die via IPv4 Anfrage auf Port 80 und 443 ankommen in IPv6 Pakete, verpackt werden sollen und dann auf denselben Ports an meinen RaspberryPi bei mir Zuhause weitergeschickt werden sollen. Dafür brauchen wir nur diese zwei Zeilen.

6tunnel -4 80 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx 80
6tunnel -4 443 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx 443

Damit starten wir 6tunnel und sagen ihm durch das -4 Flag, dass auf der IPv4 Adresse gehorcht werden soll, ob es Anfragen gibt und zwar auf dem Port 80. Der xxxx:xxxx:::::: Teil gibt an, an wen die Pakete dann weitergeleitet werden sollen. Durch die Art und Weise der IP-Adresse ist auch schon direkt klar in welchem Format. Die letzte Zahl gibt an, an welchem Port der Ziel IP-Adresse die Pakete geschickt werden sollen. Das war’s mit dem vServer.

Schritt 4: RaspberryPi fertig einrichten

Nun müssen wir noch die Pakete, die an den RaspberryPi geschickt werden entgegennehmen und an das Ziel z.B. unser NAS weiterleiten. Dafür folgen wir den exakt gleichen Schritten, wie oben bzgl. ufw und 6tunnel. Es gibt nur einen Unterschied. Diesmal geben wir bei 6tunnel den Befehl mit einem -6 als Flag an und wählen als Adresse die IPv4 Adresse des Ziels:


6tunnel -6 80 192.168.2.100 80

6tunnel -6 443 192.168.2.100 443

Ist dies auch eingerichtet, so sind wir auch auf dem RaspberryPi soweit durch und auch schon fertig.

Wir können nun mittels der IPv4 Adresse unseres vServers von aussen auf unser Gerät in unserem internen Netz Zuhause zugreifen. 🙂

Schritt 5: Troubleshooting + Bonus

Es kann noch sein, dass die Einstellungen in der Salt Fiber Box den Zugriff von aussen auf den RaspberriPi verhindern. Ist dies der Fall, dass müssen wir dort noch einige Anpassungen vornehmen. Da die Salt Box, nicht allzu viele Möglichkeiten bietet geht dies auch sehr schnell.

Folgende Einstellungen musste ich vornehmen:

  • Nach dem Login oben Links die Ansicht auf erweitert änden.
  • Dann unter Netzwerk den Reiter ganz rechts, IPv6, auswählen
  • Unter Firewall die Einstellungen auf low setzen
  • Sollte das auch nicht ausreichen, so musste ich noch unter der normalen Firewall die Einstellung unter DMZ auf die IP-Adresse meines RaspberryPi setzen. (Ich bin nicht sicher, warum dies funktioniert, aber bei mir hat es geholfen)
Bonus

Es gibt noch zwei Dinge, die ich einrichten würde, aber jetzt in diesem Artikel nicht beschreiben möchte, um den Rahmen nicht zu sprengen:

  1. Einen DynDns Anbieter oder eine Domainnamen, der auf unsere externe IPv4 Adresse verweist, damit wir nicht überall die IP-Adresse eintragen müssen, sondern einfach einen schönen Domainnamen dafür haben. Falls man durch sein Hosting ohnehin eine Domain hat, dann könnte man auch eine Subdomain nehmen, wie meinnas.xyz.ch oder dergleichen und somit auf die verschiedenen Dienste zugreifen.
  2. Das andere noch etwas hübscher zu Machende ist die Tatsache, dass unsere 6tunnel Einrichtung nach einem Neustart verloren geht. Dafür müssen wir auf dem vServer und dem Raspi jeweils ein kleines bash Skript anlegen und dort die entsprechenden Befehle zur Einrichtung ablegen, sodass sie nach einem Neustart stets ausgeführt werden. Eine kleine Anleitung, wie dies mittels cron funktioniert findet ihr hier: https://www.raspberrypi.org/documentation/linux/usage/cron.md

Fazit:

So, das war es nun. Ich hoffe auch hier konnte dem einen oder anderen geholfen werden und keiner muss bei Salt extra noch die 10 Stutz im Monat aufwenden, um eine statische IPv4 Adresse zu erhalten. Auch ist es für den einen oder anderen sicher angenehmer zu wissen, dass der Traffic zu dem jeweiligen Dienst nur über die eigene Infrastruktur läuft und nicht über die eines externen Anbieters, wenngleich diese Anbieter sicher vertrauenswürdig sind und man nicht so viel Arbeit mit der Einrichtung hat.

Bei Anmerkungen gerne ab in die Kommentare damit. 🙂

Bildquelle: Mind Map Illustration on Iconscout

2 Antworten auf „Schritt für Schritt Anleitung zum Einrichten des eigenen Mapping Servers“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.