Einführung
Dieses Tutorial zeigt, wie Qrvpn auf einem Rocky-Linux-VPS mit Docker bereitgestellt wird und wie man sich von einem Windows-Client damit verbindet.
Qrvpn wird von VentoByte entwickelt, dem Team hinter Proxifier.
Qrvpn basiert auf dem branchenführenden WireGuard-VPN-Protokoll. Es bietet optimale Performance und eine moderne Ende-zu-Ende-Verschlüsselung für Daten während der Übertragung. Es werden keine Daten gespeichert.
Voraussetzungen
Bevor du beginnst, benötigst du:
- Einen VPS mit Rocky Linux 10
root- odersudo-Zugriff- Eine öffentliche IPv4-Adresse
Wie Qrvpn funktioniert
Dieser Abschnitt erklärt, warum Qrvpn keine offenen Ports benötigt.
Architektur auf hoher Ebene
Qrvpn verwendet ein reines Outbound-Verbindungsmodell in Kombination mit NAT-Traversal und verschlüsselten Relays.
Weder der Server noch der Client lauschen jemals auf eingehende Verbindungen.
Wichtige Details:
- Der Datenverkehr bleibt Ende-zu-Ende verschlüsselt.
- Das Relay kann keine Nutzdaten einsehen.
- Keine offenen Ports erforderlich.
Verbindungsablauf
| Server-Registrierung |
Wenn der Qrvpn-Server startet:
Da die Verbindung ausgehend ist, funktioniert sie auch hinter NAT und Firewalls. Das bedeutet:
|
| Client-Authentifizierung |
Wenn sich ein Client verbindet:
Auch hier ist kein eingehender Traffic erforderlich. |
| NAT-Traversal (Direkter Tunnel) |
Qrvpn versucht, einen direkten Peer-to-Peer-Tunnel mittels NAT-Traversal-Techniken (ähnlich WebRTC) aufzubauen: Wenn dies erfolgreich ist:
|
Schritt 1 - Docker auf Rocky Linux installieren
Ich habe eine Rocky Linux 10-VPS-Instanz bei der Hetzner Cloud gekauft.
Du musst Docker auf deiner Rocky--Linux-Instanz installieren.
Falls du eine andere Linux-Distribution verwendest, folge den Anweisungen auf der offiziellen Docker-Website.
# System aktualisieren
dnf -y update
# Nützliche Pakete installieren
dnf -y install \
epel-release \
bash-completion
# Linux-Instanz neu starten
reboot# Docker-Repository hinzufügen
dnf config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# Docker Engine installieren
dnf -y install \
docker-ce \
docker-ce-cli \
containerd.io \
docker-compose-plugin
# Docker-Dienst aktivieren und starten
systemctl --now enable docker
# Installation überprüfen
docker versionSchritt 2 - Docker-Image bauen
Nach der Installation von Docker müssen wir unser Docker-Image erstellen. Wie du vielleicht weißt, sind Docker-Images unveränderlich, das heißt, sie können nach der Erstellung nicht mehr modifiziert werden.
# Projektverzeichnis erstellen
mkdir /etc/qrvpn
# In das Verzeichnis wechseln
cd /etc/qrvpn
# Dockerfile mit vim erstellen
vi DockerfileDies ist unsere Dockerfile-Konfigurationsdatei mit den Anweisungen, wie Docker das Image bauen soll.
Dockerfile
# Rocky Linux als Basis-Image verwenden
FROM rockylinux/rockylinux:10
# Qrvpn-Laufzeitumgebung
ENV PATH=$PATH:/etc/qr
WORKDIR /etc/qr
RUN \
curl -O "https://get.qrvpn.com/qrvpn.tgz" && \
tar -zxvf qrvpn.tgz && \
rm -rf qrvpn.tgz
# Startpunkt des Images festlegen
ENTRYPOINT ["sh", "-c", "qrvpn $QR_MODE $QR_SERVER_NAME $QR_PASSWORD $QR_INSTANCE_ID"]Nun bauen wir das neue Image.
# Build
docker build --rm -t qrvpn:1.0 --file Dockerfile ./
# Docker-Images auf dem System anzeigen
docker image list --allSchritt 3 - Docker-Container starten
Du musst 4 Umgebungsvariablen angeben, um Qrvpn zu starten.
# QR_MODE --> "server" oder "client"
# QR_SERVER_NAME --> eine zufällige Zeichenkette
# QR_PASSWORD --> Server-Passwort
# QR_INSTANCE_ID --> eine 6-stellige Zahl# Container starten
docker run -d \
--name=c_qrvpn \
--restart always \
--cap-add NET_ADMIN \
--device /dev/net/tun \
--sysctl net.ipv4.conf.all.src_valid_mark=1 \
-e QR_MODE=server \
-e QR_SERVER_NAME=my_server \
-e QR_PASSWORD=strong_password \
-e QR_INSTANCE_ID=333999 \
qrvpn:1.0# Logs prüfen
docker logs c_qrvpnWenn du eine Fehlermeldung wie unten siehst, ändere den QR_SERVER_NAME.
# [E] Server with this name already exists.Wenn der Server erfolgreich läuft, solltest du eine ähnliche Ausgabe sehen:
# [M] Initialization started
# [M] VPN interface opened tun0
# [M] VPN interface initialized
# [M] Server readySchritt 4 - Verbindung von Windows herstellen
Schritt 4.1 - Qrvpn-Client herunterladen
Lade den Windows-Client von der offiziellen Qrvpn-Website herunter.
Schritt 4.2 - Client-Bereich
-
Öffne den Qrvpn-Client.
-
Überprüfe mit einem Webbrowser, ob sich deine öffentliche IP-Adresse geändert hat (z.B. unter ip.hetzner.com).
Ergebnis
Du hast Qrvpn erfolgreich auf einem Rocky-Linux-VPS mit Docker bereitgestellt und einen Windows-Client verbunden.
Dieses Setup ist leichtgewichtig, reproduzierbar und einfach zu warten - ideal für den persönlichen Gebrauch oder kleine Teams.