Ubuntu Server, Debian, Raspberry Pi und Orange Pi · amd64, arm64 und armhf · v3.0.2-5
Mach einen Rechner, der zu Hause eingeschaltet bleibt —einen VPS, einen Ubuntu Server, einen Raspberry Pi oder einen Orange Pi— zu deinem VPN-Server. Ein Bildschirm ist nicht nötig: Installation und Verwaltung erfolgen im Terminal, auch per SSH, mit dem Befehl mivpn.
Die erste Zeile fügt den Schlüssel hinzu, mit dem wir unsere Pakete signieren, die zweite das Repository, die letzten beiden installieren MiVPN Server. Das ist nur einmal nötig: Danach kommen die Updates mit denen des restlichen Systems.
curl -fsSL https://mivpn.net/apt/mivpn.gpg | sudo tee /usr/share/keyrings/mivpn.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/mivpn.gpg] https://mivpn.net/apt stable main" | sudo tee /etc/apt/sources.list.d/mivpn.list
sudo apt update
sudo apt install mivpn-server
Lade das Paket für deine Architektur herunter:
amd64Intel/AMD-PCs, Server und VPS arm64Raspberry Pi und Orange Pi mit 64-Bit-System armhfRaspberry Pi mit 32-Bit-SystemDu kennst deine Architektur nicht? Führe aus dpkg --print-architecture
Und installiere es aus dem Ordner, in den du es heruntergeladen hast:
sudo apt install ./mivpn-server_*.deb
Gib die E-Mail-Adresse deines mivpn.net-Kontos ein; danach wird dein Passwort abgefragt. Es dient nur dieser einen Anmeldung und wird nicht auf dem Rechner gespeichert.
sudo mivpn setup -e du@beispiel.de
Startet den VPN-Server und den Agenten, der ihn mit mivpn.net verbunden hält, und trägt beide in den Systemstart ein: Nach einem Neustart oder Stromausfall läuft der Server von selbst wieder.
sudo mivpn enable
mivpn status zeigt dasselbe wie die Desktop-App. So sieht ein laufender Server aus:
$ sudo mivpn status
MiVPN Server raspberrypi (aarch64)
Cuenta tu@correo.com · servidor "Casa"
Servicios tunel activo · upnp activo · notify activo · arranque con el sistema: si
Servidor en marcha
mivpn.net conectado (estado y ordenes)
Red Ethernet 1000 Mbps
Puerto UDP 51820 · abierto en el router
IP publica 203.0.113.25 · local 192.168.1.40
Clientes 1 de 2 conectados
movil conectado 10.8.0.2 ahora
portatil desconectado 10.8.0.3 hace 2 h
Alles geschieht mit dem Befehl mivpn. Befehle, die den Server verändern, brauchen sudo.
sudo mivpn setup -e …Verknüpft den Rechner mit deinem Konto und richtet den Server ein.
Wann: beim ersten Mal oder um einen Server von einem anderen Rechner hierher umzuziehen.
sudo mivpn enableStartet den Server und lässt ihn bei jedem Einschalten von selbst starten.
Wann: direkt nach setup.
sudo mivpn disableDer Server startet beim Einschalten nicht mehr. Läuft er gerade, bleibt er an, bis du ihn stoppst.
Wann: wenn du selbst entscheiden willst, wann er läuft.
sudo mivpn statusWie alles steht: Server, Verbindung zu mivpn.net, Netz, Port, IP und Clients.
Wann: immer, wenn du wissen willst, ob der Server läuft.
sudo mivpn logs -fDas Server-Protokoll, live. Ohne -f die letzten Zeilen.
Wann: wenn etwas nicht funktioniert und du sehen willst, was los ist.
sudo mivpn stopStoppt den Server vollständig: VPN-Server, Agent und Relay.
Wann: wenn sich eine Zeit lang niemand verbinden soll.
sudo mivpn startStartet einen gestoppten Server wieder.
Wann: nach stop.
sudo mivpn restartStoppt den Server und startet ihn neu.
Wann: wenn du am Netz oder Router etwas geändert hast.
sudo mivpn unlinkTrennt den Rechner von deinem Konto und räumt ihn auf: stoppt den Server, gibt Router- und Relay-Port frei und löscht Zugangsdaten und Clients. Fragt nach deinem Passwort.
Wann: wenn dieser Rechner nicht mehr dein Server sein soll, vor dem Deinstallieren oder Verkaufen.
mivpn --versionDie installierte Version von MiVPN Server.
mivpn status -hDie Hilfe zu jedem Befehl: Ersetze status durch den gewünschten.
-e, --emailDie E-Mail-Adresse deines mivpn.net-Kontos.
--password-stdinLiest das Passwort von der Standardeingabe, für Skripte.
--replaceZieht den Server ohne Nachfrage von einem anderen Rechner hierher um.
-y, --yesFragt nicht nach Bestätigungen.
--port 51820UDP-Port des Servers. Ohne Angabe 51820.
--no-relayPrüft das Netz nicht und aktiviert kein Relay.
Um auf mehreren Rechnern oder per Skript (Ansible, cloud-init…) zu installieren, übergib das Passwort über die Standardeingabe und überspringe die Bestätigungen:
printf '%s\n' "$MIVPN_PASSWORD" | sudo mivpn setup -e du@beispiel.de --password-stdin -y
sudo mivpn enable
Installiere MiVPN Server auf dem neuen Rechner und verknüpfe ihn mit --replace. Der alte Rechner hört von selbst auf, sobald mivpn.net ihm Bescheid gibt. Deine Clients müssen ihre Konfiguration neu herunterladen; die MiVPN-App macht das automatisch.
sudo mivpn setup -e du@beispiel.de --replace
sudo mivpn enable
Neue Versionen kommen über das Repository, wie beim restlichen System. Beim Aktualisieren startet der Server mit der neuen Version von selbst neu.
sudo apt update && sudo apt upgrade
Trenne zuerst den Rechner von deinem Konto und deinstalliere dann das Paket.
sudo mivpn unlink
sudo apt remove mivpn-server
Beim Deinstallieren wird alles gestoppt, und Zugangsdaten, Clients und der von MiVPN angelegte WireGuard-Server werden gelöscht. Ohne unlink bleibt der Rechner in deinem Konto, bis du den Server auf einen anderen umziehst.
Schlüssel und Status des Servers darf nur der Administrator lesen. Verwende sudo mivpn status.
Dein Router öffnet Ports nicht automatisch. Aktiviere UPnP in seinen Einstellungen und führe sudo mivpn restart aus. Lässt deine Verbindung keine eingehenden Verbindungen zu (CGNAT), brauchst du einen Tarif mit Relay: Der Server geht dann über das MiVPN-Relay, ohne den Router anzufassen.
Der Agent erreicht mivpn.net nicht. Prüfe, ob der Rechner Internet hat, und sieh mit sudo mivpn logs -f nach, was los ist.
Dein MiVPN-Server läuft schon auf einem anderen Rechner. Zieh ihn mit sudo mivpn setup -e … --replace hierher um oder trenne zuerst den anderen mit sudo mivpn unlink.
Mit dem Rechnerwechsel ändern sich die Schlüssel des Servers: Jeder Client muss seine Konfiguration neu von mivpn.net oder aus der MiVPN-App laden.
Nein: Ein Rechner kann nur einmal Server sein. mivpn-server und mivpn-server-desktop schließen sich aus; apt entfernt das eine, wenn du das andere installierst.