Einen eigenen VPN Server einrichten Sie mit WireGuard auf einem vServer in etwa einer halben Stunde. Danach laufen Ihre Verbindungen aus dem Hotel-WLAN oder dem Café verschlüsselt über Ihren Server, Sie erreichen interne Dienste ohne offene Ports und haben eine feste IP-Adresse, die Sie bei Kunden oder in Firewalls freischalten lassen können. Anonym macht Sie ein eigener VPN-Server aber nicht. Der Server ist auf Sie gemietet, und jede Website sieht seine Adresse.
Das Wichtigste in Kürze
- Mit WireGuard auf einem vServer haben Sie in einer halben Stunde Ihr eigenes VPN.
- Nutzen: sicheres Surfen in fremden WLANs, Zugang zu internen Diensten, feste IP-Adresse.
- Jedes Gerät bekommt ein eigenes Schlüsselpaar, offen ist nur Port 51820 über UDP.
- Anonym macht ein eigener Server nicht, er ist auf Sie gemietet.
Wofür ein eigener VPN-Server gut ist
- Sicheres Surfen in fremden Netzen: Im öffentlichen WLAN kann der Betreiber oder ein anderer Gast nicht mitlesen, welche Seiten Sie aufrufen.
- Zugang zu internen Diensten: Datenbanken, Admin-Oberflächen oder ein Monitoring sind nur über das VPN erreichbar und nicht offen im Internet.
- Feste Adresse: Ein Kunde gibt den Zugang zu seinem System nur für eine IP-Adresse frei. Mit dem VPN arbeiten Sie von überall mit dieser Adresse.
- Verbindung mehrerer Standorte: Büro, Homeoffice und Server hängen in einem gemeinsamen privaten Netz.
Wer dagegen für Streaming aus anderen Ländern einen VPN Server einrichten will oder seine Identität verbergen möchte, ist mit einem eigenen Server schlecht beraten. Dafür sind kommerzielle Dienste mit vielen Nutzern pro Adresse gedacht.
Warum WireGuard
Zum VPN Server einrichten gibt es mehrere Programme. WireGuard ist seit Version 5.6 fester Bestandteil des Linux-Kernels. Es ist schnell, braucht wenig Rechenleistung und kommt mit wenigen Zeilen Konfiguration aus. Jedes Gerät hat ein Schlüsselpaar, ähnlich wie bei SSH. Wer den passenden Schlüssel nicht hat, bekommt vom Server nicht einmal eine Antwort, der Port wirkt von außen geschlossen.
OpenVPN ist die ältere Alternative. Es ist flexibler, etwa bei Benutzerkonten mit Passwort und bei Verbindungen über TCP durch strenge Firmen-Firewalls, aber aufwendiger einzurichten und langsamer. Für den eigenen Bedarf ist WireGuard die einfachere Wahl. Eine kurze Einführung bietet der Schnellstart von WireGuard.
Voraussetzungen, um den VPN Server einrichten zu können
- ein vServer mit KVM und einem aktuellen Debian oder Ubuntu, 512 MB Arbeitsspeicher reichen
- Root-Zugang per SSH
- eine Firewall, im Beispiel ufw
- die WireGuard-App auf Ihren Geräten, für Windows, macOS, Android und iOS kostenlos
Auf alten vServern mit OpenVZ läuft WireGuard oft nicht, weil der Kernel dort nicht Ihnen gehört. Woran Sie den Unterschied erkennen, erklärt der Vergleich KVM und OpenVZ.
VPN Server einrichten, Schritt 1: WireGuard und Schlüssel
sudo apt update
sudo apt install wireguard iptables qrencode
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee handy.key | wg pubkey > handy.pub
Der Befehl umask 077 sorgt dafür, dass nur Root die Schlüsseldateien lesen kann. Sie haben jetzt zwei Schlüsselpaare: eines für den Server und eines für das erste Gerät. Den Inhalt einer Datei zeigt sudo cat server.pub. Für jedes weitere Gerät erzeugen Sie ein eigenes Paar, verwenden Sie Schlüssel nie doppelt.
Schritt 2: Den Server konfigurieren
Finden Sie zuerst heraus, wie die Netzwerkschnittstelle Ihres Servers heißt. Der Befehl ip route show default zeigt sie hinter dev, meist eth0 oder ens3. Legen Sie dann die Datei /etc/wireguard/wg0.conf an und setzen Sie die Schlüssel aus Schritt 1 ein:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = INHALT_VON_server.key
PostUp = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
[Peer]
# Handy
PublicKey = INHALT_VON_handy.pub
AllowedIPs = 10.8.0.2/32
Der Server bekommt im VPN die Adresse 10.8.0.1, das Handy die 10.8.0.2. Die Zeilen mit PostUp und PostDown sorgen dafür, dass Anfragen der Geräte ins Internet die Adresse des Servers tragen. Ersetzen Sie eth0, falls Ihre Schnittstelle anders heißt.
Schritt 3: Weiterleitung und Firewall
Linux leitet Pakete zwischen Netzen nur weiter, wenn Sie es erlauben. Schalten Sie das dauerhaft ein:
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
Dann öffnen Sie den Port von WireGuard und erlauben die Weiterleitung aus dem VPN ins Internet:
sudo ufw allow 51820/udp
sudo ufw route allow in on wg0 out on eth0
Der Port ist UDP, nicht TCP. Ein häufiger Fehler ist eine Regel für TCP, dann kommt keine Verbindung zustande. Wie ufw Regeln verarbeitet, erklärt der Ratgeber zur Firewall-Konfiguration.
Schritt 4: VPN starten
sudo systemctl enable --now wg-quick@wg0
sudo wg show
Der erste Befehl startet das VPN und sorgt dafür, dass es nach jedem Neustart wieder läuft. Der zweite zeigt den Status. Solange sich noch kein Gerät verbunden hat, fehlt beim Peer die Zeile „latest handshake“.
Schritt 5: Geräte verbinden
Für das Handy legen Sie eine Datei handy.conf an. Sie enthält den privaten Schlüssel des Handys und den öffentlichen des Servers:
[Interface]
PrivateKey = INHALT_VON_handy.key
Address = 10.8.0.2/32
DNS = 9.9.9.9
[Peer]
PublicKey = INHALT_VON_server.pub
Endpoint = IP_IHRES_SERVERS:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Mit qrencode -t ansiutf8 < handy.conf erscheint im Terminal ein QR-Code. Scannen Sie ihn mit der WireGuard-App, und das Profil ist eingerichtet. Am Laptop importieren Sie die Datei direkt in die App. Löschen Sie danach handy.key und handy.conf vom Server, der private Schlüssel des Geräts gehört nur auf das Gerät.
Schalten Sie das VPN ein und rufen Sie eine Seite auf, die Ihre IP-Adresse anzeigt. Dort sollte jetzt die Adresse Ihres Servers stehen. Auf dem Server zeigt sudo wg show einen aktuellen Handshake.
Alles oder nur interne Dienste durch den Tunnel
Die Zeile AllowedIPs beim Gerät entscheidet, welcher Verkehr durch das VPN geht. Mit 0.0.0.0/0 läuft alles über den Server, das ist richtig für fremde WLANs. Wollen Sie nur Ihre internen Dienste erreichen und sonst normal surfen, tragen Sie nur das VPN-Netz ein, also 10.8.0.0/24. Das nennt man Split Tunnel.
Ihr Server hat eine IPv6-Adresse und Sie wollen auch IPv6 durch den Tunnel schicken? Dann braucht das VPN zusätzlich ein eigenes IPv6-Netz und eine passende Regel. Für den Anfang reicht IPv4. Fügen Sie beim Gerät zusätzlich ::/0 zu AllowedIPs hinzu, dann geht IPv6-Verkehr nicht am Tunnel vorbei, sondern wird blockiert.
Weitere Geräte und Pflege
Einen VPN Server einrichten heißt auch, ihn zu pflegen. Für jedes neue Gerät erzeugen Sie ein Schlüsselpaar, vergeben die nächste Adresse wie 10.8.0.3 und ergänzen einen weiteren Block [Peer] in der wg0.conf. Danach übernehmen Sie die Änderung mit sudo systemctl reload wg-quick@wg0, ohne dass bestehende Verbindungen abbrechen. Ein restart geht auch, trennt aber kurz alle Geräte. Geht ein Gerät verloren, löschen Sie seinen Block, und es kommt nicht mehr hinein.
Wer viele Geräte verwaltet oder eine Oberfläche bevorzugt, kann WireGuard auch mit wg-easy in einem Container betreiben, wie im Ratgeber zu Docker auf dem vServer beschrieben. Den Kernel und die Pakete halten Sie wie gewohnt mit Updates aktuell.
Den VPN-Server selbst absichern
Wer einen VPN Server einrichten will, muss ihn auch schützen. Der Server ist der Zugang zu allem, was dahinter liegt. Behandeln Sie ihn entsprechend:
- SSH nur mit Schlüssel und, wenn möglich, nur noch aus dem VPN erreichbar, sobald es zuverlässig läuft. Behalten Sie dafür die Konsole im Kundenmenü als Notzugang.
- Automatische Sicherheitsupdates für Kernel und Pakete, wie im Ratgeber zu automatischen Updates beschrieben.
- Keine weiteren Dienste auf demselben Server, die offen im Internet stehen. Je weniger dort läuft, desto kleiner die Angriffsfläche.
- Kill-Switch auf den Geräten: Die WireGuard-Apps für Windows und macOS können allen Verkehr blockieren, solange der Tunnel nicht steht. Unter Android heißt das „Immer aktives VPN“ und „Verbindungen ohne VPN blockieren“ in den Systemeinstellungen.
Einfachere Alternative: VPN über den Router
Nicht jeder muss selbst einen VPN Server einrichten. Geht es Ihnen nur darum, von unterwegs ins eigene Heimnetz oder ins Büro zu kommen, brauchen Sie oft gar keinen vServer. Viele Router bringen WireGuard inzwischen selbst mit, bei der FRITZ!Box zum Beispiel seit FRITZ!OS 7.50. Dort legen Sie im Menü eine VPN-Verbindung an und scannen den QR-Code mit der App. Der Verkehr läuft dann über Ihren eigenen Anschluss. Ein vServer ist die bessere Wahl, wenn Sie eine feste Adresse brauchen, Ihr Anschluss keine öffentlich erreichbare Adresse hat oder mehrere Standorte verbunden werden sollen.
Wenn die Verbindung nach dem VPN Server einrichten nicht klappt
- Kein Handshake: Port 51820 über UDP in der Firewall und beim Anbieter freigegeben? Manche Anbieter haben eine zusätzliche Firewall im Kundenmenü.
- Handshake, aber keine Websites: Weiterleitung nicht aktiv oder falscher Name der Schnittstelle in
PostUp. - Schlüssel vertauscht: Beim Gerät steht der öffentliche Schlüssel des Servers, beim Server der öffentliche des Geräts. Private Schlüssel stehen immer nur in der eigenen Datei.
- Verbindung bricht im Mobilnetz ab:
PersistentKeepalive = 25beim Gerät hält die Verbindung offen.
Mehr Anregungen, was Sie außer einem VPN auf einem vServer betreiben können, sammelt der Überblick der vServer Anwendungsfälle.
Häufig gestellte Fragen
Ist ein eigener VPN Server legal?
Ja. Einen VPN Server einrichten und für sich selbst nutzen ist erlaubt. Was Sie über das VPN tun, wird aber Ihrem Server zugeordnet, und der ist auf Sie gemietet.
Wie schnell ist WireGuard auf einem kleinen vServer?
Schon ein kleiner Server mit einem Kern schafft meist mehrere hundert Megabit pro Sekunde. Häufiger begrenzt die Anbindung des Servers oder Ihr eigener Anschluss.
Wie viel Traffic verbraucht ein VPN?
So viel, wie Sie darüber übertragen, plus wenige Prozent für die Verschlüsselung. Prüfen Sie, ob Ihr Tarif ein Limit für den Traffic hat.
Kann ich das VPN auch für mehrere Personen nutzen?
Ja, jede Person bekommt ein eigenes Schlüsselpaar und eine eigene Adresse. So können Sie einzelne Zugänge jederzeit entziehen.
Warum zeigt meine IP-Adresse noch den alten Anschluss?
Dann geht der Verkehr nicht durch den Tunnel. Prüfen Sie, ob AllowedIPs beim Gerät auf 0.0.0.0/0 steht und das VPN in der App wirklich aktiv ist.
VPN Server einrichten in einer halben Stunde
Installieren Sie WireGuard, erzeugen Sie für jedes Gerät ein eigenes Schlüsselpaar, schalten Sie die Weiterleitung ein und öffnen Sie nur Port 51820 über UDP. Prüfen Sie zum Schluss mit wg show, ob der Handshake klappt.