So richten Sie OpenVPN unter Linux als Client ein
Dieser Artikel zeigt Ihnen, wie Sie OpenVPN unter Linux als Client einrichten und mithilfe der entsprechenden Routinen eine präzise Kontrolle über Ihren Netzwerkverkehr erlangen.

So richten Sie OpenVPN unter Linux als Client ein

In diesem strukturierten und technischen Artikel zeigen wir Ihnen, wie Sie OpenVPN unter Linux als Client einrichten. Dank der Schritt-für-Schritt-Anleitung und der Routenverwaltung können Sie Ihren Datenverkehr besser kontrollieren. Der Artikel enthält außerdem Sicherheitstipps und Hinweise zur Fehlerbehebung für die optimale Nutzung von OpenVPN.
0 Aktien
0
0
0
0

 

Möchten Sie OpenVPN unter Linux als Client installieren und bestimmte Routen über das VPN oder die normale Route leiten?

In dieser praktischen und technischen Schritt-für-Schritt-Anleitung zeigen wir Ihnen, wie Sie OpenVPN als Client auf gängigen Linux-Distributionen konfigurieren. Wir stellen Ihnen Beispieldateien, Skripte zum Starten und Stoppen der Verbindung sowie Methoden zum Split-Tunneling und IP-Bypass zur Verfügung und geben Tipps zur Benutzername-/Passwort-Authentifizierung.

 

Voraussetzungen

Bevor Sie beginnen, stellen Sie bitte sicher, dass Sie Folgendes haben:

  • Linux-System (Ubuntu/Debian/CentOS/Fedora/Alma)
  • Geschlossen OpenVPN Installiert
  • Serverkonfigurationsdatei oder Datei .ovpn Vom VPN-Anbieter
  • Benutzername/Passwort im Falle einer kombinierten Authentifizierung (Benutzername/Passwort + Zertifikat)

 

OpenVPN-Installation

Installationsbefehle für gängige Distributionen:

sudo apt update && sudo apt install openvpn
sudo dnf install openvpn

 

Grundkonfiguration (manuelle Ausführung)

Wenn die Datei client.ovpn Falls ja, verwenden Sie diesen Befehl, um es sofort auszuführen:

sudo openvpn --config client.ovpn

Wenn der Server Benutzername/Passwort verwendet und Sie diese nicht jedes Mal eingeben möchten, erstellen Sie eine Anmeldeinformationsdatei:

sudo tee /etc/openvpn/credentials <<'EOF'
myuser
mypassword
EOF
sudo chmod 600 /etc/openvpn/credentials

In der Datei .ovpn Die folgende Zeile muss vorhanden sein oder hinzugefügt werden:

auth-user-pass /etc/openvpn/credentials

Sicherheitshinweis: Aus auth-nocache Wird verwendet, um zu verhindern, dass OpenVPN das Passwort im Speicher zwischenspeichert:

auth-nocache

 

Standardroutensteuerung: Standardverhalten des Servers

Das Standardverhalten von Routen wird oft vom Server bestimmt:

  • Wenn der Server redirect-gateway def1 Wenn Sie darauf bestehen, wird Ihr gesamter Datenverkehr über das VPN geleitet (vollständiger Tunnel).
  • Um zu verhindern, dass der Server die Standardroute akzeptiert, können Sie Folgendes verwenden: Route-NoPull Verwenden Sie die entsprechende Methode und fügen Sie anschließend die benötigten Routen manuell hinzu.

 

Methode 1 — Nur einige IPs über VPN senden (Split-Tunnel)

Wenn Sie möchten, dass nur bestimmte Adressen über das VPN gesendet werden, verwenden Sie Route-NoPull In der Datei client.ovpn Verwenden und fügen Sie die gewünschten Routen hinzu.

client
dev tun
proto udp
remote vpn.example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun

route-nopull

route 203.0.113.45 255.255.255.255
route 198.51.100.0 255.255.255.0

Erläuterung: Mit Route-NoPull Es werden keine Routen vom Server akzeptiert und Sie sind an die Zeilen gebunden. Route Sie leiten bestimmte Ziele über das VPN.

 

Methode 2 — Der gesamte Datenverkehr wird über VPN geleitet, außer einigen wenigen spezifischen IPs, die den normalen Weg nehmen (Umgehung).

Wenn der Server redirect-gateway def1 Wenn Sie möchten, dass bestimmte Adressen über die Standardroute (Internet) geleitet werden, müssen Sie das Hauptgateway speichern und die Umgehungsrouten neu schreiben.

A) Bewahren Sie das ursprüngliche Gateway vor dem Verbinden auf.

Beispielbefehle zum Abrufen des Standardgateways und -geräts vor der Verbindungsherstellung:

GW=$(ip route show default | awk '/default/ {print $3}')
DEV=$(ip route show default | awk '/default/ {print $5}')

Nach dem Aufstieg tun0Fügen Sie die IPs, die Sie über das Gateway umgehen möchten, erneut hinzu:

sudo ip route add 203.0.113.0/24 via $GW dev $DEV
sudo ip route add 8.8.8.8/32 via $GW dev $DEV

b) Automatisierung mit Auf-/Ab-Skript

In client.ovpn Fügen Sie die folgenden Zeilen hinzu, um die Skripte auszuführen:

script-security 2
up /etc/openvpn/client-up.sh
down /etc/openvpn/client-down.sh

Beispiel /etc/openvpn/client-up.sh:

#!/bin/bash
echo "$(ip route show default | awk '/default/ {print $3, $5}')" > /var/run/openvpn.origgw
GW=$(awk '{print $1}' /var/run/openvpn.origgw)
DEV=$(awk '{print $2}' /var/run/openvpn.origgw)
ip route add 8.8.8.8/32 via $GW dev $DEV
ip route add 203.0.113.45/32 via $GW dev $DEV
exit 0

Beispiel /etc/openvpn/client-down.sh:

#!/bin/bash
GW=$(awk '{print $1}' /var/run/openvpn.origgw)
DEV=$(awk '{print $2}' /var/run/openvpn.origgw)
ip route del 8.8.8.8/32 via $GW dev $DEV || true
ip route del 203.0.113.45/32 via $GW dev $DEV || true
rm -f /var/run/openvpn.origgw
exit 0

Vergessen Sie nicht, die Skripte auszuführen:

sudo chmod +x /etc/openvpn/client-up.sh /etc/openvpn/client-down.sh

 

Methode 3 – Richtlinienbasiertes Routing

Mithilfe von richtlinienbasiertem Routing können Sie quellspezifischen Datenverkehr durch das VPN leiten.

echo "200 vpnroute" | sudo tee -a /etc/iproute2/rt_tables
sudo ip rule add from 10.0.0.5/32 lookup vpnroute
sudo ip route add default dev tun0 table vpnroute

Um Informationen zu finden tun0 Und virtuelles Gateway:

ip -4 addr show dev tun0
ip route show dev tun0

 

Verbindung mit systemd (Autostart)

Für Konfigurationsdateien im Pfad /etc/openvpn/client/ Sie können die systemd-Unit ausführen:

sudo systemctl start openvpn-client@client
sudo systemctl enable openvpn-client@client
sudo journalctl -u openvpn-client@client -f

 

DNS- und Namensauflösungsprobleme

Wenn DNS vom Server übertragen wird, benötigen einige Distributionen ein Skript. update-resolv-conf oder Abstimmung mit systemd-aufgelöst Du hast.

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

In Systemen, die systemd-aufgelöst Sie erfordern möglicherweise zusätzliche Konfigurationen.

 

Vollständiges client.ovpn-Beispiel (Beispiel)

client
dev tun
proto udp
remote vpn.example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256

auth-user-pass /etc/openvpn/credentials
auth-nocache
route-nopull

route 203.0.113.45 255.255.255.255
route 198.51.100.0 255.255.255.0

script-security 2
up /etc/openvpn/client-up.sh
down /etc/openvpn/client-down.sh

 

Sicherheits- und Betriebstipps

  • Erstellen Sie die Anmeldeinformationsdatei mit chmod 600 Schützen.
  • Aus dem Kundenzertifikat und tls-auth/tls-crypt Dient zur Verhinderung einfacher DoS-Angriffe.
  • Aus auth-nocache Dient dazu, das Zwischenspeichern des Passworts im Speicher zu vermeiden.
  • Halten Sie OpenVPN auf dem neuesten Stand und verwenden Sie moderne Verschlüsselungs-/Hash-Algorithmen wie z. B. AES-256-GCM Oder CHACHA20 Verwenden.
  • Überwachen Sie die Protokolle und verwenden Sie systemd mit logrotate, um die Protokolle zu rotieren.

Für Umgebungen, die eine möglichst geringe Latenz erfordern (z. B. Händler/Gamer), sollten Sie nahe beieinander liegende Standorte oder Split-Tunneling nutzen, um nur die Dienste zu routen, die Sie benötigen, um Ping und Stabilität aufrechtzuerhalten.

 

Häufige Fehler beheben

  • Verbindung konnte nicht hergestellt werden: Überprüfen Sie Port und Protokoll in der Firewall (ufw/iptables/Sicherheitsgruppe).
  • DNS funktioniert nicht: von update-resolv-conf Oder manuelle Einstellung /etc/resolv.conf Verwenden.
  • Routen wurden nicht hinzugefügt: Stellen Sie sicher script-security 2 Es ist aktiviert und die Skripte sind ausführbar.
  • Nach einem Verbindungsabbruch: Der Server hat wahrscheinlich die Standardroute weitergeleitet; verwenden Sie die Methoden Bypass oder Route-NoPull.

 

Vergleich von Anwendungen und Tipps für verschiedene Nutzertypen

  • Händler: Wichtig sind Ping und Stabilität; daher sollten nahe beieinander liegende Standorte genutzt und, wenn möglich, Split-Tunneling nur zur Verbindung mit dem Handelsserver verwendet werden.
  • Gamer: Der Spieldatenverkehr sollte im Allgemeinen den kürzesten Weg nehmen; ein vollständiger Tunnel kann den Ping erhöhen, daher sollte nur der Spielserver oder ein Server in der Nähe verwendet werden.
  • Website-Administratoren/DevOps: Es wird empfohlen, den OpenVPN-Client auf Servern mit systemd auszuführen und für bestimmte Dienste richtlinienbasiertes Routing zu verwenden.
  • KI/Rendering: Für große Datenübertragungen eignen sich Server mit vollständigem Tunnel und hoher Bandbreite besser.

 

Zusammenfassung und Schlussfolgerung

Um den OpenVPN-Client unter Linux auszuführen, benötigen Sie normalerweise die Datei .ovpn Zusätzlich Auth-Benutzer-Passwort Und falls nötig Route-NoPull Dies ist für Split-Tunnel ausreichend. Um während eines vollständigen Tunnels bestimmte IPs zu umgehen, speichern Sie das vorherige Gateway und fügen Sie die entsprechenden Routen hinzu. Für komplexere Abläufe verwenden Sie richtlinienbasiertes Routing.

Das könnte Ihnen auch gefallen
Amazon S3 Cloud-Speicher

Was ist Amazon S3? Ein Expertenbericht über Amazons Cloud-Speicherdienst.

In der heutigen Technologiewelt werden ständig riesige Datenmengen generiert und übertragen. Unternehmen, Entwickler und Nutzer benötigen eine zuverlässige, skalierbare und jederzeit verfügbare Plattform. Amazon S3 (Simple Storage Service) ist in diesem Zusammenhang ein beliebter AWS-Service, der das Speichern und Verwalten von Daten vereinfacht und sicherer macht.