OpenVPN-Tunnel (IPv4) auf einem OpenWRT Router einrichten (Anleitung)
Aus Portunity Wiki
Zeile 57: | Zeile 57: | ||
= Schritt 3: Starten des Tunnels = | = Schritt 3: Starten des Tunnels = | ||
- | Zum ersten Test können sie den Tunnel Manuell Starten: | + | Zum ersten Test können sie den Tunnel Manuell Starten: |
<source lang="command">openvpn /etc/openvpn/portunity.conf &</source> | <source lang="command">openvpn /etc/openvpn/portunity.conf &</source> | ||
Zeile 66: | Zeile 66: | ||
tun_pty Link encap:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 | tun_pty Link encap:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 | ||
- | + | 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> Sie sollten OpenWRT noch so einrichten das der Tunnel bei Starten automatisch aufgebaut wird. Hierfür können Sie im Verzeichnis /etc/init.d/ ein Startscript anlegen: | + | <br> Sie sollten OpenWRT noch so einrichten das der Tunnel bei Starten automatisch aufgebaut wird. Hierfür können Sie im Verzeichnis /etc/init.d/ ein Startscript anlegen: |
- | <source lang="command">/etc/init.d/pty | + | <source lang="command">cat << EOF > /etc/init.d/pty |
+ | #!/bin/sh /etc/rc.common | ||
+ | # OpenVPN init script | ||
+ | # Copyright (C) 2008 Jo-Philipp Wich | ||
+ | # This is free software, licensed under the GNU General Public License v2. | ||
+ | # See /LICENSE for more information. | ||
+ | |||
+ | START=42 | ||
+ | BIN=/usr/sbin/openvpn | ||
+ | SSD=start-stop-daemon | ||
+ | |||
+ | LIST_SEP=" | ||
+ | " | ||
+ | |||
+ | start() { | ||
+ | openvpn --daemon --config "/etc/openvpn/portunity.conf" --writepid "/var/run/openvpn.pty.pid" --cd "/etc/openvpn" --log "/var/log/openvpn.log" | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | killall openvpn | ||
+ | } | ||
+ | |||
+ | reload() { | ||
+ | restart | ||
+ | } | ||
+ | |||
+ | restart() { | ||
+ | stop; sleep 5; start | ||
+ | } | ||
+ | EOF</source> | ||
<br> | <br> | ||
- | *Wenn der Tunnel nicht aufgebaut wurde können Sie diesen manuell ohne Startscript Starten. | + | |
+ | *Wenn der Tunnel nicht aufgebaut wurde können Sie diesen manuell ohne Startscript Starten. | ||
= Schritt 4: Einrichten der Firewall = | = Schritt 4: Einrichten der Firewall = |
Version vom 13:23, 18. Apr. 2012
Achtung diese Anleitung befindet sich noch im Beta Stadium!
Diese Anleitung zeigt Ihnen, wie Sie unter OpenWRT (hier auf: ASUS WL-500g Premium) einen OpenVPN - Tunnel mit einer statischen IP-Adresse (IPv4) einrichten. Um zusätzlich IPv6 Nutzen zu können folgen Sie bitte anschließend der Anleitung OpenVPN-Tunnel (IPv6) unter OpenWRT einrichten.
Inhaltsverzeichnis |
Version
OpenWRT: Bakfire 10.3.1
Datum: 16.4.2012
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.
Vorbereitung
Diese Anleitung richtet sich vornehmlich an erfahrene Nutzer, da für die Einrichtung das arbeiten auf der Konsole erforderlich ist.
Um auf dem OpenWRT eine Konsole zu erhalten müssen sie sich per SSH mit ihrem Router verbinden. Hierfür empfielt sich unter Windows die kostenlose SOftware PuTTY.
PuTTY hrunterladen und installieren
PuTTY künnen sie hier herunterladen.
Installieren sie sich die aktuelle Version.
SSH-Server auf OpenWRT aktivieren
In der OpenWRT Administrationsoberfläche müssen Sie im Tab "System" unter "Administration" den SSH-Server einrichten.
Schritt 1: Paket installieren
Loggen Sie sich als "root" an Ihrem Router ein (Actung bei der Passworteingabe erhalten sie kein Feedback):
opkg install openvpn
Schritt 2: Grundkonfiguration
Wechseln Sie bitte in das Verzeichnis /etc/openvpn.
cd /etc/openvpn
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=>Link Adresse kopieren" )
wget http://service.portunity.net/downloads/vpntunnel.tar.gz
Entpacken Sie die Datei mit tar
tar -xzvf vpntunnel.tar.gz
Öffnen Sie im Verzeichnnis "/etc/openvpn" die Datei "portunity.login" mit einem Editor.
vi /etc/openvpn/portunity.login
Mit "i" wechseln Sie im vi-Editor in den Edit Modus!
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!
Mit "ESC ESC :wq ENTER" speichern und beenden Sie den vi-Editor
Schritt 3: Starten des Tunnels
Zum ersten Test können sie den Tunnel Manuell Starten:
openvpn /etc/openvpn/portunity.conf &
ifconfig
eth0 .... tun_pty Link encap:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 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)
Sie sollten OpenWRT noch so einrichten das der Tunnel bei Starten automatisch aufgebaut wird. Hierfür können Sie im Verzeichnis /etc/init.d/ ein Startscript anlegen:
cat << EOF > /etc/init.d/pty #!/bin/sh /etc/rc.common # OpenVPN init script # Copyright (C) 2008 Jo-Philipp Wich # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. START=42 BIN=/usr/sbin/openvpn SSD=start-stop-daemon LIST_SEP=" " start() { openvpn --daemon --config "/etc/openvpn/portunity.conf" --writepid "/var/run/openvpn.pty.pid" --cd "/etc/openvpn" --log "/var/log/openvpn.log" } stop() { killall openvpn } reload() { restart } restart() { stop; sleep 5; start } EOF
- Wenn der Tunnel nicht aufgebaut wurde können Sie diesen manuell ohne Startscript Starten.
Schritt 4: Einrichten der Firewall
In OpenWRT ist eine Firewall intrigiert die noch für die Nutzung des Tunnels Konfiguriert werden muss.
Öffnen Sie hierzu wieder die Administrationsoberfläche und gehen im Tab "System" unter "Administration"
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 OpenWRT einrichten)
Schauen Sie bitte in die entsprechenden FAQ Artikel, oder falls noch nicht vorhanden sprechen Sie uns bitte an: Supportmöglichkeiten