Zugang zu meinem Nextcloud über Nebula-VPN

Table of Contents

Hintergrund

Eines der letzten übers offene Internet von mir betrieben Services ist Nextcloud.

Aus Gründen der Sicherheit und Zuverlässigkeit plane ich, es ebenfalls nur über ein VPN erreichbar zu machen. Das gewählte VPN ist das ursprünglich von Slack entwickelte Nebula. Dieses VPN bietet sich an, da es sich vollständig selbst betreiben lässt und als Mesh-VPN der Traffic zwischen den Endpunkten direkt geroutet wird. Weiterhin ist feine Beschränkung mittels Firewall-Regeln möglich.

Installation

Linux

  • Installiere das Paket aus den offiziellen Repositories deiner Distribution.
  • Generiere ein Schlüsselpaar mittels des Befehls
nebula-cert keygen -out-key host.key -out-pub host.pub
  • Sende mir den öffentlichen Schlüssel zu.
  • Ich werde dir ein Zertifikat ausstellen und dir die Konfigurationsdatei zuschicken.
  • Platziere alle diese Dateien in /etc/nebula.
  • Aktiviere den Systemservice mit systemctl enable nebula
  • Das VPN sollte nun aktiv sein.

Android

  • Installiere die Nebula App (Playstore Link). Achte darauf, die richtige App zu erwischen (der Publisher sollte Defined Networking sein).
  • Füge ein neues Netzwerk hinzu (oben links).
  • Trage einen beliebigen Namen ein.
  • Trage unter Lighthouses/Hosts den folgenden Eintrag ein:
    • Nebula IP: 100.66.3.254
    • Lighthouse: Toggle auf AN
    • Unter List of public IPs füge folgenden Eintrag ein:
      • IP-Seite: lighthouse.fegies.me
      • PORT: 4242
  • Unter Certificate wird der öffentliche Schlüssel des Gerätes angezeigt. Schicke ihn mir zu.
  • Ich stelle dir ein passendes Zertifikat aus und schicke es dir zusammen mit dem CA-Zertifikat zu.
  • Trage das Geräte-Zertifikat und das CA-Cert in der Konfiguration ein.
  • Das VPN sollte nun funktionsfähig sein.

iOS / Apple

Musst du selber rauskriegen.

Windows

  • Lade das letzte passende Windows-Release von der Entwicklerseite herunter. Für normale Computer sollte es die nebula-windows-amd64.zip Datei sein.
  • Entpacke die Zip.
  • Benenne den Ordner um und gib ihm den Namen nebula.
  • Verschiebe den gerade umbenannten nebula-Ordner nach C:.
  • Öffne ein Powershell-Fenster. Powershell
  • Generiere ein Schlüsselpaar mittels des Kommandos:
C:\nebula\nebula-cert.exe keygen -out-key C:\nebula\host.key -out-pub C:\nebula\host.pub
  • Schicke mir den öffentlichen Teil des Schlüssels (C:\nebula\host.pub) Nach Schüsselgenerierung
  • Ich erstelle dir ein Zertifikat und schicke dir eine Zip mit dem Zertifikat sowie weiteren Konfigurationsdateien.
  • Platziere alle Dateien im Nebula-Ordner C:\nebula.
  • Öffne ein Powershell-Fenster als Administrator.
  • Installiere den Service mit den Befehlen:
C:\nebula\nebula.exe -service install
C:\nebula\nebula.exe -service start

Service installiert

  • Das VPN sollte nun installiert und alle Endpunkte erreichbar sein. Dies kann mittels des Ping-Befehls oder durch das Öffnen nur über das VPN erreichbarer Endpunkte wie das SSO-Portal überprüft werden. VPN works