OpenVPN-Tunnel unter Debian-Linux einrichten (Anleitung)

Aus Portunity Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Paket installieren)
(Der Versionsvergleich bezieht 26 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
-
Diese Anleitung zeigt Ihnen in wenigen Schritten, wie Sie unter Linux (hier: Debian lenny 5.0) einen OpenVPN - Tunnel mit einer statischen IP-Adresse (IPv4) einrichten (Bitte beachten Sie das in den Distributions Paketen meistens noch keine IPv6 Routing möglich ist. Um zusätzlich IPv6 Nutzen zu können folgen Sie bitte anschließend der Anleitung [[OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten (Anleitung)|OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten]]).  
+
Diese Anleitung zeigt Ihnen in wenigen Schritten, wie Sie unter Linux (hier: Debian) einen OpenVPN-Tunnel mit einer statischen IP-Adresse einrichten.
 +
Diese Anleitung sollte auch mit anderen Debian-Derivaten (wie z.B. Ubuntu oder Mint) funktionieren. Auf vielen anderen Linux-Distributionen (wie z.b. OpenSUSE oder Fedora) ist die Vorgehensweise ähnlich.
-
= Wichtiger Hinweis zu Firewalls =
+
= 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 Ihr Router ICMP-Pakete verwirft.'''
+
'''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.  
-
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.
+
 +
<br>
-
= Schritt 1: Paket installieren  =
+
== Statische Routen und Firewall-Freigaben ==
 +
Falls Sie statische Routen setzen oder die Verbindung zum Tunnelserver in Ihrer Firewall freischalten müssen, beachten Sie bitte [[Firewall-Freigaben und statische Routen für Tunnel-Aufbau|die hier aufgeführten Informationen zu IP-Netzen und Protokollen]].
-
Loggen Sie sich als "root" an Ihrem Server / Gateway ein und installieren Sie folgendes Debian Paket: "openvpn"
+
= Paket installieren  =
-
<source lang="command">apt-get install openvpn</source>
+
Installieren Sie zuerst das OpenVPN-Paket der Distribution:
-
= Schritt 2: Grundkonfiguration  =
+
<source lang="command">apt install openvpn</source>
-
Nun gibt es das Verzeichnis "/etc/openvpn". wechseln Sie bitte in das Verzeichnis
+
= Grundkonfiguration  =
-
<source lang="command">cd /etc/openvpn</source>  
+
Nun gibt es das Verzeichnis "<code>/etc/openvpn</code>" &ndash; wechseln Sie bitte dort hinein.
-
und laden sich z.B. per wget die OpenVPN Konfigurationsdateien und Schlüssen herunter. Den entsprechend Link könne Sie aus in der ISP-Suite entnehmen (am besten mit "Rechtsklick=&gt;Link Adresse kopieren" )
+
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 <code>openvpn.tpX.tunneleinwahl.de-udp.ovpn</code> bezeichnen - verwenden Sie stattdessen den Namen der Datei, der Ihnen im Kundencenter zum Download angeboten wird.
-
<source lang="command">wget https://service.portunity.net/downloads/vpntunnel.tar.gz</source>  
+
<pre>
 +
cd /etc/openvpn
 +
wget "https://service.portunity.net/downloads/vpn-tunnel/openvpn.tpX.tunneleinwahl.de-udp.ovpn"
 +
</pre>
-
Entpacken Sie die Datei mit tar
+
Öffnen Sie diese Datei nun mit einem Texteditor und suchen Sie die Zeile
 +
<pre>
 +
#auth-user-pass portunity.login
 +
</pre>
-
<source lang="command">tar -xzvf vpntunnel.tar.gz</source>  
+
und entfernen Sie die führende Raute vor dieser Zeile, um sie zu aktivieren.
 +
Ein paar Zeilen darüber finden Sie die Zeile "<code>auth-user-pass</code>" - diese muss mit einer vorangestellten Raute auskommentiert und damit deaktiviert werden.<br>
 +
Die Datei sollte dann (auszugsweise) so aussehen:
 +
<pre>
 +
## Zugangsdaten abfragen und nicht aus einer Datei lesen
 +
#auth-user-pass
-
Öffnen Sie mit Ihrem Lieblingseditor im Verzeichnnis "/etc/openvpn" die Datei "portunity.login" an.
+
## Zugangsdaten aus einer Datei lesen
 +
auth-user-pass portunity.login
 +
</pre>
-
<source lang="command">vi /etc/openvpn/portunity.login</source>
 
-
Mit "'''i'''" wechseln Sie im vi-Editor in den Edit Modus!
+
Legen Sie nun mit einem Texteditor die Datei <code>portunity.login</code> an. Tragen Sie darin in die erste Zeile den Benutzernamen Ihres Tunnels ("<code>tunnelXXXXXX</code>") ein, in die zweite Zeile das Kennwort des Tunnelzugangs.
 +
Die Datei sollte dann beispielhaft so aussehen:
-
Und ändern den Benutzernamen und das Kennwort Anstelle "vpn-pty-openvpn-XXXXX" geben Sie bitte Ihren OpenVPN-Loginnamen ein. Das "XXXXX" wird hier durch eine Zahl ersetzt. Nicht Ihr ISP-Suite Loginname!
+
<pre>
 +
tunnelXXXXXX
 +
hochgeheimeskennwort
 +
</pre>
-
Mit "'''ESC ESC&nbsp;:wq ENTER'''" speichern und beenden Sie den vi-Editor
 
-
''Da es immer sicherheitskritisch ist Passwört und Benutzernamen zu speichern, ist nicht in allen OpenVPN Paketen die Möglichkeit einkompiliert die Zugangsdaten aus einer separaten Datei zu lesen. Es kann also vorkommen das Sie OpenVPN selber übersetzen müssen!''
+
==Weitere Anpassungen (optional)==
 +
*<code>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.
 +
*<code>user nobody</code> bzw. <code>group nobody</code>: Hiermit wird erreicht, dass der Tunnel-Prozess als unpriviligierter Nutzer läuft. Auf den meisten Distributionen sind User und Gruppe "nobody" vorhanden &ndash; falls nicht, muss das hier angepasst werden.
 +
*<code>verb</code>: 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)
-
Weitere Einstellmöglichkeiten finden Sie in der Konfig Datei des Portunity Tunnels
+
= Den Tunnel bootfest machen =
-
<source lang="command">vi /etc/openvpn/portunity.conf</source>
+
Damit sich der Tunnel bei jedem Systemstart automatisch aufbaut, können Sie einen Eintrag in der Crontab-Datei anlegen. Führen Sie hierzu den folgenden Befehl als root aus:
-
Es sollen eigentlich nicht nötig sein Einstellungen in dieser Datei zu ändern. Jedoch kann es sinnvoll sein folgende Optionen seinen eigenen Bedürfnissen anzupassen:
+
<source lang="command">crontab -e</source>
-
*'''auth-user-pass''' um die Logindaten nicht aus einer Datei auslesen zu lassen
+
Fügen Sie die folgende Zeile am Ende der Datei ein:
-
*'''redirect-gateway''' damit der Tunnel nicht das Default Gateway wird einfach kommentieren oder löschen
+
-
*'''user nobody''' Den Tunnel nach dem Aufbau alle Rechte entziehen
+
-
*'''group nogroup''' bei anderen Distributionen kann diese gruppe '''nobody''' heisen.
+
-
*'''verb''' Um mehr Debug Informationen zu erhalten (Empfehlung von 3 auf 7 erhöhen)
+
-
 
+
-
= Schritt 3: Starten des Tunnels  =
+
-
 
+
-
Tunnel aktivieren:
+
-
 
+
-
<source lang="command">/etc/init.d/openvpn start portunity</source>
+
-
 
+
-
Prüfen, ob der OpenVPN Tunnel gestartet wurde <source lang="command">ifconfig</source>
+
-
 
+
-
eth0 ....
+
   
   
-
tun0    Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
+
<code>@reboot sleep 20 && /usr/sbin/openvpn /etc/openvpn/openvpn.tpX.tunneleinwahl.de-udp.conf</code>
-
        inet Adresse:188.246.4.64  P-z-P:188.246.4.64  Maske:255.255.252.0
+
-
        UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1440  Metrik:1
+
-
        RX packets:50 errors:0 dropped:0 overruns:0 frame:0
+
-
        TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
+
-
        Kollisionen:0 Sendewarteschlangenlänge:100
+
-
        RX bytes:3777 (3.6 KiB)  TX bytes:7946 (7.7 KiB)
+
-
<br> Wenn der Tunnel nicht aufgebaut wurde können Sie diesen manuell ohne Startscript Starten.
+
Speichern Sie anschließend die Datei und schließen Sie den Editor.
-
 
+
-
<source lang="command">openvpn /etc/openvpn/portunity.conf</source>
+
-
 
+
-
Dann erhalten Sie die ausgaben von OpenVPN direkt ausgegeben.
+
-
 
+
-
*Wenn Sie OpenVPN beim Start Ihres Systems automatisch starten lassen haben Sie den Tunnel auch gleichzeitig Bootfest gemacht!
+
-
 
+
-
= Schritt 4: Stopen des Tunnels  =
+
-
 
+
-
<source lang="command">/etc/init.d/openvpn start portunity</source>
+
= Abschließende Hinweise  =
= Abschließende Hinweise  =
-
Wegen der Komplexität gehen wir in diesem Artikel nicht auch Dinge ein wie:  
+
Wegen der Komplexität sind wir in diesem Artikel nicht auf die folgenden Themen eingegangen:
-
 
+
*IP-Netz routen  
*IP-Netz routen  
*Dienste an die neue statische IP binden  
*Dienste an die neue statische IP binden  
-
*PBR (Policy Based Routing)
+
*[[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 (Anleitung)|OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten]])'''
+
-
 
+
-
Schauen Sie bitte in die entsprechenden FAQ Artikel, oder falls noch nicht vorhanden sprechen Sie uns bitte an: Supportmöglichkeiten
+
-
[[Category:Access]][[Category:Access_Anleitungen]][[Category:OpenVPN_(Übersicht)]][[Category:VPN-Tunnel (Tarif)]]
+
[[Category:Access]] [[Category:Access_Anleitungen]] [[Category:OpenVPN_(Übersicht)]] [[Category:VPN-Tunnel_(Tarif)]]

Version vom 07:56, 27. Apr. 2022

Diese Anleitung zeigt Ihnen in wenigen Schritten, wie Sie unter Linux (hier: Debian) einen OpenVPN-Tunnel mit einer statischen IP-Adresse einrichten.

Diese Anleitung sollte auch mit anderen Debian-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.


Statische Routen und Firewall-Freigaben

Falls Sie statische Routen setzen oder die Verbindung zum Tunnelserver in Ihrer Firewall freischalten müssen, beachten Sie bitte die hier aufgeführten Informationen zu IP-Netzen und Protokollen.

Paket installieren

Installieren Sie zuerst das OpenVPN-Paket der Distribution:

apt install openvpn

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)

  • redirect-gateway: 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)

Den Tunnel bootfest machen

Damit sich der Tunnel bei jedem Systemstart automatisch aufbaut, können Sie einen Eintrag in der Crontab-Datei anlegen. Führen Sie hierzu den folgenden Befehl als root aus:

crontab -e

Fügen Sie die folgende Zeile am Ende der Datei ein:

@reboot sleep 20 && /usr/sbin/openvpn /etc/openvpn/openvpn.tpX.tunneleinwahl.de-udp.conf

Speichern Sie anschließend die Datei und schließen Sie den Editor.

Abschließende Hinweise

Wegen der Komplexität sind wir in diesem Artikel nicht auf die folgenden Themen eingegangen:

Persönliche Werkzeuge