OpenVPN-Tunnel unter Debian-Linux einrichten (Anleitung)
Aus Portunity Wiki
Diese Anleitung zeigt Ihnen in wenigen Schritten, wie Sie unter Linux (hier: Debian) einen OpenVPN-Tunnel mit einer statischen IP-Adresse (IPv4) einrichten Für vollständige IPv6-Konfiguration folgen Sie bitte anschließend der Anleitung OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten).
Diese Anleitung sollte auch mit anderen Debian-Versionen oder Derivaten (wie z.B. Ubuntu oder Mint) funktionieren. Auf vielen anderen Linux-Distributionen (wie z.b. OpenSUSE oder Fedora) ist die Vorgehensweise ähnlich.
Inhaltsverzeichnis |
Wichtiger Hinweis zu Firewalls
Sollte die OpenVPN-Verbindung nicht aufgebaut werden können oder immer wieder nach kurzer Zeit zusammenbrechen, prüfen Sie bitte ob Ihre Firewall ICMP-Pakete verwirft. Diese sollten Sie zumindest von und zu unserem Tunnelserver akzeptieren, um einen störungsfreien Betrieb zu gewährleisten. ICMP ist mehr als "nur Ping" und wird vielmehr auch genutzt, um die MTU der Gegenstelle zu erfragen oder herauszufinden ob ein Port bereits genutzt wird. Im Zusammenhang mit Tunnelprotokollen ist es daher wirklich wichtig, dass diese Informationen übermittelt werden können.
Schritt 1: Paket installieren
Installieren Sie zuerst das OpenVPN-Paket der Distribution:
apt-get install openvpn
Schritt 2: Grundkonfiguration
Nun gibt es das Verzeichnis "/etc/openvpn
" – wechseln Sie bitte dort hinein.
Laden Sie nun bitte die Konfigurationsdatei für Ihren Tunneltarif herunter - den Link dazu finden Sie im Kundencenter. Im weiteren Verlauf werden wir die Datei mit openvpn.tpX.tunneleinwahl.de-udp.ovpn
bezeichnen - verwenden Sie stattdessen den Namen der Datei, der Ihnen im Kundencenter zum Download angeboten wird.
cd /etc/openvpn wget "https://service.portunity.net/downloads/vpn-tunnel/openvpn.tpX.tunneleinwahl.de-udp.ovpn"
Öffnen Sie diese Datei nun mit einem Texteditor und suchen Sie die Zeile
#auth-user-pass portunity.login
und entfernen Sie die führende Raute vor dieser Zeile, um sie zu aktivieren.
Ein paar Zeilen darüber finden Sie die Zeile "auth-user-pass
" - diese muss mit einer vorangestellten Raute auskommentiert und damit deaktiviert werden.
Die Datei sollte dann (auszugsweise) so aussehen:
## Zugangsdaten abfragen und nicht aus einer Datei lesen #auth-user-pass ## Zugangsdaten aus einer Datei lesen auth-user-pass portunity.login
Legen Sie nun mit einem Texteditor die Datei portunity.login
an. Tragen Sie darin in die erste Zeile den Benutzernamen Ihres Tunnels ("tunnelXXXXXX
") ein, in die zweite Zeile das Kennwort des Tunnelzugangs.
Die Datei sollte dann beispielhaft so aussehen:
tunnelXXXXXX hochgeheimeskennwort
Weitere Anpassungen (optional)
- <ode>redirect-gateway</code>: Dies ist standardmäßig aktiviert und sorgt dafür, dass der Tunnel als Standardgateway gesetzt wird. Wenn dies nicht gewünscht wird, muss diese Zeile auskommentiert werden und stattdessen mit PBR (Policy Based Routing) gearbeitet werden.
user nobody
bzw.group nobody
: Hiermit wird erreicht, dass der Tunnel-Prozess als unpriviligierter Nutzer läuft. Auf den meisten Distributionen sind User und Gruppe "nobody" vorhanden – falls nicht, muss das hier angepasst werden.verb
: Im Falle von Problemen kann hiermit die "verbosity", also das Level der Ausführlichkeit von Log-Meldungen erhöht werden. Je höher die Ziffer, desto mehr Informationen gibt es (maximaler Wert: 7)
Schritt 3: Starten des Tunnels per SysinitV
Wichtig! Dieser Schritt wird nur auf älteren Systemen benötigt die noch mit SysinitV arbeiten. Für moderne Systeme die mit SystemD arbeiten springen Sie bitte zu Schritt: 5 Starten des Tunnels per systemd
Tunnel aktivieren:
/etc/init.d/openvpn start portunity
Prüfen, ob der OpenVPN-Tunnel gestartet wurde
ip addr show
38: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 1000 link/none inet 188.246.4.X/22 brd 188.246.7.255 scope global tun-pty inet6 2a02:a00:e00f:ffff::XXX:XXXX/64 scope global valid_lft forever preferred_lft forever
Wenn der Tunnel nicht aufgebaut wurde können Sie diesen manuell ohne Startscript starten, um die Ausgabe live zu verfolgen:
openvpn /etc/openvpn/openvpn.tpX.tunneleinwahl.de-udp.ovpn
- Wenn Sie OpenVPN beim Start Ihres Systems automatisch starten lassen haben Sie den Tunnel auch gleichzeitig bootfest gemacht!
Schritt 4: Stoppen des Tunnels
/etc/init.d/openvpn stop portunity
Schritt 5: Starten des Tunnels per SystemD
Die nachfolgenden Schritte werden benötigt, wenn Ihr System mit systemd arbeitet.
Nachdem Sie die Konfiguration und die Login-Daten entsprechend angepasst haben können Sie den Tunnel mit diesem Befehl starten:
systemctl start openvpn@openvpn.tpX.tunneleinwahl.de
Prüfen, ob der OpenVPN Tunnel gestartet wurde
ip address show
38: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 1000
link/none inet 188.246.4.X/22 brd 188.246.7.255 scope global tun-pty inet6 2a02:a00:e00f:ffff::XX:XXXX/64 scope global valid_lft forever preferred_lft forever
Die Tunnelverbindung wird mit dem Befehl
systemctl stop openvpn@openvpn.tpX.tunneleinwahl.de
beendet.
Schritt 6: Den Tunnel bootfest machen
Damit sich der Tunnel bei jedem Systemstart automatisch aufbaut, führen Sie bitte diesen Befehl aus:
systemctl enable openvpn@openvpn.tpX.tunneleinwahl.de
Damit sich der Tunnel nicht mehr automatisch bei jedem Systemstart aufbaut
systemctl disable openvpn@openvpn.tpX.tunneleinwahl.de
Abschließende Hinweise
Wegen der Komplexität gehen wir in diesem Artikel nicht auch Dinge ein wie:
- IP-Netz routen
- Dienste an die neue statische IP binden
- PBR (Policy Based Routing)
Um zusätzlich IPv6 Nutzen zu können folgen Sie bitte anschließend der Anleitung OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten)