OpenVPN-Tunnel unter Debian-Linux einrichten (Anleitung)

Aus Portunity Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
-
{{VPN2021-todo}}
+
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 (Anleitung)|OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten]]).  
-
Diese Anleitung zeigt Ihnen in wenigen Schritten, wie Sie unter Linux (hier: Debian squeeze 6.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 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.  
+
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.  
= 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.''' 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.  
+
'''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.  
<br>  
<br>  
Zeile 12: Zeile 11:
= Schritt 1: Paket installieren  =
= Schritt 1: Paket installieren  =
-
Loggen Sie sich als "root" an Ihrem Server / Gateway ein und installieren Sie folgendes Debian Paket: "openvpn"
+
Installieren Sie zuerst das OpenVPN-Paket der Distribution:
<source lang="command">apt-get install openvpn</source>  
<source lang="command">apt-get install openvpn</source>  
Zeile 18: Zeile 17:
= Schritt 2: Grundkonfiguration  =
= Schritt 2: Grundkonfiguration  =
-
Nun gibt es das Verzeichnis "/etc/openvpn". wechseln Sie bitte in das Verzeichnis
+
Nun gibt es das Verzeichnis "<code>/etc/openvpn</code>" &ndash; wechseln Sie bitte dort hinein.
-
<source lang="command">cd /etc/openvpn</source>  
+
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.
-
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" )
+
<pre>
 +
cd /etc/openvpn
 +
wget "https://service.portunity.net/downloads/vpn-tunnel/openvpn.tpX.tunneleinwahl.de-udp.ovpn"
 +
</pre>
-
<source lang="command">wget https://service.portunity.net/downloads/vpntunnel-via-v4.tar.gz</source>  
+
Öffnen Sie diese Datei nun mit einem Texteditor und suchen Sie die Zeile
 +
<pre>
 +
#auth-user-pass portunity.login
 +
</pre>
-
Entpacken Sie die Datei mit tar
+
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
-
<source lang="command">tar -xzvf vpntunnel-via-v4.tar.gz</source>  
+
## Zugangsdaten aus einer Datei lesen
 +
auth-user-pass portunity.login
 +
</pre>
-
Öffnen Sie mit Ihrem Lieblingseditor im Verzeichnnis "/etc/openvpn" die Datei "portunity.login" an.
 
-
<source lang="command">vi /etc/openvpn/portunity.login</source>  
+
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:
-
Mit "'''i'''" wechseln Sie im vi-Editor in den Edit Modus!
+
<pre>
 +
tunnelXXXXXX
 +
hochgeheimeskennwort
 +
</pre>
-
Und ändern den Benutzernamen und das Kennwort Anstelle "tunnelXXXXX" geben Sie bitte Ihren OpenVPN-Loginnamen ein. Das "XXXXX" wird hier durch eine Zahl ersetzt. Nicht Ihr ISP-Suite Loginname!
 
-
Mit "'''ESC ESC&nbsp;:wq ENTER'''" speichern und beenden Sie den vi-Editor
+
==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.
 +
*<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)
-
''Nicht in allen OpenVPN-Paketen ist die Möglichkeit einkompiliert, die Zugangsdaten aus einer separaten Datei zu lesen.''
+
= Schritt 3: Starten des Tunnels per SysinitV  =
-
Weitere Einstellmöglichkeiten finden Sie in der Konfig Datei des Portunity Tunnels
+
'''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'''  
-
 
+
-
<source lang="command">vi /etc/openvpn/portunity.conf</source>
+
-
 
+
-
'''Wichtig! Bitte öffnen Sie die Datei portunity.conf und ersetzen in der Zeile "remote &lt;OpenVPN-Server&gt; 1194" das &lt;OpenVPN-Server&gt; durch die im Produkt unter: Konfiguration-&gt;Info-&gt;OpenVPN-Server angegebene Adresse. Und fügen Sie die Zeile "tls-version-min 1.0" an das ende der Konfiguration hinzu.'''
+
-
 
+
-
Jedoch kann es sinnvoll sein folgende Optionen seinen eigenen Bedürfnissen anzupassen:
+
-
 
+
-
*'''auth-user-pass''' um die Logindaten nicht aus einer Datei auslesen zu lassen
+
-
*'''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 per SystemV  =
+
-
 
+
-
'''Wichtig! Dieser Schritt wird nur auf Älteren Systemen benötigt die noch mit SystemV arbeiten. Für Modernere Systeme die mit SystemD arbeiten springen Sie bitte zu Schritt: 5 Starten des Tunnels per systemd'''  
+
<br> Tunnel aktivieren:  
<br> Tunnel aktivieren:  
Zeile 64: Zeile 65:
<source lang="command">/etc/init.d/openvpn start portunity</source>  
<source lang="command">/etc/init.d/openvpn start portunity</source>  
-
Prüfen, ob der OpenVPN Tunnel gestartet wurde  
+
Prüfen, ob der OpenVPN-Tunnel gestartet wurde  
-
<source lang="command">ifconfig</source>  
+
<source lang="command">ip addr show</source>  
-
eth0 ....
+
<pre>
-
+
38: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 1000
-
tun0     Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
+
    link/none
-
        inet Adresse:188.246.4.64  P-z-P:188.246.4.64  Maske:255.255.252.0
+
    inet 188.246.4.X/22 brd 188.246.7.255 scope global tun-pty
-
        UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1440  Metrik:1
+
    inet6 2a02:a00:e00f:ffff::XXX:XXXX/64 scope global
-
        RX packets:50 errors:0 dropped:0 overruns:0 frame:0
+
      valid_lft forever preferred_lft forever
-
        TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
+
</pre>
-
        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.
+
<br> Wenn der Tunnel nicht aufgebaut wurde können Sie diesen manuell ohne Startscript starten, um die Ausgabe live zu verfolgen:
-
<source lang="command">openvpn /etc/openvpn/portunity.conf</source>  
+
<source lang="command">openvpn /etc/openvpn/openvpn.tpX.tunneleinwahl.de-udp.ovpn</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!
-
 
+
-
*Wenn Sie OpenVPN beim Start Ihres Systems automatisch starten lassen haben Sie den Tunnel auch gleichzeitig Bootfest gemacht!
+
= Schritt 4: Stoppen des Tunnels  =
= Schritt 4: Stoppen des Tunnels  =
Zeile 92: Zeile 89:
= Schritt 5: Starten des Tunnels per SystemD  =
= Schritt 5: Starten des Tunnels per SystemD  =
-
Die nachfolgenden schritte werden benötigt, wenn Ihr System mit systemd arbeitet.
+
Die nachfolgenden Schritte werden benötigt, wenn Ihr System mit systemd arbeitet.
-
Nachdem Sie die portunity.conf entsprechend angepasst haben können Sie den Tunnel mit diesem Befehl starten.
+
Nachdem Sie die Konfiguration und die Login-Daten entsprechend angepasst haben können Sie den Tunnel mit diesem Befehl starten:
-
<source lang="command">systemctl start openvpn@portunity</source>  
+
<source lang="command">systemctl start openvpn@openvpn.tpX.tunneleinwahl.de</source>  
-
 
+
-
Danach baut sich der Tunnel auf.
+
Prüfen, ob der OpenVPN Tunnel gestartet wurde
Prüfen, ob der OpenVPN Tunnel gestartet wurde
Zeile 104: Zeile 99:
<source lang="command">ip address show</source>  
<source lang="command">ip address show</source>  
-
2: eth0 ....
+
38: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UNKNOWN qlen 1000
-
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1440 qdisc pfifo_fast state UNKNOWN group default qlen 100
+
     link/none
     link/none
-
     inet TUNNEL-IP brd scope global tun0
+
     inet 188.246.4.X/22 brd 188.246.7.255 scope global tun-pty
-
      valid_lft forever preferred_lft forever
+
    inet6 2a02:a00:e00f:ffff::XX:XXXX/64 scope global
 +
      valid_lft forever preferred_lft forever
 +
 
<br>
<br>
      
      
Die Tunnelverbindung wird mit dem Befehl
Die Tunnelverbindung wird mit dem Befehl
-
<source lang="command">systemctl stop openvpn@portunity</source>
+
<source lang="command">systemctl stop openvpn@openvpn.tpX.tunneleinwahl.de</source>
beendet.
beendet.
-
= Schritt 6: Den Tunnel Bootfest machen =
+
= Schritt 6: Den Tunnel bootfest machen =
Damit sich der Tunnel bei jedem Systemstart automatisch aufbaut, führen Sie bitte diesen Befehl aus:
Damit sich der Tunnel bei jedem Systemstart automatisch aufbaut, führen Sie bitte diesen Befehl aus:
-
<source lang="command">systemctl enable openvpn@portunity</source>
+
<source lang="command">systemctl enable openvpn@openvpn.tpX.tunneleinwahl.de</source>
   
   
Zeile 125: Zeile 121:
Damit sich der Tunnel nicht mehr automatisch bei jedem Systemstart aufbaut
Damit sich der Tunnel nicht mehr automatisch bei jedem Systemstart aufbaut
   
   
-
<source lang="command">systemctl disable openvpn@portunity</source>  
+
<source lang="command">systemctl disable openvpn@openvpn.tpX.tunneleinwahl.de</source>  
Zeile 134: Zeile 130:
*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]])'''  
'''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 16:15, 1. Jun. 2021

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:

Um zusätzlich IPv6 Nutzen zu können folgen Sie bitte anschließend der Anleitung OpenVPN-Tunnel (IPv6) unter Debian-Linux einrichten)

Persönliche Werkzeuge