Anleitung
VPN unter Linux einrichten
Der Client des Anbieters aus dessen eigenem Repository, die Alternative einer Konfigurationsdatei in den systemeigenen Werkzeugen, das DNS-Detail, durch das unter Linux häufiger als anderswo Daten durchsickern, und die Prüfungen im Terminal. Geschrieben für Ubuntu 26.04 LTS und NetworkManager.
Bevor Sie beginnen
Diese Anleitung nimmt Ihnen die Auswahl nicht ab
Jeder folgende Schritt ist unabhängig vom verwendeten Anbieter gleich, weshalb hier keiner genannt wird. Die Auswahl ist eine separate Aufgabe und erfolgt im Register, wo sie anhand eines veröffentlichten Scores und nicht anhand einer Download-Seite getroffen wird.
Installieren Sie den Client aus dem eigenen Repository des Anbieters und mit dem Signaturschlüssel aus den eigenen Anweisungen des Anbieters. Fügen Sie niemals einen einzeiligen Installationsbefehl aus einem Forum oder Blog in ein Terminal ein: Der Befehl läuft als Root, und Sie wissen nicht, was er abgerufen hat. Ein Paket aus einem signierten Repository kann geprüft werden; ein in eine Shell weitergeleitetes Skript nicht.
Den Client installieren
Unter Linux gibt es zwei Wege, und beide sind legitim. Der eigene Client des Anbieters steht an erster Stelle; er bringt einen Kill-Switch, eine Serverauswahl und die DNS-Verwaltung ohne zusätzlichen Aufwand mit. Eine Konfigurationsdatei in den systemeigenen Werkzeugen ist der zweite Weg; was er kostet, erklärt der Abschnitt am Ende dieser Anleitung.
- Melden Sie sich auf der Website des Anbieters an und öffnen Sie im Kontobereich die Linux-Anweisungen. Dort sind Repository, Schlüssel und Paket angegeben; befolgen Sie diese Angaben und nichts anderes.
- Fügen Sie das Repository und seinen Schlüssel hinzu und installieren Sie anschließend das Paket mit dem Paketmanager der Distribution. Der Schlüssel ermöglicht es dem Paketmanager, ein manipuliertes Paket abzulehnen. Ein ohne ihn hinzugefügtes Repository ist daher eines, dem Sie Ihr Vertrauen entgegengebracht haben.
- Aktivieren Sie den Dienst des Clients, damit er beim Systemstart startet. Ein Client besteht normalerweise aus einem als Root laufenden Daemon und einer Desktop-App, die mit ihm kommuniziert; der Daemon verwaltet den Tunnel, und ein Kill-Switch, der ab dem Systemstart greifen soll, muss ebenfalls ab dem Systemstart laufen.
- Melden Sie sich beim Client an — über die App oder über die Befehlszeile mit dem Token, das Ihnen der Kontobereich gibt — und geben Sie dem Gerät einen Namen, der keine Rückschlüsse auf Sie zulässt.
- Stellen Sie noch keine Verbindung her. Öffnen Sie zuerst die Einstellungen. Zwei der drei folgenden Optionen sind bei den meisten Clients standardmäßig deaktiviert.
Die drei Einstellungen, die Sie prüfen sollten
Die Menüs der Clients unterscheiden sich, die Einstellungen nicht. Zu jeder der drei Einstellungen gibt es einen Eintrag im Glossar, falls der Name Ihnen unbekannt ist.
Der Kill-Switch
Er blockiert den gesamten Datenverkehr, wenn der Tunnel abbricht, statt die Verbindung unbemerkt auf das normale Netzwerk zurückfallen zu lassen. Unter Linux handelt es sich um Firewall-Regeln, die der Client erstellt: Alles außer der Tunnel-Schnittstelle und dem eigenen Endpunkt des Tunnels wird verworfen. Aktivieren Sie ihn und wählen Sie, sofern der Client diese Option anbietet, die dauerhafte Variante oder den Lockdown-Modus, damit die Regeln ab dem Systemstart und nicht nur während einer Verbindung gelten. Wozu der Schalter dient, erfahren Sie auf der eigenen Seite dazu.
DNS innerhalb des Tunnels
Namensabfragen können das Gerät außerhalb des Tunnels verlassen, selbst wenn alles andere innerhalb des Tunnels läuft. Unter Linux passiert dieses Leck besonders häufig, weil der Resolver ein beweglicher Bestandteil ist. Unter Ubuntu ist das systemd-resolved: Jede Schnittstelle hat eigene Resolver, und der Resolver mit der Standardroute für DNS beantwortet alles, was nicht von einer spezifischeren Domain abgedeckt wird. Der Client sollte diese Standardroute über die Tunnel-Schnittstelle auf den Resolver des Anbieters zeigen lassen. Stellen Sie als DNS den eigenen Resolver des Anbieters ein, nicht den eines Dritten; eine weitere Partei, die nur die Abfragen sieht, ist eine Partei mehr. Wie ein Leck entsteht, wird auf der Seite zu DNS-Lecks erklärt.
Das Protokoll
Belassen Sie es beim modernen Standard, solange nichts gestört ist — die Protokollseite führt auf, welche Protokolle aktuell und welche veraltet sind. Wenn der Client eine ältere Option zur Behebung eines Verbindungsproblems anbietet, sollten Sie diesen Kompromiss bewusst eingehen und anschließend rückgängig machen: Das Register kennzeichnet das schwächste Protokoll, das ein Anbieter noch anbietet, und wenn Sie es manuell auswählen, entscheiden Sie sich selbst für diese Kennzeichnung.
Bestätigen, dass die Verbindung tatsächlich funktioniert
Stellen Sie eine Verbindung her und prüfen Sie anschließend, statt es einfach anzunehmen. Drei Prüfungen im Terminal, in dieser Reihenfolge:
- Ihre Adresse hat sich geändert. Rufen Sie mit
curleinen Dienst vom Typ „what is my IP“ auf oder öffnen Sie einen solchen im Browser und bestätigen Sie, dass das Land dem von Ihnen gewählten Exit entspricht.ip route getfür eine öffentliche Adresse sollte die Tunnel-Schnittstelle nennen, nicht die WLAN- oder Ethernet-Schnittstelle. - Die Abfragen laufen innerhalb des Tunnels. Mit
resolvectl status: Die Tunnel-Schnittstelle sollte den Resolver des Anbieters und die DNS-Standardroute führen; der Resolver der physischen Schnittstelle sollte nicht verwendet werden. Ein DNS-Leak-Test im Browser ist eine zweite Prüfung. Zeigt er etwas an, das zu Ihrem Internetanbieter gehört, wurde die DNS-Einstellung nicht übernommen. - Der Kill-Switch tut, was er verspricht. Stoppen Sie bei laufendem Download den Dienst des Clients mit
systemctl stopoder fahren Sie die Tunnel-Schnittstelle mitip link set … downherunter, sodass der Tunnel abbricht, ohne dass der Client dazu aufgefordert wird. Die Übertragung sollte sofort stoppen. Läuft sie weiter, ist der Schalter nur Dekoration.
Die ausführlichere Testreihe und die Frage, was jeder Test zeigen kann und was nicht, finden Sie in der eigenen Anleitung dazu.
Was diese Prüfungen belegen
+Ihr Datenverkehr verlässt das Gerät über den Exit-Server in dem von Ihnen ausgewählten Land
+Der Resolver, der Ihre Abfragen beantwortet, gehört zum Anbieter und befindet sich innerhalb des Tunnels
+Ein abgebrochener Tunnel scheitert geschlossen, statt unbemerkt zurückzufallen
Was sie nicht belegen
−Sie sagen nichts darüber aus, was der Anbieter speichert — das ist eine Frage der Dokumente, beantwortet auf den Seiten zur Speicherdauer
−Sie machen Sie nicht anonym: Ihr Browser und Ihre Anmeldungen bleiben unverändert. Siehe wovor ein VPN Sie nicht schützt
−Ein heute bestandener Test ist kein Versprechen für das nächste Paketupdate oder den nächsten Kernel
Der Weg über die Konfigurationsdatei und was er kostet
Die meisten Anbieter veröffentlichen Konfigurationsdateien für die beiden gängigen Protokolle im Kontobereich. Eine WireGuard-Datei lässt sich über den Verbindungseditor oder mit nmcli connection import in NetworkManager importieren und läuft ebenso unter wg-quick; eine OpenVPN-Datei wird auf dieselbe Weise mit dem OpenVPN-Plugin importiert. Sie erhalten den Tunnel, den systemeigenen Schalter für die Schnittstelle und nichts, was der Anbieter nicht in die Datei geschrieben hat.
Was Ihnen fehlt, ist der übrige Client. Es gibt keinen Kill-Switch, sofern Sie die Firewall-Regeln nicht selbst schreiben; eine in NetworkManager importierte Datei, deren Verbindung abbricht, gibt den Datenverkehr einfach an das normale Netzwerk zurück. Es gibt keine DNS-Verwaltung über die DNS-Zeile in der Datei hinaus, und eine Datei ohne diese Zeile verursacht das Leck, das bei der ersten Fehlersuche geprüft wird. Es gibt keine Serverauswahl: Jede Datei entspricht einem Exit, und für einen anderen Exit benötigen Sie eine andere Datei. Erstellen Sie die Dateien im Kontobereich und halten Sie sie geheim: Eine WireGuard-Datei enthält den privaten Schlüssel, mit dem Sie sich gegenüber dem Anbieter identifizieren.
Dieser Weg eignet sich für einen Server, eine kopflose Maschine oder eine Distribution, die der Client nicht unterstützt. Auf einem Laptop sollten Sie den Client bevorzugen; der von ihm mitgebrachte Schalter ist genau das, was eine Konfigurationsdatei nicht bieten kann.
Wenn es nicht funktioniert
Der Tunnel steht, aber DNS läuft weiterhin über meinen Internetanbieter
Das klassische Linux-Leck. Eine Konfigurationsdatei, die kein DNS festlegt, lässt systemd-resolved weiterhin den Resolver verwenden, den das Netzwerk außerhalb des Tunnels zugewiesen hat. Führen Sie resolvectl status aus: Die Tunnel-Schnittstelle sollte den Resolver des Anbieters aufführen und die Standardroute für DNS führen, gekennzeichnet durch ein Pluszeichen.
Fügen Sie der Konfiguration eine DNS-Zeile hinzu oder legen Sie DNS für die Verbindung in NetworkManager fest und verbinden Sie sich erneut. Der eigene Client des Anbieters erledigt das selbst; das ist einer der Gründe, ihn zu bevorzugen.
Alles funktioniert nicht mehr, wenn der Tunnel abbricht, und das ist ärgerlich
Das ist der Kill-Switch, der seine Aufgabe erfüllt: Ein abgebrochener Tunnel ist eine tote Verbindung und kein stiller Rückfall auf das ungeschützte Netzwerk. Stellen Sie die Verbindung wieder her, statt den Schalter zu deaktivieren.
Wenn der Tunnel in einem Netzwerk häufig und anderswo selten abbricht, wechseln Sie einmal das Protokoll und versuchen Sie einen näher gelegenen Exit. Wenn in diesem Netzwerk kein Protokoll hält, blockiert das Netzwerk VPN-Datenverkehr; an diesem Punkt endet diese Anleitung.
Der Client fragt jedes Mal nach sudo oder einem Passwort
Das Erstellen einer Netzwerkschnittstelle ist ein privilegierter Vorgang. Ein Client, der keinen Hintergrunddienst installiert, muss daher jedes Mal danach fragen. Die meisten installieren einen solchen Dienst — einen als Root laufenden Daemon und eine Desktop-App, die mit ihm kommuniziert —, und die wiederholte Abfrage bedeutet, dass der Dienst nicht läuft oder nicht aktiviert ist.
Prüfen Sie dies mit systemctl status und dem Dienstnamen aus den Anweisungen des Anbieters und aktivieren Sie den Dienst, damit er beim Systemstart startet.
Auf der Testseite werden IPv6-Adressen angezeigt
Der Tunnel führt IPv4, während das Gerät weiterhin eine IPv6-Route außerhalb des Tunnels hat. Alles, was IPv6 bevorzugt, umgeht dadurch das VPN. Anbieter, die IPv6 nicht durch den Tunnel führen, sollten es auf der Schnittstelle deaktivieren; die besseren Clients erledigen das.
Wenn Sie die Verbindung aus einer Datei erstellt haben, deaktivieren Sie IPv6 für die Verbindung in NetworkManager oder schalten Sie es per sysctl ab und testen Sie erneut. Ein Tunnel, der eine zweite Adressfamilie offen lässt, ist nur ein halber Tunnel.
Gleiche Schritte, andere Geräte
Die übrigen Plattformen
Jede Plattform hat eine eigene Anleitung statt eines Tabs auf dieser. Die Schritte weichen voneinander ab, sobald sich das Installationsprogramm öffnet, und eine Seite, die drei Plattformen auf einmal beantwortet, beantwortet keine davon richtig.