Zuletzt aktualisiert am 2. November 2021.
Ich benötige für das eine oder andere Projekt, wie z.B. einen Webserver, einen Mailserver oder auch einige Storage-Nodes an meinem Anschluss mehrere IPv4 Adressen mit jeweils einem eigenen /24 Netz.
Eine Lösung (die man auch für DSLite und LTE-Anschlüsse nutzen kann), ist das Nutzen eines VPN-Tunnels.
Ich zeige dir hier, wie du in wenigen Schritten eine Lubuntu VM (z.B. auf deinem Synology NAS) aufsetzen und als VPN-Client einrichten kannst, der dann die Verbindung an dein Netzwerk weiterleitet.
Wieso Lubuntu?
Lubuntu ist eine Linux-Distribution, die Ubuntu sehr ähnelt, sich aber auf die wichtigsten Dienste beschränkt und auf ressourcenfressende Grafikeffekte verzichtet. Daher arbeitet Lubuntu sehr effizient und benötigt wenige Ressourcen.
Ich nutze Ubuntu in einer VM mit einem CPU-Core, 1GB RAM und 20GB Festplattenspeicher. Ich nutze zudem IMMER die LTS-Versionen, da hier eine lange Unterstützung und Versorgung mit Sicherheitspatches gewährleistet ist.
Installation von Lubuntu auf einem Synology NAS
- Lubuntu-Image herunterladen
- Virtuelle Maschine im VMM einrichten (Es reicht 1 Core, 1GB Ram, 20GB HDD)
- Lubuntu installieren
Achtung: Unbedingt die Energieeinstellungen und vor allem den Screensaver anpassen (ausschalten), sonst raubt dieser dem Synology NAS alle Leistung ;).
Installation der benötigten OpenVPN-Pakete – Oder: Einen VPN Client unter Lubuntu installieren
Ich nutze für den Aufbau eines Tunnels immer OpenVPN. OpenVPN ist weit verbreitet und wird von fast allen Providern unterstützt. Zudem ist es vergleichsweise sicher und bietet eine Vielzahl an Konfigurationsmöglichkeiten. Außerdem handelt es sich bei OpenVPN um Opensource-Sorftware.
OpenVPN selbst installieren
Mit folgendem Kommando auf der Konsole (QTerminal) installieren wir OpenVPN:
sudo apt-get install openvpn
Ein kleines GUI zur Verwaltung/Einstellung: Einen grafischen openVPN-Client installieren
Natürlich kann man nun relativ einfach über die Konsole einen VPN-Tunnel konfigurieren und starten. Aber es gibt leichtgewichtige GUIs, die uns den einen oder anderen Befehl abnehmen und somit verhindern, dass ich a) das eine oder andere Kommando mit der Zeit vergesse und b) den einen oder anderen Leser her vielleicht überfordere.
Daher installieren wir mit folgendem Befehl ein GUI:
sudo apt-get install network-manager-openvpn network-manager-openvpn-gnome
Zugangsdaten herunterladen/besorgen
Als nächstes benötigen wir die Zugangsdaten zu dem bestehenden VPN-Dienst.
Ich nutze in meinem Fall feste-ip.net.
VPN-Verbindung einrichten
Um die VPN-Verbindung einzurichten, rufen wir nun das Startmenü auf und wählen “Einstellungen” -> “Advanced Network Configuration”.
Es öffnet nun eine Auflistung mit den Netzwerkverbindungen des Computers (siehe Bild 2).
Es öffnet nun eine Auflistung mit den Netzwerkverbindungen des Computers (siehe Bild 2). Wir klicken auf das “+”, um eine neue Verbindung zu erstellen.
Dort wählen wir “Import saved VPN configuration” (Siehe Bild 3) und klicken auf “Create”.
Wir müssen nun eine “.ovpn”-Konfigurationsdatei auswählen. Diese erhalten wir in der Regel von dem jeweiligen VPN-Provider.
Anschließend füllen wir noch das Passwort aus und klicken auf “save”:
Wir sehen nun: Die neue VPN-Verbindung ist eingerichtet (Bild 6).
Jetzt können wir über die Taskleiste mit eine Klick auf die Netzwerkverbindung(en) den Verbindungsaufbau starten. Nach kurzer Zeit erhalten wir die Bestätigung:
Eine kurze Überprüfung, ob der Tunnel auch funktioniert können wir anstellen, indem wir einmal den Browser öffnen und z.B. über wieistmeineip.de überprüfen, mit welcher IP man unterwegs ist.
Tipp: VPN automatisch verbinden
Für unseren Anwendungszweck ist es nun natürlich sinnvoll, wenn sich die VM direkt nach jedem Start mit dem VPN verbindet.
Zum Glück ist das ganz problemlos über eine simple Einstellung möglich.
Die Einstellung findet sich im Verbindungsmanager, aber nicht bei der VPN-Verbindung, sondern bei der Kabelverbindung. Einfach die Verbindung anwählen, auf das Zahnrad für “Einstellungen” klicken und dann in den “General”-Tab wechseln. Dort “Automatically connect to VPN” anhaken und unsere soeben eingerichtete VPN-Verbindung auswählen. Fertig, nach jedem Neustart verbindet sich die VM nun automatisch mit dem VPN.
Docker installieren und TCP-Proxy installieren
Halt, was? Wieso Docker?
Docker möchte ich nutzen, um den Traffic der VPN-Verbindung, die wir bereits eingerichtet haben, weiterzuleiten an den Host, der die eigentlichen Dienste bereitstellt und der die statische IP nutzen soll.
Dazu nutze ich Docker und ein Image, das einen kleinen TCP-Proxy bereitstellt.
Hier habe ich beschrieben, wie du Docker auf Lubuntu/Ubuntu installieren und verwenden kannst.
Nachdem nun Docker installiert ist, müssen wir den TCP-Proxy als Image vom Docker-Hub herunterladen:
sudo docker pull hpello/tcp-proxy
TCP-Proxy starten
Anmerkung: Sollten deine Dienste UDP nutzen, so ist diese Lösung nicht geeignet, da der TCP-Proxy, wie der Name schon sagt, nur TCP-Pakete weiterleiten kann.
Die Nutzung des Proxy ist einfach, mit folgendem Befehl können wir ihn starten:
sudo docker run -it --rm -p 1234:8080 hpello/tcp-proxy my.new.host 8080
Auch hier ist es natürlich sinnvoll, den Container nach jedem Systemstart neu zu starten:
sudo docker run -it --restart=always -p 1234:8080 hpello/tcp-proxy my.new.host 8080
In der Praxis sähe das dann z.B. so aus:
sudo docker run -it --rm -p 28989:28989 hpello/tcp-proxy 192.168.172.77 28989
Fertig!
Schreibe eine Antwort