• Blog
  • Raspberry Pi
  • Über mich
  • Projekte
  • devowl.io

Raspberry Pi: OpenVPN VPN-Server installieren

21. Mai 2013
Raspberry Pi
352 Kommentare

Wenn man in einem öffentlichen W-LAN in z.B. einem Café oder in der Uni ist, so kann der Datenverkehr über dieses mit geschnitten werden und somit auch persönliche Daten und Zugangsdaten ausgelesen werden. Um dies zu verhindern, kann man eine verschlüsselte Verbindung legen, einen sogenannten VPN-Tunnel. Dieser leitet den kompletten Datenverkehr verschlüsselt an einen Server, der wiederum die eigentlich gewünschten Abfragen ausführt und die Antworten wieder verschlüsselt zurück an dich sendet. Den Raspberry Pi kann man als solchen Server an seinem eigenen Internet angebunden nutzen, mittels des VPN-Servers OpenVPN. Alternativ kann man auch PPTP nutzen (inzwischen unsicher). Die Vor- und Nachteile beider Systeme werde ich an diesem Punkt nicht erläutern. Wie man OpenVPN auf dem Raspberry Pi installiert erkläre in folgendem Tutorial.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert

Step 1 

Zunächst aktualisieren wir die Quellen des Paketmanagers, damit wir später die aktuellen Programmversionen installieren können.

sudo apt-get update

Step 2 

Nun installieren wir OpenVPN und OpenSSL. Der Installation muss mittels Y zugestimmt werden.

sudo apt-get install openvpn openssl

Step 3 

Wir wechseln nun in das Verzeichnis von OpenVPN in dem wir einen Ordner kopieren, den wir gleich benötigen werden.

cd /etc/openvpn
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

Step 4 

Jetzt ersetzten wir mittels eines Editors in der Datei easy-rsa/vars die erste durch die zweite folgende Code-Passage. Im Editor nano speichert man mittels STRG + X und darauffolgend ein Y wie auch Enter.

sudo nano easy-rsa/vars

export EASY_RSA="`pwd`"

ersetzen durch

export EASY_RSA="/etc/openvpn/easy-rsa"
Step 5 

Nun wechseln wir das Verzeichnis, loggen uns in den Root-User ein und führen folgende Kommandos (Konfigurationen) aus.

cd easy-rsa
sudo su
source vars
./clean-all
./pkitool --initca
ln -s openssl-1.0.0.cnf openssl.cnf

Step 6 

Wir können nun die Komponenten für die Verschlüsselung des OpenVPN Zugangs generieren. Nach der Eingabe des ersten Kommandos wird man nach dem Land als Abkürzung gefragt (DE = Deutschland; AT = Österreich; CH = Schweiz). Alle weiteren Angaben können einfach bestätigt werden, da sie für OpenVPN nicht relevant sind. Das Selbe gilt bei dem zweiten und dritten Kommando, wobei wir dort am Ende mit Y zwei mal bestätigen müssen.

./build-ca OpenVPN
./build-key-server server
./build-key client1

Step 7 

Jetzt müssen wir noch die letzten Komponenten errechnen lassen. Dies kann ein paar Minuten dauern. Daraufhin melden wir uns mittels exit vom Root-User wieder ab.

./build-dh
exit

Step 8 

Wir müssen nun wieder das Verzeichnis wechseln, die Datei openvpn.conf erstellen und in diese den Code-Block einfügen. Falls gewünscht können in diesem die DNS-Server ausgetauscht werden.

cd ..
sudo touch openvpn.conf
sudo nano openvpn.conf

dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1 bypass-dhcp"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo
duplicate-cn
keepalive 10 120
Step 9 

Nun richten wir die Internetweiterleitung ein, damit später der durch OpenVPN verbundene Computer auch Internetzugriff erhält. Sofern du nicht die Ethernetbuchse deines Raspberry Pis nutzt (z.B. W-LAN) musst du eth0 im folgenden Kommando durch den Namen deines Netzwerkadapters ersetzen. Wie dieser heißt, findest du mittels ifconfig heraus.

sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Step 10 

Zu guter Letzt entfernen wir in der Datei sysctl.conf im übergeordneten Ordner vor der Zeile net.ipv4.ip_forward=1 die Raute.

cd ..
sudo nano sysctl.conf

Step 11 

Ein Teil der oben eingerichteten Einstellungen müssen noch als Crontab eingetragen werden damit sie dauerhaft funktionieren. Dafür fügen wir folgende Zeilen am Ende der der Crontab in eine neue Zeile ein (wieder im Bedarfsfall eth0 ersetzen).

crontab -e

@reboot sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Step 12 

Wir wechseln nun erneut in den Root-User und mit diesem in das Verzeichnis /etc/openvpn/easy-rsa/keys in dem wir die Datei raspberrypi.ovpn erstellen und mit dem zweiten Absatz befüllen. Dabei musst du RASPBERRY-PI-IP durch die IP-Adresse deines Raspberry Pis ersetzten, bzw., wenn du einen DynDNS Dienst, nutzt durch deine DynDNS Domain.

sudo su
cd /etc/openvpn/easy-rsa/keys
nano raspberrypi.ovpn

dev tun
client
proto udp
remote RASPBERRY-PI-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
Step 13 

Jetzt erstellen wir noch ein Paket mit allen benötigten Dateien für den Client, welches wir in /home/pi ablegen und geben dem Benutzer pi die Rechte an der Datei. Daraufhin melden wir uns vom Benutzer root ab.

tar czf openvpn-keys.tgz ca.crt client1.crt client1.key raspberrypi.ovpn
mv openvpn-keys.tgz /home/pi
chown pi:pi /home/pi/openvpn-keys.tgz
exit

Step 14 

Zuletzt starten wir den OpenVPN Server neu.

sudo /etc/init.d/openvpn restart

Weitere Clients hinzufügen

Step 15 (optional) 

Weitere Zertifikate für weitere Clients zu erstellen geht im Grund ebenso wie das erstellen des Ersten. Dazu melden wir mittels sudo su als Root-User an. Im Folgenden Befehl muss clientX durch eine vorlaufende Nummer des Clients ersetzt werden – oder einen Namen. Die gestellten Fragen beantworten wir wie in Step 6.

cd /etc/openvpn/easy-rsa/
sudo su
source vars
./build-key clientX

Step 16 (optional) 

Nun legen wir, wie in Step 12, die Datei raspberrypi.ovpn an, wobei wir alle Vorkommen von client1 durch den Ersatz von clientX ersetzen.

Step 17 (optional) 

Zuletzt packen wir wieder ein .tgz Archiv und melden uns von dem Root-User ab. Auch hier müssen wir clientX ersetzen.

cd /etc/openvpn/easy-rsa/keys
tar czf openvpn-keys-clientX.tgz ca.crt clientX.crt clientX.key raspberrypi.ovpn
mv openvpn-keys-clientX.tgz /home/pi
chown pi:pi /home/pi/openvpn-keys-clientX.tgz
exit

Zertifikat zurückziehen

Step 18 (optional) 

Es kann dazu kommen, dass man einem Nutzer den Zugang wieder entziehen möchte oder im Falle eines entwendeten Zertifikates, entziehen muss. Dieser Vorgang nennt sich revoke. Mit folgendem Kommando kann man das Zertifikat für einen Client entwerten. Dabei ist clientX durch den jeweiligen Client Namen zu ersetzen.

sudo su
cd /etc/openvpn/easy-rsa
source vars
openssl ca -config openssl.cnf -revoke keys/clientX.crt -keyfile keys/ca.key -cert keys/ca.crt
openssl crl -in keys/crl.pem -text

Step 19 (optional) 

Abschließend müssen wir eine Prüfung auf abgelaufene Keys einfügen und OpenVPN neustarten.

nano /etc/openvpn/openvpn.conf

Am Ende der Datei einfügen

crl-verify keys/crl.pem

/etc/init.d/openvpn restart
exit

Fertig! Nun können wir z.B. mittels WinSCP die openvpn-keys.tgz Datei auf unseren Computer herunterladen. Den Inhalt dieser Datei entpacken wir nun in den entsprechend Ordner unseres OpenVPN Clients auf unserem Rechner und können uns dann mit unserem OpenVPN Server auf dem Raspbery Pi verbinden. Einen OpenVPN Client für Windows gibts bei OpenVPN.net; für Mac gibts die App Tunnelblick und für Linux-User mittels des Paketes openvpn.

Für Benutzer des Telekom Routers Speedport W 921V oder verwandten Modellen, die Probleme beim Verbindungsaufbau haben, hat Marcus in den Kommentaren einen Lösungsansatz beschrieben.

Zugriff außerhalb des eigenen Netzwerks
Portfreigabe im Router

Soll der soeben installierte Dienst auch außerhalb des eigenen Netzwerkes verfügbar sein, so müssen folgende Ports im Router freigegeben werden. Wie man freigibt, beschrieb ich in dem Artikel Portforwarding bei Fritz!Box und Speedport.

1194

352 Kommentare. Hinterlasse eine Antwort

  • Kevin
    Juni 1, 2013 11:29 am

    Hallo, ich bekomme bei Dem Step 13 für die folgende Kommandozeile „client1.key raspberrypi.ovpn“ eine Fehlermeldung: „bsh: client1.key: command not found“

    Können Sie da weiter helfen?

    MfG
    Kevin

    Antworten
    • Jan Karres
      Juni 1, 2013 1:50 pm

      Die Kommandozeile lautet tar czf openvpn-keys.tgz ca.crt ca.key client1.crt client1.csr client1.key raspberrypi.ovpn – vollständig funktioniert es 😉

      Antworten
      • ema
        November 16, 2013 3:36 am

        Die Kommandozeile tar czf openvpn-keys.tgz ca.crt client1.crt client1.csr client1.key raspberrypi.ovpn

        gibt auch bei mir folgendes aus:
        root@raspbmc:/etc/openvpn/easy-rsa/keys# tar czf openvpn-keys.tgz ca.crt client1.crt client1.csr client1.key raspberrypi.ovpn
        tar: client1.crt: Kann stat nicht ausführen: Datei oder Verzeichnis nicht gefunden
        tar: client1.csr: Kann stat nicht ausführen: Datei oder Verzeichnis nicht gefunden
        tar: client1.key: Kann stat nicht ausführen: Datei oder Verzeichnis nicht gefunden
        tar: Beende mit Fehlerstatus aufgrund vorheriger Fehler
        root@raspbmc:/etc/openvpn/easy-rsa/keys#

        Antworten
        • Jan Karres
          November 16, 2013 5:21 pm

          Wie der Fehler schon in Worten zeigt existieren ein paar Dateien nicht. Konkret sind das die Schlüsselpaare mit denen man sich später anmelden können sollte. Ich nehme an, dass du in Step 5 oder Step 6 einen Fehler gemacht hast. Einfach noch mal probieren 😉

          Antworten
      • Tim Neuman
        September 16, 2016 5:09 pm

        Hallo Jan,

        ich habe mir die Frage gestellt ist das erstellte VPN ein Peer to Peer oder Ein bridged?

        Antworten
    • Fred Georgi
      Januar 16, 2014 5:56 am

      Bei mir hat alle auf dem Raspberry Pi geklappt. Nur dass mein Linux einfach nicht in der Lage ist, meinen Pi als Server zu nutzen. Es wird NUR die interne Lösung akzeptiert. (Microsoft lässt grüßen) Also habe ich meinen voll funktionierenden Mediaserver umsonst geopfert. Wenn nicht einmal Linux in der Lage ist, einen OpenVPN-Server zu nutzen, kann ich gleich alles ausmachen. Mein Betriebssystem: Linux Mint (Petra)

      Antworten
      • Fred Georgi
        Januar 17, 2014 6:00 pm

        Man sollte die Passage [remote RASPBERRY-PI-IP 1194] unter Step 12 auch wörtlich nehmen, und die entsprechende IP eintragen. Großer Jubel (meinerseits) – es funktioniert tadellos. Eine Einschränkung beim Up- & Download konnte ich nicht feststellen, obwohl mein Raspberry Pi nicht übertaktet wurde. Ein dickes Lob und ein großes Dankeschön an den Verfasser. (y)

        Antworten
      • Jan Karres
        Januar 18, 2014 1:14 pm

        Ich weiß zwar nicht was Microsoft mit OpenVPN zu tun hat, aber bist du dir sicher, dass du die nötigen Port geöffnet hast damit es funktionieren kann? Btw: Man kann ein Image Backup erstellen 😉

        Antworten
  • Henrik
    Juni 7, 2013 11:14 am

    Wie ist denn die Performance?

    Antworten
    • Jan Karres
      Juni 7, 2013 2:13 pm

      Ich hab nur DSL 6.000 (daher nicht so hohe Durchsatzraten) und davon kommen ca. 80% der Geschwindigkeit durch.

      Antworten
      • Rob
        Juni 29, 2013 5:38 pm

        Ich schätze die 80% stammen eher vom Upload deiner DSL Leitung und der ist wahrscheinlich bei 1 Mbit/s.

        Antworten
        • Jan Karres
          Juni 29, 2013 6:09 pm

          Vom Download ausgegangen (netzwerkintern gemessen).

          Antworten
  • Johannes
    Juli 7, 2013 10:18 pm

    Ich habe gebastelt und gebastelt, nachdem ich einige Zeit schon mit OpenVPN herumprobiert habe. Das ist jetzt dabei herausgekommen; http://raspi.bplaced.net/

    Antworten
    • Jan Karres
      Juli 7, 2013 10:28 pm

      Super! So etwas in die Richtung steht auch noch auf meiner Todo-Liste zum darüber bloggen 😉

      Antworten
      • Johannes
        Juli 7, 2013 10:46 pm

        Ich würde mich sehr freuen, wenn du dich daran ausprobieren würdest und später vielleicht einmal mit verweis darüber bloggen würdest 😉

        Antworten
  • Tobi
    Juli 24, 2013 10:08 pm

    Hi nach einigem Testen und einstellungen an der fritzbox mit dnsdynamic hab ich mit hilfe dieses tollen tutorials eine grünes icon im client. sieht alles also super aus. leider geht da internet nicht mehr wenn die verbindung zum raspberry hergestellt ist. woran kann das liegen? woran kann das liegen. kannst du ggf nochmal auf das hier eingehen. ich hatte das 1zu1 übernommen. muss hier was ausgetauscht werden?

    #set the dns servers
    push „dhcp-option DNS 8.8.8.8“
    push „dhcp-option DNS 8.8.4.4“
    log-append /var/log/openvpn
    comp-lzo

    Antworten
    • Jan Karres
      Juli 25, 2013 2:36 pm

      Hab gerade den ganzen VPN für dich bei mir noch einmal aufgesetzt. Läuft mit den Angaben aus dem Tutorial bei mir rund. Kann es sein, dass du den Raspberry Pi nicht via Ethernet sondern z.B. via WLAN im Netz hängen hast. Falls ja, musst du, siehe auch Tutorial, eth0 durch deine andere Netzwerkkarte ersetzen.

      Antworten
      • Tobi
        Juli 25, 2013 9:05 pm

        ich verwendee ethernet und hab das dementsprechend auch auf eth0 gelassen. Hast du Erfahrung wie sich das an eine fritzbox verhält?

        ich hab mal nslookup mit aktiviertem vpn getestet:

        C:\Windows\system32>nslookup
        DNS request timed out.
        timeout was 2 seconds.
        Standardserver: UnKnown
        Address: 8.8.8.8

        Antworten
        • Jan Karres
          Juli 26, 2013 12:04 pm

          Klingt so, als sei der DNS Server 8.8.8.8 nicht erreichbar (ist aber online; sprich nur von deinem Raspberry Pi aus nicht erreichbar). Bei der Fritz!Box muss man, aus meiner eigenen Erfahrung heraus, nichts besonderes einstellen.

          Vielleicht einfach noch mal versuchen zu installieren, da evl. ein Tippfehler während der Installation passierte.

          Antworten
          • Flo
            September 19, 2015 11:21 am

            Ich wollte hier eine kleine DNS-Ergänzung für gehostete Raspis machen (meiner steht in Holland): ich hab da die Server von meinem Hoster genommen, wegen der schnelleren Antwort. Die von Google gehen natürlich auch, aber wenn man richtig zackige im gleichen Rechenzentrum hat ist das schon schicker…

            An sonsten ist das die beste openVPN-Anleitung, die ich im Netz gefunden habe! Klasse gemacht!

  • Neku
    Juli 25, 2013 6:16 pm

    Erstmal super Anleitung hat alles geklappt mit den Einrichten.

    Wie komme ich allerdings zu dieser Datei „openvpn-keys.tar.gz „?
    Wie kann ich mich mit meinem Handy, in diesen Fall iPhone, in den vpn einloggen?

    Danke

    Antworten
    • Jan Karres
      Juli 25, 2013 7:34 pm

      Die Datei kann du dir mittels eines SFTP-Clients (z.B. Cyberdruck oder WinSCP) herunterladen und entpacken. Die entpackten Dateien musst du dann an die richtige Stelle Packen, sodass der Client sich einloggen kann. Wie das bei jeden Gerät einzeln geht, kann man ja ganz leicht googeln 😉

      Antworten
      • Neku93
        Juli 25, 2013 9:43 pm

        Okay, die Datei habe ich schonmal danke 😉
        und im eigenen Netzwerk klappt das schon 😀

        Naja erstmal danke dafür 😉

        Falls du noch was wüsstes wäre das gut aber suche mal selbst nach einer Antwort ^^

        Antworten
  • HenryD1
    Juli 26, 2013 9:47 pm

    Super Anleitung!
    Funktioniert sofort. Was muss ich tun, wenn ich mit mehreren Clients den VPN Zugang nutzen möchte? Wenn ich identischen Schlüssel auf mehreren Geräten installiere, funktioniert keine Verbindung mehr richtig. Oder liegt es an der Leistung des Raspberry?

    Antworten
    • Jan Karres
      Juli 26, 2013 11:00 pm

      Mit dem selben Schlüssel sollte es eigentlich funktionieren. Ich nehme an, es liegt an der Leistung des Raspberry Pis. Falls noch nicht gemacht, kannst ja ja mal versuchen zu übertakten.

      Antworten
      • Henryd1
        Juli 26, 2013 11:21 pm

        Danke, teste ich in 14 Tagen

        Antworten
    • Holger
      September 26, 2013 10:18 pm

      Schließe mich der Aussage über die Qualität der Anleitung an !
      Und die übersichtliche Gestaltung gefällt auch 🙂 !

      Antworten
  • Michael G
    August 1, 2013 7:10 pm

    Hallo ich habe mal eine kurze Frage ich habe nach dieser Anleitung Den OpenVPN Server Auf meinem Raspberry Pi Eingerichtet unter Windows Funktioniert es auch ohne Probleme.
    Nur unter Xununtu Bekomme ich einfach keine Verbindung hin weder über OpenVPN Client Direkt Noch über Gnome Network Manager Mit OpenVPN plagin Beziehungsweise Ergänzung Mit Gnome Network Manager plus Plagin Funktioniert zwar das VPN Aber sobald das VPN verbunden ist Kein Internetzugriff mehr.

    Antworten
    • Jan Karres
      August 1, 2013 7:29 pm

      Es kann sein, dass vereinzelte Konfigurationen im Forwarding bei routerspezifisch ist. Ich verwende eine Fritz!Box 7390. In dem Kontext einfach mal mit deinem Routernamen googeln.

      Antworten
  • Michael G
    August 1, 2013 9:47 pm

    ich verwende eine vodafone Easybox 803 was genau muss ich denn da einrichten. der Standartport von Openvpn ist schon Freigegeben und weitergeleitet.
    denn sonst würde es ja über Windows von außen gar nicht gehen.
    was ich schon von einem andern Internetanschluss aus getestet habe.
    unter Windows alles Kein ding nur Linux macht doof.
    habe im Netz folgenden Hinweis gefunden.
    http://www.computerbase.de/forum/showthread.php?t=1219541
    kann aber leider nichts damit anfangen da ich in diesen Dingen absoluter Anfänger bin.
    habe schon zwei ganze Tag mit Tante Google verbracht aber es hat nicht gebracht. im ubuntuuser Forum habe ich auch gefragt aber da kam ich auch nicht weiter mit. ich hoffe du kannst mir da helfen sonnst weiß ich mir keinen Rat mehr

    Antworten
  • mene
    August 2, 2013 7:36 pm

    Hey. Vielen Dank für den walkthrough, funktioniert tadellos!
    3 kleine Anmerkungen / Verbesserungsvorschläge hätte ich noch:
    1. Der IPv6-Support könnte gleich mit aktiviert werden – sollte man mittelfristig ja eh drauf umsteigen
    2. Das CA-Key-File ist mit im Package, das runtergeladen wird – ein Hinweis darauf, daß man das sicher verwaren sollte wäre gut – sonst ist das ganze zieeemlich riskant!
    3. Wenn man die sudo su befehle sinnvoll verschiebt geht das ganze noch ne ecke Schneller. Da kommt ein paar mal sudo dies, sudo das, dann werde root vor. 🙂

    Trotzdem top und vielen Dank!

    Gruß aus Köln
    mene

    Antworten
  • Daniel
    August 4, 2013 10:44 pm

    Hi,

    vielen dank für die Anleitung. Hat prima funktioniert. Ist es auch möglich über das VPN auf das eigene Heimnetz zuzugreifen. Bei mir ist das 192.168.1.xx

    Vielen dank schon mal …

    Daniel

    Antworten
    • Jan Karres
      August 5, 2013 12:41 am

      Möglich sollte es schon sein. Da das jedoch nicht das Thema des Beitrages ist, lass ich dich mal googeln (Stichwort: openvpn zugriff auf netzwerk). Ist in 10 min. gefunden 😉

      Antworten
  • Tobias
    August 14, 2013 3:27 pm

    Hi,
    vielen Dank für die Anleitung. Verwende den OpenVPN Client auf iOS und solange ich mich im Netzwerk des Mobilfunkproviders (Vodafone) befinde funktioniert das VPN einwandfrei.
    Sobald ich aber an einem WLAN angemeldet bin bekomme ich keine Verbindung mehr zu meinem VPN Server. Hast Du vielleicht eine Idee, woran das liegen könnte?

    Tobias

    Antworten
    • Jan Karres
      August 14, 2013 3:45 pm

      Vielleicht ist eine Firewall in deinem Route, die die Verbindung bockt?

      Antworten
      • Tobias
        August 14, 2013 4:39 pm

        Dann würde es aber auch nicht aus dem Mobilfunknetzwerk funktionieren, oder?

        Antworten
        • Jan Karres
          August 15, 2013 9:10 am

          Wenn dein Router (WLAN) die Verbindung blockiert und du nicht im WLAN sondern im Mobilfunknetz bist, wird die Verbindung ja nicht blockiert.

          Antworten
          • Tobias
            August 15, 2013 9:55 am

            Ah, verstehe. Du meinst der Roter auf Clientseite blockiert die Verbindung. Das kann ich aber ausschließen, habe ihn selbst konfiguriert. Weitere Ideen?

          • Johannes
            August 15, 2013 11:12 am

            Versuch doch mal – um das Problem wirklich ausschließen zu können – als OpenVPN Socket-Port 443 anzugeben. Ausgehende SSL Verbindungen werden normalerweise immer vom router akzeptiert.
            Ansonsten prüfe im wlan mal wo der Traffic hängen bleibt. – Das geht normalerweise mit wireshark.

          • Sebastian Seifert
            August 15, 2013 11:18 am

            Hallo Tobias,
            hast du evtl. einen Telekom Speedport Router?

          • Tobias
            August 15, 2013 10:36 pm

            @Sebastian: Ja, es ist ein Speedport W723V. Gibt es damit ein bekanntes Problem?

          • Jan Karres
            August 16, 2013 10:28 am

            Dann gibts schlechte Nachrichten, siehe Telekom Hilft Foum

  • Michael G
    August 15, 2013 1:00 pm

    Hallo zusammen Ich habe noch mal eine kurze Frage zu Openvpn.
    Und zwar Habe ich Festgestellt Wenn sie Zwei Clients Gleichzeitig anmelden dass sie dann die Selbes VPN ip Erhalten.
    Und dies müsste normalerweise Zu Problemen führen.
    Jetzt wollte ich wissen wie man es einrichten kann Das zwei Clients Auch zwei IpAdressen bekommen.

    Antworten
    • Jan Karres
      August 15, 2013 9:37 pm

      Wieso sollte das zum Problem führen? Wenn du mit zwei Geräten in deinem Netzwerk bist haben auch beide die selbe externe IP-Adresse. Verschiedene IP-Adressen sind nicht möglich, da Privatanschlüsse immer nur eine IP-Adresse zugewiesen bekommen.

      Antworten
  • Jens
    August 15, 2013 1:14 pm

    Super Anleitung!
    Wenn ich parallel 2 Geräte per VPN betreiben will, benötige ich doch 2 verschiedene Keys, oder? Ich habe testweise 2 Geräte gleichzeitig mit den gleichen Keys betrieben und festgestellt, dass die VPN Verbindung bei Verwendung von 2 Geräten gleichzeitig hin und wieder abreißt. Benutze ich nur ein Gerät läuft alles.
    Wenn ich es richtig verstehe reicht es doch ab Schritt 12 alles nochmal für den 2. Key (mit Änderung …2 statt …1, also client2 statt client1 etc.) zu machen. Passt das so oder übersehe ich da was?, Kann die Pi in der Konfig überhaupt 2 versch. Geräte bedienen?
    An der Leistung liegt es glaube ich nicht, da die CPU Last bei einem verb. Client unter 20 % ist.
    data

    Antworten
    • Jan Karres
      August 15, 2013 9:35 pm

      Es sollt auch mit nur einem Key funktionieren. Man kann jedoch, wie du richtig annimmst, mit den abgeänderten Befehlen ab Step 6 ein zweites Zertifikat/Key anlegen (in Step 6 nur ./build-key client1).

      Antworten
      • Jens
        August 16, 2013 6:30 am

        muss das dann nicht ./build-key client2 heißen?

        Antworten
        • Jan Karres
          August 16, 2013 10:30 am

          Ja klar, client2, jedoch meinte ich aus Step 6 nur dieses Kommando erneut anwenden – und nicht die Anderen.

          Antworten
          • Jens
            August 19, 2013 7:12 pm

            läuft soweit gut. Kannst Du das noch bei Step 6 hinzufügen als Option für die, die mehrere Zertifikate benötigen?

          • Jan Karres
            August 21, 2013 11:36 am

            Werde ich noch hinzufügen, sobald Zeit dafür ist.

  • michael G
    August 15, 2013 10:36 pm

    Nein ich meinte nicht die Internet ip Adresse Sondern die VPN Ip Adresse Also was ich meine Ist.
    Wenn zwei Geräte Gleichzeitig mit dem VPN Verbindung Erhalten beide die ip Adresse 10.8.0.6 Aber wie kann Dann der Server Die Geräte auseinanderhalten Wenn Sie beide dieselbe Ip Haben

    Antworten
    • Jan Karres
      August 16, 2013 10:42 am

      Ich denke dass die lokale Adresse des Clients im OpenVPN-Netzwerk für die Kommunikation nicht so eine große Rolle spielt. Ein VPN sollte wohl flexibel genug sein um für solche Fälle gerüstet zu sein, und OpenVPN ist ja nicht die schlechtes Software.

      Antworten
      • michael G
        August 18, 2013 11:13 pm

        Hallo zusammen ich muss leider noch mal nerven Bezüglich des Open VPN Server Und zwar habe ich das Problem dass sowohl Arbeits Laptop als auch privat Laptop als auch iPhone Dieselbe VPN ip Erhalten
        Und sich gegenseitig Rauswerfen
        Habe schon gegoogelt wie ein blöder Aber keine Lösung gefunden die funktioniert Ich hoffe ihr könnt mir helfen

        Antworten
  • hab ich keinen
    August 19, 2013 11:14 am

    Hallo,
    eine tolle Anleitung.

    Nur warum steckst du die ca.key mit in das tarball und legst es auf die Clients ab? Wer im Besitz der ca.crt und ca.key ist kann damit nach belieben neue Clintzertifikate ausstellen. ca.key gehört in den Tresor und nicht rumverteilt!

    Antworten
    • Jan Karres
      August 19, 2013 6:19 pm

      Danke, habs verbessert.

      Antworten
  • michael g
    August 19, 2013 7:40 pm

    hallo wenn ich ./build-key client2 ausführe erhalte ich folgende meldung
    Please edit the vars script to reflect your configuration,
    then source it with „source ./vars“.
    Next, to start with a fresh PKI configuration and to delete any
    previous certificates and keys, run „./clean-all“.
    Finally, you can run this tool (pkitool) to build certificates/keys.
    hat jemand einen tipp?

    Antworten
    • Jan Karres
      August 21, 2013 11:35 am

      Schau in die Schritte darüber in Verbindung mit der Fehlerausgabe. Dann findest du die Lösung 😉

      Antworten
  • Kalle
    August 30, 2013 3:08 pm

    Hallo Jan,

    ersteinmal: super Anleitung!

    Ich bekomme eine Fehlermeldung am Ende von Step 9:

    pi@raspberrypi /etc/openvpn $ eth0 -j MASQUERADE
    -bash: eth0: Kommando nicht gefunden.

    Was mache ich falsch? Raspi wurde vorher komplett neu installiert

    Gruß
    Kalle

    Antworten
    • Jan Karres
      August 31, 2013 6:42 pm

      Das Kommando heißt, siehe Anleitung, nicht eth0 -j MASQUERADE, sondern wie folgt:

      sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

      Antworten
      • Kalle
        September 1, 2013 10:47 pm

        Hallo Jan,

        danke, bin Newbie…

        Antworten
        • Jan Karres
          September 1, 2013 11:23 pm

          Damit habe ich kein Problem. Anfangs tat ich mir im Linux-Bereich auch hart…

          Antworten
  • mic
    September 6, 2013 11:17 pm

    Hallo Jan,

    ich mache zu 99% einen dummen Fehler. Vielleicht kannst du mir sagen, wo dieser liegt. Habe deine Tutorial m.E. richtig abgearbeitet, leider bekomme ich via iOS OpenVPN Client keine erfolgreiche Verbindung zustande. Es scheint, als wird die Sitzung gleich nach dem Handshake terminiert. Wirst du aus dem Client Log schlauer und kannst mir helfen?

    2013-09-06 23:11:19 —– OpenVPN Start —–
    2013-09-06 23:11:19 LZO-ASYM init swap=0 asym=0
    2013-09-06 23:11:19 EVENT: RESOLVE
    2013-09-06 23:11:22 Contacting 87.173.49.???:1194 via UDP
    2013-09-06 23:11:22 EVENT: WAIT
    2013-09-06 23:11:22 Connecting to blageheim.dyndns.org:1194
    (87.173.49.???) via UDPv4
    2013-09-06 23:11:23 EVENT: CONNECTING
    2013-09-06 23:11:23 Tunnel Options:V4,dev-type tun,link-mtu
    1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize
    128,key-method 2,tls-client
    2013-09-06 23:11:23 Peer Info:
    IV_VER=1.0
    IV_PLAT=ios
    IV_NCP=1
    IV_LZO=1

    2013-09-06 23:11:25 VERIFY OK: depth=0
    cert. version : 3
    serial number : 01
    issuer name : C=DE, ST=CA, L=SanFrancisco, O=Fort-Funston,
    OU=changeme, CN=changeme, 0x29=changeme, [email protected]
    subject name : C=DE, ST=CA, L=SanFrancisco, O=Fort-Funston,
    OU=changeme, CN=server, 0x29=changeme, [email protected]
    issued on : 2013-09-06 19:46:00
    expires on : 2023-09-04 19:46:00
    signed using : RSA+SHA1
    RSA key size : 1024 bits

    2013-09-06 23:11:25 VERIFY OK: depth=1
    cert. version : 3
    serial number : CC:46:B1:07:C5:6E:4B:CC
    issuer name : C=DE, ST=CA, L=SanFrancisco, O=Fort-Funston,
    OU=changeme, CN=changeme, 0x29=changeme, [email protected]
    subject name : C=DE, ST=CA, L=SanFrancisco, O=Fort-Funston,
    OU=changeme, CN=changeme, 0x29=changeme, [email protected]
    issued on : 2013-09-06 19:41:58
    expires on : 2023-09-04 19:41:58
    signed using : RSA+SHA1
    RSA key size : 1024 bits

    2013-09-06 23:12:06 Session invalidated
    2013-09-06 23:12:06 Client terminated, restarting in 2…
    2013-09-06 23:12:06 EVENT: DISCONNECTED
    2013-09-06 23:12:06 Raw stats on disconnect:
    BYTES_IN : 3185
    BYTES_OUT : 30074
    PACKETS_IN : 31
    PACKETS_OUT : 71
    KEEPALIVE_TIMEOUT : 1
    2013-09-06 23:12:06 Performance stats on disconnect:
    CPU usage (microseconds): 96874
    Network bytes per CPU second: 343322
    Tunnel bytes per CPU second: 0
    2013-09-06 23:12:06 —– OpenVPN Stop —–

    Danke und Grüße
    Mic

    Antworten
    • Jan Karres
      September 7, 2013 3:08 pm

      Klingt nach diesem Problem. Im dritten Post ist ein Lösungsvorschlag: https://forums.openvpn.net/topic12195.html

      Antworten
  • mic
    September 8, 2013 3:05 pm

    Nee ich fliege schon vorher raus. In deinem Lösungsvorschlag bekommt der Client zumindest einen SSL Handshake, an dieser Stelle habe ich den Connection Timeout. Mit Tunnelblick am Mac übrigens dasselbe Verhalten.

    Fahre ich den ovpn Server runter, bekomme ich keinen Connect am ovpn Client. Der Server ist also erreichbar, lässt mich aber nicht rein. Eine FW-Regel kanns doch dann eigentlich auch nicht sein, welche hier stört?

    Wären die PKI Certs defekt oder falsch erstellt, wäre das Fehlerverhalten doch sicher ein anderes?

    Sollte ich vielleicht nochmal alle Certs löschen, den ovpn Server löschen und das Tutorial von Vorn beginnen?

    Grüße und Danke!
    mic

    Antworten
    • Jan Karres
      September 8, 2013 3:07 pm

      Der einfachste und vermutlich auch schnellste Weg wird das neu probieren sein…

      Antworten
      • mic
        September 8, 2013 10:48 pm

        Kurzes Feedback: Da der Fehler beim TSL Handshake passiert, habe ich nur sämtliche Cert und Keys neu generiert – nun funzt es!

        Super Sache, danke dir. Finde klasse, dass selbst die Namensauflösung sauber über das VPN funktioniert.

        Grüße
        mic

        Antworten
        • Jan Karres
          September 9, 2013 11:28 am

          Super, freut mich zu lesen.

          Antworten
  • InneZ0r
    September 9, 2013 7:47 pm

    Hallo Jan,

    zuerst einmal ein großes Dankeschön für dieses tolle Tutorial.
    Leider hab ich anscheinend einen Fehler bei der Konfiguration gemacht, den ich ohne fremde Hilfe nicht wieder ausbessern kann.
    Und zwar bekomme ich beim starten des OpenVPN Server folgende Fehlermeldung
    „[FAIL] Starting virtual private network daemon: openvpn failed!“

    Vielleicht kannst du mir einen Tipp geben, was ich falsch gemacht haben könnte!

    Danke

    Antworten
    • Jan Karres
      September 9, 2013 8:11 pm

      Was sagen denn die Logfiles (/var/log/openvpn-status.log)?

      Antworten
      • InneZ0r
        September 9, 2013 8:31 pm

        openvpn-status.log enthält folgenden Inhalt

        penVPN CLIENT LIST
        Updated,Mon Sep 9 18:29:18 2013
        Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
        ROUTING TABLE
        Virtual Address,Common Name,Real Address,Last Ref
        GLOBAL STATS
        Max bcast/mcast queue length,0
        END

        Antworten
        • Jan Karres
          September 9, 2013 9:19 pm

          Nicht gerade ergiebig… schon mal neu installieren versuchst? Denn da sollte während der Installation was schief gelaufen sein.

          Antworten
  • InneZ0r
    September 9, 2013 9:26 pm

    Hab ich mir auch gedacht. Neuinstallation hab ich schon versucht, allerdings ohne vorher etwas zurückzusetzen, kannst du mir vielleicht erklären wie ich die oben genannten Steps wieder rückgängig machen kann. Oder sollte ich gleich Raspbian neu installieren?
    Danke

    Antworten
    • Jan Karres
      September 9, 2013 10:29 pm

      sudo apt-get remove openvpn openssl
      rm -r /etc/openvpn
      rm /home/pi/openvpn-keys-clientX.tgz

      Damit solltest du zumindest OpenVPN deinstallieren können. Alle manuell angepassten Parameter im System müssen rückgebildet werden. Oder eben, wie du schon selbst vorgeschlagen hast, Raspbian neu installieren.

      Antworten
      • InneZ0r
        September 10, 2013 1:07 pm

        Danke Jan,

        mit deiner Deinstallationsanleitung und anschließender Neuinstallation hats nun doch geklappt!

        Antworten
  • Alex
    September 26, 2013 11:32 am

    Moin, Moin,

    ich bekomme bei Schritt 12 (sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE) einen Fehler.

    ERROR: could not insert ‚ip_tables‘: Exec format error
    iptables v1.4.14: can’t initialize iptables table `nat‘: Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

    hat sich etwas am Tutorial geändert?

    Antworten
    • Jan Karres
      September 26, 2013 6:19 pm

      Das hast du wohl was bei iptables zerschossen. Entweder du setzte das System neu auf oder du suchst anhand der Fehlermeldung (in Google) nach Lösungsansätzen. Helfen kann ich leider nicht, da sich hinter der Fehlermeldung mehrerlei verbergen kann, was du merken wirst, wenn du nach Lösungen suchst.

      Antworten
    • stefan
      September 30, 2013 10:44 am

      hast du eine lösung gefunden? meiner macht das auch… :/

      Antworten
      • Jan Karres
        September 30, 2013 9:25 pm

        Hast du dein Betriebssystem direkt davor neuinstalliert oder schon einiges rumgespielt?

        Antworten
    • Felix
      Dezember 9, 2013 10:19 am

      Die Loesung ist eigentlich ganz einfach: Das ip_tables module passt nicht zum aktuellen Kernel. Also: REBOOTEN

      Antworten
      • Jan Karres
        Dezember 9, 2013 10:09 pm

        Kan ich zwar nicht nachvollziehen, aber wenn es euer Problem löst ist es super 🙂

        Antworten
      • Marco
        März 17, 2014 7:54 pm

        Funktioniert bei mir auch auch perfekt 🙂
        Einfach rebooten!

        Antworten
  • Michael
    Oktober 10, 2013 5:11 pm

    Hallo jan erstmal Danke für die Tolle Anleitung läuft alles super.
    Ich kann sogar auf die pcs zu hause zugreifen.
    aber ich habe da ein kleines Problem ich wollte das VPN gerne so einrichten das jeder VPN Client eine feste IP bekommt Grund dafür ist das meine Große Schwester viel Beruflich unterwegs ist.
    und ich ihr öfter mal helfen muss und ich dachte das ich dann per VPN auf ihr Laptop kann.
    ich habe es nach den unterschiedlichsten Anleitungen versucht.
    entweder hatte ich kein Internet mehr über die VPN oder keinen Zugriff mehr auf die PCS zu Haus
    oder das Internet lief nicht mehr über die Leitung von zu Haus.
    ich hoffe du hast einen Tipp für mich weis echt nicht was ich noch versuchen soll.
    VLG Michael

    Antworten
    • Jan Karres
      Oktober 10, 2013 10:11 pm

      Meinst du eine feste interne oder eine feste externe IP-Adresse? Falls du letzteres meinst: Das geht nicht, da dir dein Provider im Schnitt alle 24 Stunden eine neue zuteilt. Jedoch kannst du das Problem mit lösen, indem du eine DynDNS einrichtest, wie ich bereits in meinem Blog beschrieben habe.

      Antworten
      • Michael
        Oktober 10, 2013 11:01 pm

        hallo Jan nein ich meine nicht die externe IPAdressen sondern die VPN IP Adresse das zum Beispiel der Client immer die
        10. 8.0.2bekommt. so dass ich dann über die VPN IP auf das Laptop meiner Schwester zugreifen kann egal wo Sie gerade ist.
        das mit der externen IP habe ich schon nach deiner Anleitung eingerichtet.
        wie gesagt ich frage dich nicht ohne Grund ich habe es nach den unterschiedlichsten Anleitungen versucht jedes Mal mit dem Ergebnis das irgendetwas nicht mehr funktioniert hat. entweder war gar keine Internet Verbindung mehr möglich oder sie lief nicht mehr über die Leitung von zu Hause oder ich hatte keinen Zugriff mehr auf die PCs die zuhause stehen ich hoffe du hast eine Idee wie man es zum laufen bringen kann und ich hoffe ich konnte jetzt besser erklären wo mein Problem liegt wenn Du noch Fragen haben solltest frag einfach ich wäre dir echt sehr dankbar wenn du mir helfen könntest
        lieben Gruß michael

        Antworten
  • JPT
    Oktober 13, 2013 4:39 pm

    Die Einleitung kann ich so nicht stehen lassen Was du hier anbietest ist reine Scheinsicherheit. Den einzigen Vorteil gegenüber einer normalen Verbindung ins Internet besteht darin, dass ein Angriff von jemandem, der im „gleichen Cafe sitzt“ scheitert. Passwörter unverschlüsselt im Internet zu verwenden ist grundsätzlich keine gute Idee. Daran ändert auch dein VPN nichts. Denn die Passwörter gehen dann halt erst ab deinem VPN Server unverschlüssel ins Internet. Insofern stellst du dem Laien hier eine Falle, er nimmt an, er wäre nun sicher. Das ist er aber nicht. Punkt.

    Antworten
    • Jan Karres
      Oktober 13, 2013 5:05 pm

      Ich würde an deiner Stelle noch einmal die ersten zwei Sätze des Beitrages durchlesen und die Wirkung eines Demonstrativpronomens nachschlagen. Dann wirst erkennen was durch einen VPN-Server gesichert werden soll und gesichert wird.

      Antworten
  • Michael
    Oktober 23, 2013 8:25 am

    Anmerkung zu Step 15 (Weitere Clients):

    Sind die Schritte

    ./clean-all
    ./pkitool –initca

    in diesem Fall nicht unnötig (wenn nicht gar kontraproduktiv), da dadurch doch das ./keys Verzeichnis gelöscht wird (und damit diverse Dateien, die initial für den ersten Client erstellt wurden, z.B. dh1024.pem)?

    Ich hatte auf jeden Fall Erfolg für einen client2, ohne o.g. Schritte, sondern gleich mit ./build-key client2

    Unbeachtet davon: sehr gutes Tutorial!

    Antworten
    • Jan Karres
      Oktober 23, 2013 3:32 pm

      Danke für eine Anmerkung. Wenn ich mich recht erinnere gab es, als ich das Tutorial um dieses Step erweiterte, unter bestimmten Umständen ohne diese Kommandos ein Problem. Da du jedoch meintest es gänge bei dir auch ohne und es, wie ebenfalls von dir benannt, ja einen Nebeneffekt gibt, habe ich die zwei Kommandos mal gestrichen.

      Antworten
  • Simon
    Oktober 25, 2013 4:05 pm

    Vielen Dank für das Tutorial. Nur habe ich ein Frage.
    Wie extrahiere ich die Dateien und welche brauche ich genau um mit meinem Windows Client auf das VPN zuzugreifen?

    Antworten
    • Jan Karres
      Oktober 25, 2013 4:16 pm

      Du brauchst alle in dem Packet enthaltenen Dateien. Entpacken kannst du die Datei z.B. mittels WinRAR oder 7ZIP.

      Antworten
      • Simon
        Oktober 25, 2013 4:24 pm

        Wow das ging schnell. Danke sehr

        Antworten
        • Simon
          Oktober 30, 2013 9:30 pm

          Ich habe jetzt alles korrekt eingerichtet (so weit ich weiß) allerdings fragt mich der client nach benutzername und passwort. name ist vermutlich der clientname aber passwort?

          Antworten
          • Jan Karres
            Oktober 31, 2013 12:25 am

            Sicher, dass du den OpenVPN Client verwendest? Denn der fragt nicht nach Benutzername und Passwort… ich nehme eher an du verwendest einen Client für PPTP VPN-Server.

  • Simon
    Oktober 31, 2013 5:41 pm

    http://openvpn.net/index.php/access-server/download-openvpn-as-sw/357.html das ist der client

    Antworten
    • Jan Karres
      Oktober 31, 2013 9:53 pm

      Das ist der OpenVPN.net bzw. Privatetunnel.com Client – nicht der offene OpenVPN Client für eigene Server (am Ende des Artikels verlinkt).

      Antworten
  • Jonas
    November 3, 2013 11:32 am

    Vielen dank für dieses Tutorial, es war gut verständlich, ich habe aber dennoch ein Problem.. Die Anleitung habe ich genau befolgt (habe auch die richtige IP adresse verwendet), wenn ich jedoch den Server starten will ist das einzige was passiert folgende Nachricht: „[FAIL] Starting virtual private network daemon: openvpn failed!“
    kann dieser Fehler irgendwie ausdrücken, was ich falsch gemacht habe?

    Antworten
    • Jan Karres
      November 3, 2013 4:15 pm

      Der Fehler sagt leider nicht viel aus. Ich tippe darauf, dass du in den Konfigurationen einen Fehler gemacht hast. Die Ausgabe folgenden Kommandos sollte mehr Aufschluss bieten.

      cat /var/log/syslog | grep VPN

      Antworten
    • Matthias
      November 28, 2013 3:39 pm

      Könnte sein das das Tunnel Modul nicht gelanden wird.
      Trage doch mal in die Datei /etc/modules folgendes ein:
      tun
      Danach starte den Raspberry neu!
      lg

      Antworten
  • Jonas
    November 3, 2013 7:46 pm

    cat /var/log/syslog: http://pastebin.com/Qv1jq4nb
    grep VPN: keine reaktion

    Antworten
    • Jan Karres
      November 3, 2013 8:51 pm

      Gibt beides leider reichlich wenig Aufschluss, sodass ich nicht weiß wie ich dir helfen könnte. Vielleicht einfach Raspbian noch mal aufsetzten und die Installation erneut versuchen.

      Antworten
      • Jonas
        November 3, 2013 9:27 pm

        Habs schon drei mal versucht..
        Ich werde es noch ein drittes mal machen, mal sehen ob es diesmal klappt. Trotzdem Danke für den Versuch mir zu helfen.

        Antworten
        • Jonas
          November 3, 2013 9:56 pm

          Es hat funktioniert… Der Fehler war in Schritt 6.

          Antworten
          • Jan Karres
            November 3, 2013 10:41 pm

            Schön zu hören, dass es nun funktioniert 🙂

  • Michael
    November 4, 2013 6:01 pm

    Beim Aufbau einer Verbindung von einem Androiden mit „OpenVPN“ sehe ich in dessen Log-Datei folgendes:

    P:WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.

    Der genannte Link nennt als Abhilfe folgende Zeile der Client-Konfiguration hinzuzufügen:

    remote-cert-tls server

    Hat da jemand Erfahrung mit? (Ich hab’s noch nicht ausprobiert).

    Antworten
    • Jan Karres
      November 4, 2013 7:44 pm

      Habe mal gerade etwas gegoogelt. Scheint eine empfohlene Sicherheitseinstellung sein, die aber nicht zwingend notwenig ist. Aber nachdem du mich darauf hingewiesen hast habe ich den Parameter dem Tutorial mal hinzugefügt. Danke!

      Antworten
      • Michael
        November 5, 2013 11:07 am

        OK,
        ich sehe in Step m12 die Zeile „ns-cert-type server“ inder Client-Konfiguration. Man muß wohl hier unterscheiden, mit welcher OpenVPN Version man es zu tun hat. Bis OpenVPN 2.0 stimmt die angegebene Zeile, ab 2.1 sollte diese jedoch „remote-cert-tls server“ lauten (so habe ich es in der Zwischenzeit auch mit 2.2.1 getestet), siehe hierzu: http://bitcube.co.uk/content/openvpn-howto

        Antworten
        • Jan Karres
          November 5, 2013 9:36 pm

          Dann fliegt sie wieder raus, damit es überall funktioniert – in der Hoffnung, dass Interessierte deine Lösung in den Kommentaren finden 😉

          Antworten
  • Stefan
    November 10, 2013 10:00 am

    Hallo Jan, sehr schöne Anleitung, vielen Dank dafür!
    Kannst du mir vielleicht auch sagen wie ich erziele das nicht der gesamte Internettraffic des Client PCs über das VPN läuft? Ich habe zu Hause wenig Upload, das macht das surfen auf dem Client zur Qual.
    Ich möchte das VPN lediglich dazu nutzen meine internen Devices vom Client aus erreichen.

    Gruss
    Stefan

    Antworten
    • Jan Karres
      November 10, 2013 11:02 am

      Gute Frage. Das weiß ich ehrlich gesagt auf die Schnelle auch nicht, da das Tutorial explizit beschreibt wie man eben den Internetverkehr tunnelt. Dein Hintergedanken kann ich aber gut nachvollziehen.

      Antworten
      • Stefan
        November 10, 2013 12:20 pm

        Schade das Du mir da nicht helfen kannst, hast du denn eine Idee wie ich eine VPN IP einem Client fest zuweisen kann?

        Antworten
        • Jan Karres
          November 10, 2013 2:47 pm

          Ich denke du meinst damit die IP Adresse die man nach außen hat, wenn man sich über den OpenVPN Server verbunden hat. Diese wird ca. alle 24 Stunden von deinem Internet Provider neu zugewiesen, sodass du diese nicht fest zuweisen kannst.

          Antworten
        • Matthias
          November 28, 2013 3:34 pm

          Du musst in der Server konfig die zeile:
          push „redirect-gateway def1“
          durch
          push „route 192.168.1.0 255.255.255.0“ (natürlich mit deinem internen Netz) ersetzen
          Somit wird nur mehr Traffic nach 192.168.1.0 in den Tunnel geschickt.
          lg Matthias

          Antworten
          • Stefan
            Dezember 13, 2013 12:46 am

            Hallo Matthias, vielen Dank für deine Hilfe!
            Dein Tipp hat schonmal geklappt.
            Was aber wenn ich einen User nicht weiterleiten will, einen anderen schon.
            Läasst sich das auch realisieren?
            Gruss
            Stefan

          • Jan Karres
            Dezember 13, 2013 1:30 pm

            Ich denke dies steht nicht im Möglichen von OpenVPN, da es kein ausführliches User Management besitzt.

  • Raspberry PI als VPN Server | Johannes Köber
    November 20, 2013 1:30 pm

    […] https://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installieren/ […]

    Antworten
    • Marius
      November 20, 2015 11:55 pm

      Hallo, habe ein Problem.
      Habe nach dieser Anleitung den VPN installiert.
      Leider startet der open nich:

      Active: active (exited)

      Im Syslog steht
      Nov 20 22:50:44 raspberrypi systemd[1]: Starting OpenVPN connection to openvpn…
      Nov 20 22:50:44 raspberrypi systemd[1]: [email protected]: control process exited, code=exited status=1
      Nov 20 22:50:44 raspberrypi systemd[1]: Failed to start OpenVPN connection to openvpn.
      Nov 20 22:50:44 raspberrypi systemd[1]: Unit [email protected] entered failed state.

      Wenn ich VPN mit der Config starte bekomme ich folgende INfos, womit die Ursache auch klar ist:

      pi@raspberrypi /etc/openvpn $ openvpn –config /etc/openvpn/openvpn.conf
      Fri Nov 20 22:53:36 2015 Warning: Error redirecting stdout/stderr to –log file: /var/log/openvpn: Permission denied (errno=13)
      Options error: –dh fails with ‚/etc/openvpn/easy-rsa/keys/dh20481.pem‘: Permission denied
      Options error: –ca fails with ‚/etc/openvpn/easy-rsa/keys/ca.crt‘: Permission denied
      Options error: –cert fails with ‚/etc/openvpn/easy-rsa/keys/server.crt‘: Permission denied
      Options error: –key fails with ‚/etc/openvpn/easy-rsa/keys/server.key‘: Permission denied
      Options error: –status fails with ‚/var/log/openvpn-status.log‘: Permission denied
      Options error: Please correct these errors.

      Nicht so klar ist mir wie ich das beheben kann.

      Gruß
      Marius

      Antworten
      • Andreas
        Dezember 16, 2015 6:27 pm

        Hallo
        Danke erstmal für die super Anleitung.
        Ich habe die Anleitung fehlerfrei abgearbeitet und OVPN auf meinem Raspberry installiert. In die Datei „raspberrypi.ovpn“ habe ich

        „remote werbinich.dyndns.org 1098“

        eingegeben.
        Die erstellten Dateien habe ich auf mein Android-Gerät kopiert und dort die App entsprechend eingerichtet. Außerdem habe ich in meinen Speedport-Router noch den Port 1098 weitergeleitet.
        Ich bekome aber immer die folgende Fehlermeldung: No route tu host.
        Auch per TCP kommt diese Meldung.
        Was mach ich da noch falsch?

        MfG
        Andreas

        Antworten
        • magge
          März 13, 2016 9:12 am

          Hallo, hab ach folgendes Problem, mein Openvpn will einfach nicht starten. Hab jetzt schon 2 mal die installation durchgeführt!

          [FAIL] Starting virtual private network daemon: openvpn failed!

          hier in der syslog kommt immer der fehler vor:

          Mar 13 07:46:34 raspberrypi ovpn-openvpn[5540]: Options error: Bad protocol: ‚upd‘. Allowed protocols with –proto option: [proto-uninitialized] [udp] [tcp-server] [tcp-client] [tcp] [udp6] [tcp6-server] [tcp6-client] [tcp6]
          Mar 13 07:46:34 raspberrypi ovpn-openvpn[5540]: Use –help for more information.
          Mar 13 07:46:36 raspberrypi kernel: [46170.587578] w1_master_driver w1_bus_master1: Family 0 for 00.9dc000000000.58 is not registered.

          Danke vorerst

          Antworten
          • Michael
            März 14, 2016 10:30 pm

            Hallo,

            wenn die Fehlermeldung tatsächlich “ Bad protocol: ‚upd‘.“ lautet dann ist der Fehler klar:

            Das Protokoll lautet UDP – nicht UPD.

            …einfach nochmal die Zeile PROTP UDP kontrollieren bzw. anpassen – dann sollte es funktionieren…

            Viele Grüße

            Michael

    • Bene
      März 28, 2016 8:06 pm

      Hey, 😀 ich hab schon alles versucht ABER 😀 ich bekomme keine richtige verbindung hin.
      ich hab jetzt locker schon über 20 Arbeitsstunden hineingesteckt..
      denke es liegt daran das irgendetwas nicht mehr akutell ist.. alles was aus den kommentaren in frage kommt hab ich jetzt auch schon durch. :/
      kann jemand mal durch checken und helfen?!

      Antworten
      • simanuel
        Mai 31, 2016 6:35 pm

        Moin,

        diese Anleitung sollte wirklich mal aktualisiert werden…
        Aber check mal ob du im keys-Ordner die Datei dh1024.pem hast. Wenn nicht vermutlich eine dh2048.pem, diese musst du dann in der Datei openvpn.conf angeben.

        LG simanuel

        Antworten
    • Kussel
      November 25, 2016 2:26 pm

      allo Zusammen,

      habe gestern mal meinen Raspi 1. Generation mit Noobs befüllt und dort dann das Raspbian (recommend) installiert. danach mit Rootrechten das Update und das Uprade gemacht dann bin ich nach folgender Anleitung mal vorgegangen:

      https://jankarres.de/2013/05/raspber…-installieren/

      Hier bleib ich aber schon am Step 3 hängen…vorher habe ich das opnenvpn installiert wie in der Anleitung vorgegeben….dann bei Step 3 kann ich mit den Befehlen in den Ordner wechseln (cd /etc/openvpn) aber mit dem Befehl (sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa) gehts nicht weiter. Die Konsole meldet mir das es keinen easy-rsa gibt????

      Woran liegt das? Gibt es neuere Abhängikeiten bei openvpn??

      1. Gibt es eine einfachere Lösung?
      2. Will mit Handy (iphone und andoid) und PC auf den Raspi später per VPN zugreifen
      3. Bei Step 4 in der Anleitung wird gesagt das man das mittels Editor erledigen soll…wo finde ich den Edior? und wie öffne ich diesen?

      Über Tipps danke ich euch.

      Kussel

      Antworten
  • Matthias
    November 28, 2013 3:31 pm

    Hi

    Super Anleitung! Wichtig in der Server konfig war für mich noch
    duplicate-cn #Damit zwei Geräte mit dem gleichen Zertifikat funktionieren
    keepalive 10 120 #iOS hat einen verbindungsabbruch nach 40sek. Damit wird das umgangen

    lg Matthias

    Antworten
    • Jan Karres
      November 28, 2013 5:57 pm

      Danke, habe ich hinzugefügt.

      Antworten
  • Michael
    Dezember 18, 2013 2:08 pm

    Muss es in Step 4 nicht

    export EASY_RSA=`pwd`

    lauten?

    Antworten
    • Jan Karres
      Dezember 18, 2013 7:04 pm

      Da hast du einen Darstellungsfehler meines Blogs gefunden. Habs verbessert. Danke!

      Antworten
  • Raspberry Pi: PPTP VPN-Server installieren » Jan Karres
    Dezember 19, 2013 4:00 pm

    […] ist, ist PPTP. Daneben gibt es noch OpenVPN, der ebenfalls beliebt ist und zu dem ich bereits eine Installationsanleitung veröffentlicht habe. Auf die Vor- und Nachteile beider VPN-Server möchte ich an dieser Stelle […]

    Antworten
  • dco333
    Dezember 19, 2013 9:36 pm

    Hi, hat jemand schon einen freien OpenVPN Client gefunden der unter Windows 8.1 funktioniert? Die TAP Treiber lassen sich unter Win8.1 nicht installieren. Die kommerzielle OpenVPN Version hat einen passenden Treiber. Habe auch versucht die Dateien umzubiegen für den freien Client, jedoch ohne Erfolg. Die letzten Änderungen auf der Seite openvpn.se sind auch schon eine ganze Weile her. Das wird wohl nicht mehr supported.

    Antworten
    • Jan Karres
      Dezember 20, 2013 2:14 pm

      Ich habe auf WhatTheServer.me einen Lösungsansatz gefunden. Da ich Windows 8.1 nicht installiert habe kann es für dich jedoch nicht ausprobieren, sodass du selbst mal sehen musst ob es funktioniert.

      Antworten
  • F F
    Dezember 24, 2013 5:17 pm

    Sehr gute Anleitung mit der ich als Linux Newbie mein VPN zum Laufen bekommen habe.

    Was ich bisher mit Schlaulesen anderer Anleitungen nicht hinbekommen habe, ist die ZUSÄTZLICHE Abfrage am Client nach Benutzername und Passwort, die auch funktioniert.

    Hast Du da was auf Lager?

    Wünsche schöne Feiertage und guten Rutsch 🙂

    Antworten
    • Jan Karres
      Dezember 24, 2013 6:10 pm

      Wenn ich mich nicht täusche kann man bei OpenVPN nur zwischen Key oder Benutzername/Passwort Authentifizierung wählen (nicht beides zugleich). Und da würde ich dir eindeutig zum beschriebenen Key-Verfahren raten, da dieses quasi ein sehr langes und kompliziertes Passwort ist, sodass es sicherer ist als Benutzername/Passwort.

      Antworten
      • guma96
        Januar 2, 2014 4:16 pm

        Hallo Herr Karres,

        erst einmal ein frohes Neues Jahr….

        „Sehr gute Anleitung mit der ich als Linux Newbie mein VPN zum Laufen bekommen habe.“ dem kann ich mir nur anschliessen.

        Ich habe nur ein einziges Problem!
        Seit dem der restart von openvpn durchgeführt wurde, startet mein wlan0(wpa_supplicant) nicht mehr automatisch.

        Nur bei dem Connect über die WPA_GUI startet das Wlan wieder…..

        Haben Sie ein Ahnung welches Problem hier auftritt?

        Danke
        Gruß Guido

        Antworten
        • Jan Karres
          Januar 2, 2014 10:02 pm

          Schau doch mal in die /etc/network/interfaces ob dort die Konfigurationen für den WLAN-Stick noch korrekt sind. Weitere Ideen habe ich an dem Punkt leider nicht.

          Antworten
          • guma96
            Januar 3, 2014 12:02 pm

            die Einstellungen haben sich nicht verändert, anscheinend macht hier der Reatltek Treiber des Wlan Stick Probleme….
            Ich habe jetzt erstmal ein eigenes Startscript geschrieben und nun geht es wieder, wenngleich der Raspi deutlich länger braucht um wieder online zu sein.
            Ich werde das die Tage mit einem neuen Edimax Wlan Stick nochmals testen.

            LG Guido

          • guma96
            Januar 5, 2014 7:24 pm

            Hallo Jan,

            update zu dem Wlan Problem, da mir dies keine Ruhe gelassen hat.
            Da ich dein Tutorial so abgearbeitet habe wie du es hier geostet hast, hatte ich als erstes ein upgrade durchgeführt, allerdings kein reboot.
            Das Upgrade ist ursächlich für das Problem.

            Nach dem rpi-update ist wieder alles i.O.
            Hier scheint es Treiber Probleme zu geben mit dem Realtek RTL8188CUS Chipsatz.

            LG Guido

  • F
    Dezember 24, 2013 6:37 pm

    Aha, dann ist es ja kein Wunder dass es nicht funktioniert hat.

    Danke für die Antwort, mit der ich heute wahrlich nicht gerechnet habe 😉

    Falls ich eine Lösung finden sollte, werde ich sie hier bekanntgeben…

    Antworten
  • pierre
    Januar 2, 2014 2:06 am

    Alors, ich habe den Raspi via Ethernet (statische IP’s intern) laufen. Der Raspi hat zudem eine DynDNS Adresse, die DNS Auflösung klappt und IP Forwarding ist auch aktiv. Die Schritte habe ich soweit erfolgreich durchgeführt. Die Verbindung allerdings bringt auf Android 4.4. ein Timeout.

    Wenn ich dann aber mein Wlan einschalte und aus dem internen Netz eine Verbindung versuchen aufzubauen, klappt alles sofort. Ich bin total ratlos, da der Raspi von aussen erreichbar ist aber vom Smartphone aus keine Daten reinkommen. Vielleicht gibt es hier ein Routing Problem?!

    Antworten
  • F F
    Januar 2, 2014 10:46 am

    Bei http://ping.eu/port-chk/ kannst Du testen ob der entsprechende Port aus dem Netz erreichbar ist.

    Wenn nicht stimmt mit deiner Konfiguration etwas nicht.

    Antworten
  • Matthias
    Januar 5, 2014 9:17 pm

    Super Anleitung, FETTES DANKE.
    Also selbst ich als absoluter Newbie bin klargekommen. Jetzt noch eine Frage, Lachen ist erlaubt. Wie kann ich einstellen das OpenVPN nicht selbst startet nach einem reboot des Raspberry ?

    Antworten
    • Matthias
      Januar 5, 2014 9:18 pm

      stoppen bekomm ich ja noch eben hin mit killall -9 openvpn.

      Antworten
      • Jan Karres
        Januar 5, 2014 11:29 pm

        Mit kill -9 sollte man sparsam umgehen. Wenn möglich sollte man ein Programm über kill anstatt kill -9 beenden.

        Antworten
    • Jan Karres
      Januar 5, 2014 11:28 pm

      Sollte mit folgendem Kommando gehen.

      sudo update-rc.d -f openvpn remove

      Manuell starten können solltest du OpenVPN über folgendes Kommando.

      sudo /etc/init.d/openvpn start

      Antworten
      • Matthias
        Januar 6, 2014 12:53 am

        Okay. Und wo trag ich das ein um openvpn also beim booten direkt zu beenden? i jobs?

        Antworten
        • Jan Karres
          Januar 6, 2014 12:11 pm

          Diese beiden genannten Befehle sind einfach zum Ausführen im Terminal.

          Antworten
          • Matthias
            Januar 6, 2014 3:26 pm

            Also gibt es keine Möglichkeit den Autostart von openvpn beim starten des Raspberry zu verhindern?

      • Michael
        Januar 6, 2014 3:49 pm

        Jan: Damit update-.rc.d openvpn remove funktioniert müsste das zugehörige init Script bereits gelöscht sein (siehe man-page). Ich kenne natürlich die Funktionsweise von ‚-.f‘, denke aber die richtige Vorgehensweise wäre:

        sudo update-rc.d openvpn disable

        und dann bei Bedarf:

        sudo update-rc.d openvpn enable
        sudo /etc/init.d/openvpon start

        Antworten
      • Michael
        Januar 6, 2014 3:58 pm

        Bessere Alternative ist ggf: in /etc/default/openvpn in der Zeile

        AUTOSTART=“none“

        das Kommentarzeichen entfernen, damit wird openvpn nicht gestartet und bei Bedarf dann eben manuell starten:

        sudo /etc/init.d/openvpn start [openvpn]

        Antworten
      • Jan Karres
        Januar 6, 2014 4:18 pm

        @Michael: Ich denke meine Methode funktioniert ebenso, aber deine Variante, insbesondere letztere, ist natürlich galanter 😉

        Antworten
        • Matthias
          Januar 6, 2014 5:07 pm

          Recht Herzlichen Dank euch.

          Antworten
  • Raspberry Pi als VPN-Gateway | Blog
    Januar 23, 2014 1:24 pm

    […] die Installation möchte ich nun nicht weiter eingehen als auf einen Link zu verweisen, der mir an einer Stelle helfen konnte und das Verfahren in Gänze erklärt. […]

    Antworten
  • Jamax
    Januar 26, 2014 10:49 pm

    Hallo, super Anleitung.
    Habe aber auch eine Frage. Habe bei mir alle Ports am Router geschlossen.
    Welch Ports müssen denn alle auf den Pi weitergeleitet werden?

    Antworten
    • Jan Karres
      Januar 26, 2014 10:52 pm

      OpenVPN nutzt standardmäßig den Port 1194. Dieser müsste freigegeben werden.

      Antworten
      • Jamax
        Januar 26, 2014 11:19 pm

        Danke für die schnelle Antwort. Aber noch eine kleine Frage dazu. Wenn ich wie in step8 beschrieben dort nicht port 1194 sonder ein anderes port nehmen würde. z.B. 12030 und dieses im router weiter leite, müsste es doch auch funktionieren oder?
        Hatte auch mal irgendwo gelesen das man für eine vpn verbindung noch udp ports benötigt. Brauch man das hier nicht?

        Antworten
        • Jan Karres
          Februar 8, 2014 12:38 pm

          Den Port musst du sowohl in Step 8 als auch in der Config des OpenVPN Servers ändern und in dem Router dann freigeben. UDP Port musst du nicht öffnen.

          Antworten
  • Daniel
    Februar 9, 2014 12:58 am

    Hallo.
    Ich habe die Anleitung genaustens befolgt, nur eth0 in wlan0 geändert, da ich einen Wlan Stick verwende, und bei der Raspberry-IP die DynDNS Adresse eingetragen.
    Bei Schritt 14 habe ich den Server dann neu gestartet und ab diesem Zeitpunkt funktionierte garnichtsmehr. Ich konnte nichtmehr per SSH auf meinen Raspberry Pi zugreifen. Auch nicht per VNC. Ich habe überhaupt keine Verbindung mehr zum Raspberry Pi bekommen.
    Weiß jemand woran das liegt?

    Antworten
    • Jan Karres
      Februar 16, 2014 5:23 pm

      Kann mir nicht wirklich vorstellen, dass das an OpenVPN liegt. Folglich ist helfen auch schwer…

      Antworten
      • Konrad
        April 30, 2014 10:55 pm

        Hallo Daniel,
        Hallo Jan,

        bin gerade ebenfalls über das Problem gestolpert, dass bei Nutzung von wlan0 anstelle eth0 die Verbindung zum Raspberry Pi abbricht, nachdem bei Punkt 14 der Anleitung der OpenVPN-Service neu gestartet wurde.

        Die folgende Änderung in der Datei /etc/default/ifplugd behebt das Problem:

        HOTPLUG_INTERFACES=“all“

        abändern in

        HOTPLUG_INTERFACES=“eth0 wlan0″

        Danke für die gute Anleitung!

        Antworten
  • oYoX – Linux und Co » OpenVPN in Verbindung mit Android und Raspberry Pi
    Februar 13, 2014 3:30 pm

    […] OpenVPN Installation auf dem Raspberry Pi Zuerst folgt ihr der ausgezeichneten Anleitung von Jan (PDF) um OpenVPN auf dem Raspberry Pi zu […]

    Antworten
  • Niklas
    Februar 24, 2014 1:53 pm

    Hallo,
    Super Anleitung, danke dafür!!
    LG

    Antworten
    • Jan Karres
      Februar 25, 2014 10:15 am

      Freut mich zu lesen 🙂

      Antworten
  • Christian
    März 5, 2014 10:47 am

    Hallo! Ich schaffe es nicht laut Anleitung den Openvpn zum laufen zu bringen. Habe schon 3x nach Anleitung alles eingegeben und kontrolliert. Nach Step 14 wird das „virtual private network“ gestoppt und mit einem Fehlen NICHT gestartet.
    Ich habe keine Idee woran es liegen könnte und bitte um Hilfe!
    Danke und schöne Grüße
    Christian

    Antworten
    • Jan Karres
      März 5, 2014 6:10 pm

      Was sagt denn das OpenVPN Logfile im Ordner /var/log?

      Antworten
  • dotcom84
    März 6, 2014 11:47 am

    Danke für das Tutorial. Schön einfach und funktioniert wunderbar. Ich habe noch einen Verbesserungsvorschlag bezüglich der Schritte 9 und 11. Deine Konfiguration erlaubt es VPN-Clients nicht, Geräte im Intranet (serverseitig) zu erreichen, z.B. NAS-Server, den Router, etc.

    Deshalb mein Ersatz für Schritt 9:
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o tun0 -m state –state RELATED,ESTABLISHED -j ACCEPT

    Und der Ersatz für Schritt 11 (crontab) entsprechend:
    @reboot sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    @reboot sudo iptables -A FORWARD -i eth0 -o tun0 -m state –state RELATED,ESTAB$
    @reboot sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

    Funktioniert wunderbar. Lösungsansatz via: http://serverfault.com/questions/418354/

    Antworten
    • Michael
      Juli 17, 2014 10:49 am

      Danke für den Tipp, ich möchte nämlich unbedingt die Server im Heimnetz erreichen. Leider kommt bei der dritten Begehlszeile die Antwort „Bad Argument -state „. Was läuft da falsch ?
      Gruß M

      Antworten
      • Michael W.
        Juli 17, 2014 1:51 pm

        Bist du sicher, dass du bei ‚–state RELATED…‘ auch *zwei* Bindestriche angegeben hast?

        Antworten
        • Michael
          Juli 18, 2014 8:35 pm

          klar, es ist egal, ob mit „-“ oder „–“
          Leider kann ich hier keine Hardcopy einfügen…

          Antworten
    • Klaus
      Oktober 17, 2015 3:06 pm

      Ist das Dollar Zeichen bei Schritt 11 gewollt?

      Antworten
  • Julian
    März 11, 2014 9:04 pm

    Hallo,

    Hat prima geklappt, nur als ich mich das erstemal verbinden wollte kam diese Fehlermeldung zum Schluss:
    All TAP-Win32 adapters on this system are currently in use.

    Falls das noch wer hat, hier die Lösung:

    http://stackoverflow.com/questions/14896590/openvpn-failed-connection-all-tap-win32-adapters-on-this-system-are-currently

    Diese Version funktioniert auf meinem Win7 Rechner tadellos, man muss sie aber als Administrator ausführen.

    Antworten
    • Jan Karres
      März 11, 2014 9:20 pm

      Über dieses Problem bin ich auch schon mal gestolpert. Gute Idee den Link hier zu posten 🙂

      Antworten
  • diego
    März 16, 2014 6:56 pm

    Danke für die Anleitung! Funktioniert bestens.

    Ich habe gleich sicherheitshalber Port 443 statt 1194 angegeben, damit VPN auch bei irgendwelchen Netzen geht, die reichlich Ports blockieren.

    Unter iOS verwende ich die kostenlose App OpenVPN Connect, die aber eine einzelne .ovpn-Datei erwartet. Dazu raspberrypi.ovpn in einem Texteditor öffnen, die Zeilen ca ca.crt, cert, clientX.crt und key clientX.key entfernen und jeweils zwischen den Zeilen (jeweils ergänzen) … , … und … den Inhalt (also auch die anderen Dateien mal in einem Texteditor öffnen) aus den jeweiligen Dateien, die ihr gerade in der ovpn-Datei ausgetragen habt, reinpasten. Dann irgendwie aufs iPhone schicken (ownCloud, btsync, verschlüsselte Mail etc.) und in OpenVPN Connect öffnen.

    Antworten
  • Mario
    März 25, 2014 5:19 pm

    Hallo Jan
    Leider kann ich auch mit der Anleitung keine Verbindung zu dem OpenVPN-Server herstellen. Weder per Android noch Windows Client.
    Was genau müsste ich als RASPBERRY-PI-IP eintragen, wenn der RASPBERRY-Pi die lokale IP 192.168.70.5 hat, aber die Fritzbox z.B. die öffentliche IP 217.217.80.88?
    Den UDP-Port 1194 habe ich in der Fritzbox auf Rasperry Pi 192.168.70.5 weitergeleitet. Mehr müsste ich da doch nicht machen, oder?
    Über Hilfe und Tipps wäre ich sehr dankbar.

    Antworten
    • Jan Karres
      März 26, 2014 6:29 pm

      Du musst 192.168.70.5 freigeben. Eine UDP Weiterleitung in der Fritz!Box sollte nicht notwendig sein.

      Antworten
      • Mario
        März 27, 2014 5:58 pm

        Jetzt habe ich es geschafft, aber die Portweiterleitung auf der Fritzbox ist zwingend notwendig, denn sonst kommt die Anfrage nicht am Rasperry Pi an.
        Mit dem Android-Phone habe ich eine VPN inkl. Zugriff einrichten können, aber unter Windows 7 habe ich noch Probleme mit den Routen. Die Verbindung wird aufgebaut und beide Monitore zeigen grün, aber die Routen können nicht erstellt werden. Das werde ich in den nächsten Tagen noch weiter prüfen.
        Vielen Dank und weiter so 🙂

        Antworten
  • Marco
    April 9, 2014 9:58 am

    Hallo Jan,

    kannst Du bitte kurz beschreiben, wie man die Zertifikate zurück setzt bzw. erneuert (Stichwort: Heartbleed Bug), da diese ja als angreifbar gelten. Vielen Dank.

    Marco

    Antworten
    • Jan Karres
      April 12, 2014 5:46 pm

      Wie ich sehe, hast du das Thema bereits in deinem Blog bearbeitet 🙂

      Antworten
  • Max
    April 18, 2014 9:32 pm

    Ich habe in der openvpn.conf Datei einen Tippfehler gemacht und möchte diesen jetzt ändern aber immer wenn ich das probiere sagt mir nano permission denied, wenn ich probiere das über den explorer und den Standard Editor zu ändern passiert das gleiche es scheint sogar so zu sein das ich im ganzen Ordner Openvpn nicht schreiben kann.
    Wie kriege ich die Schreibrechte in diesen Ordner?
    Und betrifft mich das mit Heart bleed bug auch wenn ich den Server danach eingerichtet habe?

    MfG

    Max

    Antworten
    • Jan Karres
      April 21, 2014 8:32 pm

      Zur ersten Frage: Einfach sudo vor den Befehl schreiben.
      Zu Heartbleed: Kommt darauf an ob deine installierten Pakete zum Zeitpunkt des Einrichten von OpenVPN sicher waren. Aber prinzipiell denke ich, dass ein kleiner Raspberry Pi wohl eher ein sehr seltenes Angriffsziel wäre 😉

      Antworten
  • Stephan
    April 19, 2014 2:06 pm

    Hallo Jan,

    danke für die Anleitung, super gemacht.
    Ich habe alles so eingestellt wie Du es beschrieben hast.
    Ich habe erfolgreich einen Tunnel aufgebaut ( ist grün und mit 10.8.0.6 verbunden).
    Ich habe auch ein Ping erfolgreich gesendet.
    Ich kann kein Netzwerk hinter dem Raspberry finden, ich kann nicht mit Putty über VPN auf den Raspi zugreifen und winscp bekomme ich auch nicht hin.
    Da ich unerfahren bin und erst noch lerne, bitte ich Dich um einen Tipp oder eine Lösung.

    Gruß
    Stephan

    Antworten
    • Jan Karres
      April 21, 2014 8:43 pm

      Ich nehme an, dass du meinst, dass du nicht über den VPN-Tunnel auf das Internet zugreifen kannst. Ich würde mal annehmen, dass in Step 9 bis Step 11 was schief lief, denn dort wird genau dieses Problem angegangen. Am besten versuchst dus noch einmal 😉

      Antworten
      • Stephan
        April 22, 2014 10:28 am

        Hmm, nicht ganz. Ich möchte auf das entfernte Netzwerk in meiner Wohnung zugreifen können, da ich öfters unterwegs bin.
        Step 9 bis 11 wurde genau so ausgeführt.
        Dazu habe ich noch Deine Anleitung über DYNDNS auf den Pi aufgespielt.
        Funktioniert auch alles, nur kann ich den Rechner bzw. das Netzwerk nicht finden.

        Antworten
        • Jan Karres
          April 27, 2014 7:29 pm

          Mhhh… da habe ich ehrlich gesagt keine konkret Idee. Sorry.

          Antworten
  • afrokalypse
    April 24, 2014 1:16 am

    Wozu ist diese Zeile genau gut?
    ./pkitool –initca
    Im offiziellen howto >https://openvpn.net/index.php/open-source/documentation/howto.html#pki< ist davon nichts zu finden.

    Antworten
    • Jan Karres
      April 27, 2014 7:46 pm

      Es erstellt das CA-Cert und den dazugehörigen Key.

      Antworten
      • afrokalypse
        April 28, 2014 4:22 pm

        Danke schnon mal für die Antwort!
        Ich habe gedacht das wird mit dieser Zeile erledigt.
        ./build-ca OpenVPN
        Was macht dann die?

        Antworten
        • Jan Karres
          Mai 3, 2014 11:29 am

          Ich zitierte aus der Ausgabe des Befehls: „Generating a 1024 bit RSA private key“. Wenn du genaues verstehen möchtest beschäftige dich am besten mal mit den Strukturen des Gesamtkonstrukts OpenVPN.

          Antworten
  • Peter
    April 25, 2014 5:04 pm

    Super Tutorial. Funktioniert auch, aber nur wenn bei mir iptables aus ist oder der Befehl iptables -F eingeben wurde.

    Habe schon sämtliche Regeln versucht. Bin aber langsam mit meinem Latein am Ende =(

    iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
    iptables -A FORWARD -j REJECT
    iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
    iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
    iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

    /var/log/messages gibt folgende Meldung:

    Apr 25 16:58:07 raspbmc kernel: FORWARD-Raus: IN= OUT=eth0 SRC=192.168.127.19 DST=88.198.230.201 LEN=76 TOS=0x00 PREC=0xC0 TTL=64 ID=7113 DF PROTO=UDP SPT=123 DPT=123 LEN=56

    FORWARD-Raus:
    iptables -A OUTPUT -j LOG -m limit –limit 5/s –log-prefix „FORWARD-Raus: „

    Antworten
    • Jan Karres
      April 27, 2014 8:40 pm

      Du scheinst Raspbmc zu verwendet. Das Tutorial ist für Raspbian geschrieben und mein Wissen im Bezug auf Raspbmc ist leider nicht gerade groß. Daher kann ich dir leider nicht helfen, soory.

      Antworten
  • Raspbmc: OpenVPN Server mit Email-Benachrichtigung bei Login | mkriesten.de
    April 25, 2014 10:59 pm

    […] lassen, wie ich mir das vorgestellt habe. Als Grundlage für die OpenVPN Installation habe ich die Anleitung von Jan Karres genutzt. Abweichungen habe ich bei der Konfiguration der […]

    Antworten
  • oYoX – Linux und Co » OpenSSL Heartbleed – auch der Raspberry Pi blutet – FIX inside
    April 29, 2014 4:01 pm

    […] Wir können nun die Komponenten für die Verschlüsselung des OpenVPN Zugangs generieren. Nach der Eingabe des ersten Kommandos wird man nach dem Land als Abkürzung gefragt (DE = Deutschland; AT = Österreich; CH = Schweiz). Alle weiteren Angaben können einfach bestätigt werden, da sie für OpenVPN nicht relevant sind. Dasselbe gilt bei dem zweiten und dritten Kommando, wobei wir dort am Ende mit Y zwei mal bestätigen müssen. Quelle: https://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installieren/ […]

    Antworten
  • Michael
    Mai 2, 2014 8:24 am

    Hallo Jan,
    super Anleitung, vielen Dank! Ich hab alles nach der Beschreibung gemacht und es funktioniert soweit ich im Mobilfunknetz bin. Wenn ich im Wlan bin bekomme ich zwar eine Verbindung zum Vpn aber das Internet funktioniert (fast) nicht. Fast, weil ich keine Seiten aufrufen kann aber mit Voip einen Anruf absetzen kann, dieser zustande kommt aber keine Sprache übertragen wird. Hast du eine Idee? Schon mal vielen Dank! Router ist Speedport w723v.
    Viele Grüße
    Michael

    Antworten
    • Jan Karres
      Mai 3, 2014 1:15 pm

      Ohje, ein Speedport. Da hat gefühlt jedes zweite Model eine andere Eigenart. Von dem her kann ich dir da konkret nicht weiterhelfen, aber warum möchtest du netzintern überhaupt den VPN nutzen?

      Antworten
      • Michael
        Mai 3, 2014 3:01 pm

        Sorry, nicht netzintern. Möchte im wlan eines Telekom hotspot die VPN-Verbindung zum Raspberry Pi aufbauen. Einen DynDns habe icheeingerichtet. Über dem vpn möchte ich gerne telefonoeren. Ich
        überlege gerade eine Fritzbox zu kaufen. Die hat aber eine Vpn-Funktion. Dann brauche ich den Raspberry Pi ja nicht mehr oder?

        Antworten
        • Jan Karres
          Mai 11, 2014 12:33 am

          Sollte dann ausreichend sein.

          Antworten
          • Michael
            Mai 29, 2014 2:05 pm

            Hab jetzt eine Fritzbox und habe dort eine feste Route eingetragen. OpenVPN läuft über Raspberry Pi und telefonieren funktioniert jetzt einwandfrei über WLAN mit einem SIP Client 🙂 Grund war wohl die fehlende feste IP-Route, die man im Speedport leider nicht eintragen konnte…

  • steve
    Mai 12, 2014 11:01 pm

    Wenn ich weitere Clients anlegen will muss ich dann nicht die raspberrypi.ovpn um die weiteren Clients erweitern?

    Weil in Step 16 steht Client1 muss ersetzt werden!?

    Antworten
    • Jan Karres
      Mai 16, 2014 3:43 pm

      Nein, in raspberrypi.ovpn sind Client spezifische angaben. Der Server verwertet die Datei nicht.

      Antworten
  • Maurice
    Mai 28, 2014 9:49 am

    key-size ändern?

    Erstmal vielen Dank für die Anleitung, hat mir sehr geholfen.

    Eine Frage hat sich bei mir aber aufgetan: Lässt sich die key-size irgendwie beeinflussen? Wenn man die Standard-key-size in der openssl.conf ändert, hat das offensichtlich keinen Einfluss. Gibt es da einen Parameter?

    Antworten
    • Jan Karres
      Mai 31, 2014 5:27 pm

      Eine schöne Darstellung findest du auf der Webseite von OpenVPN. Ich zitiere: „You may want to increase KEY_SIZE to 2048 if you are paranoid and don’t mind slower key processing, but certainly 1024 is fine for testing purposes.“

      Antworten
  • Stefan
    Juni 8, 2014 10:22 pm

    Hallo Jan,

    erst mal vielen Dank für die Anleitung. Die Einrichtung auf dem Pi hat meiner Meinung nach gut geklappt, wenn ich das als Linux-Laie beurteilen kann.

    Leider hab ich jetzt das Problem, dass ich mit OpenVPN nicht auf mein Netzwerk komme.
    Hier mal die Meldungen von OpenVPN zum Verbindungsversuch:

    Sun Jun 08 22:13:29 2014 OpenVPN 2.3.4 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on Jun 5 2014
    Sun Jun 08 22:13:29 2014 library versions: OpenSSL 1.0.1h 5 Jun 2014, LZO 2.05
    Sun Jun 08 22:13:29 2014 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
    Sun Jun 08 22:13:29 2014 Need hold release from management interface, waiting…
    Sun Jun 08 22:13:29 2014 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
    Sun Jun 08 22:13:29 2014 MANAGEMENT: CMD ’state on‘
    Sun Jun 08 22:13:29 2014 MANAGEMENT: CMD ‚log all on‘
    Sun Jun 08 22:13:29 2014 MANAGEMENT: CMD ‚hold off‘
    Sun Jun 08 22:13:29 2014 MANAGEMENT: CMD ‚hold release‘
    Sun Jun 08 22:13:29 2014 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    Sun Jun 08 22:13:29 2014 Socket Buffers: R=[8192->8192] S=[8192->8192]
    Sun Jun 08 22:13:29 2014 MANAGEMENT: >STATE:1402258409,RESOLVE,,,
    Sun Jun 08 22:13:29 2014 UDPv4 link local: [undef]
    Sun Jun 08 22:13:29 2014 UDPv4 link remote: [AF_INET]84.58.141.66:1194
    Sun Jun 08 22:13:29 2014 MANAGEMENT: >STATE:1402258409,WAIT,,,

    Kannst Du da was mit anfangen und ggf. sagen, wo es hängt ?

    Schon mal Danke…

    Antworten
    • Jan Karres
      Juni 14, 2014 12:04 pm

      Klingt für mich spontan danach, als sei beim Erstellen des Zertifikats etwas schief gegangen (siehe Step 4 bis Step 7).

      Antworten
  • Alex
    Juni 9, 2014 1:46 am

    Hi Jan,
    komme leider nur bis hier hin…
    ./build-ca OpenVPN
    gibt folgenden fehler aus:

    Please edit the vars script to reflect your configuration,
    then source it with „source ./vars“.
    Next, to start with a fresh PKI configuration and to delete any
    previous certificates and keys, run „./clean-all“.
    Finally, you can run this tool (pkitool) to build certificates/keys.

    hab ich vorher schon etwas falsch gemacht wohl?

    Antworten
    • Jan Karres
      Juni 14, 2014 12:06 pm

      Klingt so als hättest du Step 5 nicht oder nicht ganz bearbeitet.

      Antworten
  • Christopher Teutsch
    Juni 29, 2014 8:47 am

    Hallo, einmal eine Frage 🙂

    Muss ich bei Schritt 8 bei „server 10.8.0.0 255.255.255.0“ für 10.8.0.0 meine interne IP Range einsetzen, wie z. B. „server 192.168.2.0 255.255.255.0“, oder ist das egal?

    Antworten
    • Jan Karres
      Juni 29, 2014 7:16 pm

      Das passt. Stellt das virtuelle Netzwerk der OpenVPN Konfiguration dar.

      Antworten
  • roman
    Juli 9, 2014 3:59 pm

    hallo!
    danke für dieses tolle turorial! so ist es auch einem linux-noob wie mir möglich openvpn zu verwenden 🙂
    ich greife jetzt sowohl mit android als auch mit ios auf den openvpn server zu.

    was mich aber stört:
    wenn ich mein handy verliere oder es gestohlen wird, kann jeder ohne passworteingabe die vpn-app öffnen und sich mit meinem server verbinden.
    kann ich zusätzlich eine passworteingabe aktivieren?

    lg

    Antworten
    • Jan Karres
      Juli 16, 2014 8:59 pm

      Bei dem Kommando aus Step 6 solltest du bei den vom System gestellten Fragen auch ein Passwort definieren können. Außerdem kannst du bei einem Verlust/Diebstahl des Keys dieses auch ungültig machen. Dazu einfach mal nach „openvpn key revoke“ googeln 🙂

      Antworten
      • roman
        Juli 17, 2014 5:05 pm

        ich habe die lösung inzwischen gefunden.
        falls jemand die gleiche lösung hat, so funktionierts:

        in step 6 einfach statt diesem befehl „./build-key client1“ den hier verwenden „./build-key-pass client1“.

        so wird bevor die verbindung aufgebaut wird ein passwort abgefragt…

        lg

        Antworten
  • Marcus
    Juli 10, 2014 9:23 pm

    Erstmal vielen Dank für diesen aber auch die anderen Themen. Lese seit einiger Zeit mit und bin von damals bis heute auch in Linux heran gewachsen, gerade wegen deiner Seite. Heute Scheibe ich dann auch mal etwas für die jenigen wie ich, welche massive Probleme mit dem externen Zugriff auf openvpn und einen Telekom Router w921v haben. Es ist tatsächlich so, dass udp 1194 nicht funktioniert. Habe auch alles probiert, naja bis ich auf die Idee kann, direkt in deiner Anleitung statt udp auf tcp umzustellen. Seit dem funktioniert alles und es wäre schön hier für alle entnervten vielleicht noch einen Hinweis in die Anleitung einzubauen.

    Mach weiter so, werde bei Problemen immer zu erst nach Lösungen auf deiner Seite suchen.

    Antworten
    • Jan Karres
      Juli 16, 2014 9:11 pm

      Danke dir. Habe deinen Kommentar im Artikel mal verlinkt 😉

      Antworten
    • Ronak
      September 8, 2014 10:07 am

      Hallo, ich habe in folgender config Datei openvpn.conf und raspberrypi.ovpn denn Port auf TCP umgestellt. In den Router Einstellungen habe ich dies auch gemacht.

      Ich habe einmal eine Portfreischaltung und dann eine Portweiterleitung Eingerichtet auch jeweils TCP für PORT 1194, aber es hat nicht funktioniert.

      Habe ich irgendwas vergessen?!?!
      Vielen Dank im Voraus.

      Antworten
  • Raspberry Pi – OpenVPN VPN-Server installieren « IT Solutions Technology Blog
    Juli 27, 2014 9:35 am

    […] Tutorial wie man OpenVPN auf dem Raspberry Pi […]

    Antworten
  • Dominik
    Juli 28, 2014 1:29 am

    Hi, danke für das Tutorial!
    Bei mir liefs eigentlich ganz gut bis zum Neustart des Dienstes…
    Da wirft er immer diese Meldung bei dem Befehl sudo /etc/init.d/openvpn start
    [FAIL] Starting virtual private Network daemon: openvpn failed!

    Kann mir jemand dabei helfen?
    Vielen Dank!

    Antworten
    • Jan Karres
      Juli 30, 2014 4:15 pm

      Klassisch wäre wenn du in der openvpn.conf (siehe Step 8) einen Fehler hättest. Die genaue Ausgabe des Fehlers findest du in dem Ordner /var/log/ entweder in einem eigenen Logfile für OpenVPN oder in den Syslogs.

      Antworten
  • Marcus
    Juli 28, 2014 7:30 pm

    Wie startet Ihr euren Dienst denn immer?

    Also ich mache das so : sudo openvpn –config NAMEDATEI.ovpn

    Und schon habe ich ne Verbindung.

    Antworten
    • Dominik
      Juli 29, 2014 2:32 pm

      Ja, so wie oben beschrieben. Aber jetzt hab ich es hinbekommen. Anscheinend gab es einen Parameter der nicht in der Server config gepasst hat. Jetzt hab ich nur noch ein Proll Lehm mit der Firewall. Hab von einem externen rechner versucht zuzugreifen. Kam aber die Meldung dass der tls handshake fehlschlägt.

      Antworten
  • Peter
    Juli 29, 2014 7:11 pm

    Hallo,
    erstmal tolle Anleitung. Finde gut das auch jeder Schritt erklärt wurde.

    Nur leider funktioniert es bei mir noch nicht :/.

    Wenn ich den openvpn Server neustarten möchte, also den Befehl „sudo /etc/init.d/openvpn restart“ eingebe, bekomme ich die Meldung
    „[ok] Stopping virtual private network daemon:.
    [FAIL] Starting virtual private network daemon: openvpn failed!

    Hat vlt jmd ne Idee was da falsch gelaufen sein könnte?

    Antworten
    • Jan Karres
      Juli 30, 2014 4:19 pm

      Ich tippe drauf, das wäre zumindest eine häufige Fehlerquelle, dass du in der openvpn.conf (siehe Step 8) einen Fehler hast. Eine genauere Fehlerbeschreibung findest du in den Logs, die du im Ordner /var/log findest.

      Antworten
  • Steve
    August 3, 2014 12:49 am

    Muss man die client1.csr wirklich ins Archiv mit reinpacken? Werden die Zertifikate nicht vorher bereits signiert?

    Antworten
    • Steve
      August 3, 2014 9:34 am

      Ich verstehe nicht genau, warum in der NAT-Tabelle der Befehl

      sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

      eingesetzt wird. Du hast doch bei der Konfiguration des OpenVPN-Servers die Zeile „server 10.8.0.0 255.255.255.0“ (dies entspricht 10.8.0.0/24) benutzt. Warum
      werden jetzt in der NAT-Tabelle Anfragen aus dem Netz mit der Source- und Destination-IP 10.0.0.0/8 weitergeleitet? Und vor allem warum Destination?
      Ich habe es zwar nicht ausprobiert, aber „reicht“ der Befehl

      iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

      nicht ausreichend?

      Wenn du alle Pakete, die als Zieladresse die 10.0.0.0/8 haben, auf das eth0-interface weiterleitest, bedeutet das doch, dass die Clients untereinander nicht kommunizieren können oder?

      Entschuldige bitte meine Fragen. Ich bin gerade dabei, mich in das Thema einzuarbeiten. Das Tutorial ist wirklich super und es läuft auch alles. Wäre dir sehr dankbar, wenn du meine Fragen beantworten könntest.

      Gruß Steve

      Antworten
      • Jan Karres
        August 8, 2014 2:32 pm

        Ich muss zugeben Netzwerktechnik ist nicht so meins. Deine Erläuterung klingt nachvollziehbar und ich habe es auch mal ausprobiert. Funktioniert einwandfrei! Habe es folglich ebenfalls im Artikel ausgetauscht.

        Antworten
    • Jan Karres
      August 8, 2014 2:21 pm

      Da muss ich dir zustimmen, braucht man nicht. Habe das Tutorial entsprechend verbessert. Danke!

      Antworten
  • Sven
    August 13, 2014 9:57 am

    Gutes Tut. Step 11 funktioniert bei mir leider nicht. Nach jedem Neustart muss ich den Befehl manuell eingeben. Woran kann das liegen?

    Antworten
    • Jan Karres
      August 13, 2014 11:14 am

      Hast du die Zeile denn am Ende der Datei in eine neue Zeile eingefügt, wie beschrieben?

      Antworten
  • Thomas220
    August 13, 2014 9:20 pm

    Hallo Jan, eine Superanleitung, die auch ich als Linux-Neuling nachbauen konnte. Dafür vielen Dank. Auch wenn ich das Eine oder Andere nicht bis ins Detail nachvollziehen konnte. Im internen Netzwerk funktioniert das zwar auch nicht auf Anhieb, aber das hatte was mit diesem Link zu tun:
    Zitat: „Einen OpenVPN Client für Windows gibts unter http://openvpn.se/“ Zitatende
    Auf openvpn.se habe ich nur Dateien von 2005 gefunden. Mit denen hat praktisch gar nichts funktioniert. Habe dann noch etwas gegoogelt und diesen Link gefunden, in dem für jeden was dabei ist: http://openvpn.net/index.php/download/community-downloads.html
    Wie gesagt, funktioniert jetzt intern alles super. Aber das ist ja nicht Sinn und Zweck der Übung.
    Probleme habe ich, wenn ich mich von „Draußen“ verbinden will. Offensichtlich liegt es am Router: Speedport W921V. Dem Hinweis von Marcus bin ich bereits nachgegangen, aber es hat nichts gebracht. Gestern habe ich ein VPN-Netzt mit Win7 Win8 Win7 aufegbaut. Und das kann ich auch von Außen erreichen. Dort wird ja ein anderes Protokoll und ein anderer Port benutzt. Nun dachte ich mir, vielleicht kann der Port 1194 beim 921er nicht freigegeben werden. Also habe ich die openvpn.conf-Datei und die rasperrypi.conf-Datei angepasst und dort den Port 1723 eingetragen. Intern funktioniert das wieder, aber von „Draußen“ komm ich nicht rein.
    Ich erhalte immer den gleichen Fehler
    Wed Aug 13 21:16:46 2014 MANAGEMENT: >STATE:1407957406,WAIT,,,
    Wed Aug 13 21:17:47 2014 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
    Wed Aug 13 21:17:47 2014 TLS Error: TLS handshake failed
    Wed Aug 13 21:17:47 2014 SIGUSR1[soft,tls-error] received, process restarting
    Wed Aug 13 21:17:47 2014 MANAGEMENT: >STATE:1407957467,RECONNECTING,tls-error,,
    Wed Aug 13 21:17:47 2014 Restart pause, 2 second(s)

    Ja und dann geht das wieder von vorne los 🙁

    Gibt es da was, was ich falsch mache. Wie gesagt es hat auch mit ursprünglichen Konfiguration nicht funktioniert.

    Vielen Dank
    Thomas

    Antworten
    • Jan Karres
      August 19, 2014 3:30 pm

      Habe den Client mal ersetzt. Hast recht, geringfügig neuer 😉 Danke!

      Zu deinem Problem: Für mich klingt das so als bei der Port nicht ordentlich freigegeben. Du musst Port 1194 tcp auf den Raspberry Pi in deinem Speedport freigeben. Dann sollte es funktionieren 😉

      Antworten
      • Conan
        August 19, 2014 3:41 pm

        in aqanleitung oben steht aber in der openvpn.conf udp und nciht tcp 😉

        Antworten
        • Marcus Nickelsen
          August 19, 2014 3:48 pm

          Einfach auf TCP umschreiben und dann geht es. Bei einem Telekomrouter geht es nicht anders als auf TCP zu legen.

          Antworten
          • Marcus Nickelsen
            August 19, 2014 3:56 pm

            dev tun
            client
            proto tcp
            remote DEINSERVERODERIP 1194
            resolv-retry infinite
            nobind
            persist-key
            persist-tun
            ca ca.crt
            cert client1.crt
            key client1.key
            comp-lzo
            verb 3

          • Jan Karres
            August 19, 2014 4:20 pm

            Bei anderen Routern mit denen ich das getestet habe gabs nie so ein Problem. Aber Speedports sind sowieso eine Geschichte für dich ^^

          • Marcus Nickelsen
            August 19, 2014 4:23 pm

            Relativ einfach zu verstehen, warum die Telekom ein gewisses Interesse daran hat, es einigen nicht zu einfach zu machen und das Streaming von TV-Sender auch außerhalb von zu Hause zu ermöglichen. Mal abgesehen von kostenlosen VoIP Verbindungen.

            Ist doch irgendwie komisch, dass genau der Port 1194 UDP nicht geht ;D

    • thomas220
      August 23, 2014 7:18 pm

      Vielen Dank an Alle, die mir hier geholfen haben. Der Tunnel wird nun per TCP aufgebaut. Mal sehen, was noch so alles möglich ist.

      PS: Habe auch noch mal die gesamte Anleitung durchlaufen und die cert und keys neu erstellt. Vielleicht lag ja auch da der Fehler drin.

      Thomas

      Antworten
  • Conan
    August 14, 2014 5:23 pm

    ICh hab eine frage, wie bekomme es hin das 2raspberry sich per vpn verbinden so das ich von beiden netzwerken auf alle geräte zugreifen kann (LAN-LAN kopplung)?

    Antworten
    • Jan Karres
      August 19, 2014 3:39 pm

      Mit dem Zugriff auf das interne Netzwerk muss ich mich selbst noch beschäftigen, sodass ich momentan keine Antwort auf deine Frage parat habe.

      Antworten
  • Nicolas
    August 17, 2014 12:18 am

    Hallo

    Erstmal danke für diese super Anleitung! Es funktioniert an sich schon mal 🙂
    Meine Frage ist nun, was ich tun muss, um Split Tunnel zu aktivieren. Wenn ich richtig informiert bin, würde das dann heissen, dass nicht aller Internetverkehr durch den VPN geschickt wird, ich jedoch trotzdem virtuell in meinem eigenen Netzwerk bin, oder?

    Über eine Antwort würde ich mich sehr freuen. Und ansonsten: Mach weiter so! Deine Anleitungen sind super!

    Gruss, Nicolas

    Antworten
    • Jan Karres
      August 19, 2014 3:53 pm

      Da habe ich leider selbst zu wenig Ahnung, als dass ich helfen könnte. Sorry.

      Antworten
  • Martin
    August 21, 2014 7:33 am

    Hallo!
    Wie immer eine super Anleitung! Ich konnte allerdings nach Schritt 14 nicht mehr übers Netz (eth0 & wlan0) auf mein Raspbi zugreifen. Nach einem sudo /etc/init.d/networks restart hat es dann aber geklappt und seither kann ich mich von überall her verbinden 🙂 Könntest oder solltest du Schritt 14 entsprechend ergänzen?

    Antworten
    • Jan Karres
      August 21, 2014 11:36 am

      Habe ich ehrlich gesagt noch nicht gehört und kann mir auch kaum vorstellen, dass dies direkt mit dem Tutorial in Verbindung steht, weshalb ich das im Artikel nicht ergänzen werde, jedoch hier in den Kommentaren einfach mal stehen lasse 🙂

      Antworten
      • Martin
        August 21, 2014 3:54 pm

        Gut möglich, dass es an meinem Router (inkl. DHCP) liegt und ein Zusammenhang mit der Einrichtung der Portweiterleitung und anschliessenden Routerneustart besteht…

        Antworten
  • Robert aus Wien
    August 27, 2014 11:36 am

    Wie kann ich denn Schlüssel erstellen, die länger als 1024 Bit sind (z.B. 2048 oder 4096)?

    Antworten
    • Jan Karres
      August 31, 2014 2:53 pm

      Da kann ich dich auf meine Antwort von Mai zur selben Frage in diesen Kommentaren verweisen.

      Antworten
  • Meiser_Knobi
    August 31, 2014 12:24 pm

    Ähm ich hab ab schon in Schritt 3 ein problem…. unter „/usr/share/doc/“ ist kein openvpn vorhanen. Schritt 1 und 2 wie oben ausgeführt. Eventuell neue Versionen die anders arbeiten. ich habe mir mal erspart alle kommentare durchzulesen, da ich vermute hätten andere das problem auch würde es ein update im Blogpost stehn.

    Mir ist aufgefallen das im schritt 5 mit einer openssl version 1.0.0 gearbeitet wird. Ich denk grade an Heartbleed. gibt es da vll inzwischen was neues?

    Antworten
    • Jan Karres
      August 31, 2014 6:29 pm

      Bzgl. Heartbleed: Das ist schon längst in den Debian Distributionen gefixt 😉
      Zur eigentlichen Frage: Wenn das Verzeichnis nicht existiert ist für mich die Frage ob du überhaupt Raspbian oder eine vergleichbare Distribution verwendest…

      Antworten
  • Frank
    September 7, 2014 11:26 am

    Hallo Jan,
    Vielen Dank für dein Tutorial. Meine VPN Verbindung steht und ich komme vom Client-Netzwerk in das Server Netzwerk. Was ich nicht hin bekomme, ist eine Verbindung vom Server Netzwerk zum Client Netzwerk. Ich denke es fehlt noch eine Route im VpnServer. Könntest du mir bitte weiterhelfen?

    Antworten
    • Jan Karres
      September 7, 2014 8:29 pm

      Das muss ich selbst noch ergründen, weshalb ich dir da momentan nicht helfen kann.

      Antworten
  • Christoph G
    September 13, 2014 11:12 pm

    Hallo Jan!

    Danke für dein tolles Tutorial! Alles ist wirklich sehr einfach und verständlich erklärt.
    Nur habe ich bei einem Schritt einen Verbesserungsvorschlag, da mich dieser Fehler sehr viel Zeit gekostet hat.
    Bei Schritt 8 sollten alle Pfade mit Anführungszeichen versehen werden,
    also z.B: ca „/etc/openvpn/easy-rsa/keys/ca.crt“

    Danach hat alles wunderbar funktioniert.

    Antworten
    • Jan Karres
      September 15, 2014 12:19 pm

      Wenn man keine unnötigen Leerzeichen irgendwo zusätzlich einbaut brauchst es keine Anführungsstriche 😉

      Antworten
  • Renee
    September 18, 2014 1:49 pm

    Leider bekomme ich bei „source vars“ eine Fehlermeldung:
    bash: /etc/openvpn/easy-rsa/openssl-1.0.0.cnf: Keine Berechtigung

    Kann mir da evtl jemand weiterhelfen?!

    Antworten
    • Jan Karres
      September 27, 2014 11:07 am

      Bei welchem Schritt bekommst du denn diese Fehlermeldung?

      Antworten
  • Matthias
    September 21, 2014 2:08 am

    Kann ich diese Anleitung auch für einen normalen Pc mit Debian 7 verwenden oder muss etwas abgeändert werden ?

    Antworten
    • Jan Karres
      September 27, 2014 11:13 am

      Sollte 1-zu-1 funktionieren.

      Antworten
  • David
    September 21, 2014 3:30 pm

    Hallo habe es nach der Anleitung gemacht und zwar mit tcp statt mit udp,
    über Windows bekomme ich zwar eine Verbindung zu stande aber kann die internen Geräte in meinem Openvpn server netz nicht anpingen.

    mfg

    Antworten
    • Martin
      September 22, 2014 7:35 am

      Hi David. Ich muss die OpenVPN Gui unter Windows mit der Option „Programm als Administrator ausführen“ laufen lassen, sonst kann ich auch keine Geräte anpingen…

      Antworten
  • Mario
    September 26, 2014 12:36 am

    Neues Android-Phone und nu?
    Nach deiner super Anleitung hat alles lange Zeit tadellos funktioniert. Jetzt habe ich ein neues Phone, habe OpenVPN Connect neu installiert und wollte die Zertifikate usw. importieren.
    Nun mault mich OpenVPN an, die Dateien wären nicht UTF8-kompatibel.
    Was kann ich machen?

    VG
    Mario

    Antworten
  • Benne
    Oktober 12, 2014 5:58 pm

    Das Thema ist zwar schon wieder ein wenig älter aber eins verstehe ich nicht: ich sollte durch WinSCP eine Datei mit der Endung .tar.gz finden? ich finde leider nur die tgz, wie sie ja auch im Tutorial erstellt wird.

    Falls es doch die richtige Datei sein soll, wo muss ich die hinkopieren? ich hatte vorher noch nie etwas mit VPN zu tun und OpenVPN ist daher auch Neuland für mich 😀

    Danke im Voraus

    Antworten
    • Jan Karres
      Oktober 18, 2014 2:14 pm

      Interessant, dass dies vor dir noch niemand angemerkt hat. Habe es verbessert, danke!

      Wo du die Dateien aus dem Packet hinkopieren musst hängt von dem verwendenten VPN Client ab. Folglich am besten dort man in den FAQs o.ä. ansehen 🙂

      Antworten
  • datroubler
    Oktober 13, 2014 1:21 am

    Hallo Jan,
    ich habe mich an deine Anleitung gehalten. Wenn ich mich innerhalb meines Netzwerkes verbinde habe ich keine Probleme (und in der config meine interne IP steht), sobald ich aber meine dyndns adresse eintrage und das Netz von außen Erreichen möchte geht es einfach nicht. Eine Weiterleitung ist eingerichtet.
    Es hat auch eine Zeitlang funktioniert… dyndns löst auch korrekt auf.

    Antworten
    • Jan Karres
      Oktober 18, 2014 2:20 pm

      Verwende bei den Portfreigabe doch mal TCP anstatt UDP.

      Antworten
  • Gaara4
    Oktober 14, 2014 2:17 pm

    Vielen dank für dieses Tutorial funktioniert Super ^^
    Leider geht seitdem meine Owncloud nicht mehr welche ich mit lighthttpd laufen lassen.
    Kann es sein das eine Dyndns nur für eine Sache geht und somit das andere quasi blockiert?
    Also die Website oder Owncloud kann ich gar nicht mehr erreichen egal ob über eine VPN Verbindung oder nicht

    Antworten
    • Jan Karres
      Oktober 18, 2014 2:58 pm

      Über eine DynDNS können auf verschiedenen Ports verschiedene Dienste laufen. Hast du denn schon mal überprüft ob alle benötigen Dienste (OpenVPN, lighthttpd und wahrscheinlich php5-fpm) laufen, wie auch ob alle benötigten Ports freigegeben wurden?

      Antworten
  • Thomas
    Oktober 18, 2014 5:12 pm

    Bei step 9 (-> sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE) kommt nach Eingabe bei mir die Meldung:

    iptables v1.4.14: host/network `.10.8.0.0´ not found
    Try `aptables -h´ or ´iptables –help´ for more information.

    BTW: Anleitung hat beim ersten Anlauf nicht funktioniert, zwischen 12 und 13 kam vorher eine Fehlermeldung.

    Hat jemand eine Idee was ich machen kann??????

    Antworten
  • Tristan
    Oktober 25, 2014 11:10 pm

    Hi Jan,

    danke erstmal für das Tutorial.
    Leider habe ich von meinem VPN Client Probleme mit dem Zugriff auf den Samba Server (mit dem angelegten Sambauser)

    Ich hab die Weiterleitung wie schon disktutiert wie folgt abgeändert:
    http://serverfault.com/questions/418354/how-to-set-up-openvpn-to-let-the-vpn-clients-to-access-all-the-servers-inside-th

    Trotzdem erhalte ich die Fehlermeldung keine Berechtigung auf die Freigabe zu haben (auf den pi komme ich drauf nur an der Freigabe kann ich mich nicht anmelden)

    Antworten
    • mopmop
      Dezember 14, 2014 9:27 pm

      Hast du für das Problem inzwischen eine Lösung gefunden? Ich hänge nämlich an genau der gleichen Stelle…

      Antworten
  • tsch
    Dezember 9, 2014 11:55 am

    Klasse Anleitung, mit der auch ich als Linux-Noob einen VPN-Server auf meinem pi installieren konnte!

    Wie kann ich nun meine inzwischen etwas ältliche Version so upgraden, dass ich den vorhandenen Key weiter nutzen kann oder ist das generell nicht möglich/gewollt?

    Vielen Dank schonmal für die Hilfe.

    Antworten
    • Jan Karres
      Dezember 22, 2014 6:28 pm

      Da du OpenVPN und OpenSSL über den Paketmanager APT installiert hast kannst du diese Pakete mit diesem updaten, mittels folgenden Kommandos:

      sudo apt-get update && sudo apt-get upgrade

      Antworten
  • Heiko
    Dezember 9, 2014 5:24 pm

    Super Anleitung. Die Verbindug zum Server funktioniert bei mir auch und ich bekomme dann eine 10.193.45.6 als IP zugewiesen. Dieses Subnetz passt aber gar nicht zu meinem Netz Zuhaus, also kann ich dann ja auch nicht auf die Geräte Zuhaus zugreifen. Was muss ich einstellen bzw. wo stelle ich es ein damit ich eine Passende IP zu meinem Netz bekomme?

    Antworten
    • Jan Karres
      Dezember 22, 2014 6:29 pm

      Das steht schon seit langem auf meine Todo-Liste. Habe spontan jedoch keine Lösung für das Problem, sorry.

      Antworten
  • Andreas Kohler
    Dezember 10, 2014 6:12 pm

    Hallo,
    Ich habe jetzt auf einem Pi den OpenVPN Server installiert. Klappt soweit alles. Jetzt will ein auf einem 2. Pi als OpenVPN Client einrichten. Dieser 2. PI ist an einem UMTS Router angeschlossen ( dieser steht im Pferdstall ohne Internetzugang) an dem auch eine IP Kamera hängt. Jetzt soll der OpneVPN Client einen Tunnel zum Server aufbauen damit ich anschließen von meinem iPhone auf die IP Kamera zugreifen kann.

    Dabei stehe ich jetzt etwas auf dem Schlauch. Ist mein erstes „Projekt“ mit OpneVPN und Raspberry. Kann mir hierfür jemand in paar Tips geben, damit mein gedanklicher Knoten platzt 🙂

    Danke
    Andreas Kohler

    Antworten
  • Der Werner
    Dezember 14, 2014 10:49 am

    Schönes Tutorial! Ich nutze mitlerweile einen vServer nach dieser Anleitung:
    http://www.kammerath.net/ubuntu-openvpn-server-konfigurieren.html

    Das Problem war bei mir mit dem OpenVPN Server auf dem Raspberry Pi einfach, dass die SD-Karte mit Arch anfing nach ein paar Monaten Lesefehler zu bekommen. Das geschah meistens dann wenn ich den OpenVPN Server am nötigsten brauchte.

    Antworten
  • Andreas
    Dezember 15, 2014 10:02 pm

    Hallo,

    mühsam ernährt sich das Eichhörnchen. Langsam komme ich voran. 2 Fragen stellen sich mir noch, zu denen ich noch keine Antwort finden konnte.

    1. wie kann ich für die Clients eine feste IP zuweisen?

    2. wie kann ich abfragen welche clients am VPN Server angemeldet sind?

    Antworten
    • Jan Karres
      Dezember 22, 2014 6:49 pm

      Zu 1: Da gibts auf thomas-leister.de eine knappe Abhandlung darüber.
      Zu 2: Dazu denke ich müsstest du dir ein Script basteln, dass die Logs unter /var/logs analysiert.

      Antworten
  • dotVPN
    Januar 17, 2015 1:09 pm

    Hallo,
    Ich habe dieses Tutorial durchgemacht und habe bemerkt, dass es bei mir die Datei dh1024.pem gibt sondern nur 01.pem und 02.pem. Ich habe also dh1024 mit 01.pem ersetzt und erhalte folgende Fehlermeldung im Log:

    Cannot load DH parameters from /etc/openvpn/easy-rsa/keys/01.pem: error:0906D06C:PEM routines:PEM_read_bio:no start line

    Antworten
    • dotVPN
      Januar 17, 2015 4:42 pm

      Es lag daran, dass mein ./build-dh unterbrochen wurde. Jetzt konnte ich openVPN starten 🙂

      Antworten
  • Andreas
    Januar 20, 2015 5:31 pm

    An meinem Client erschien bei der Anmeldung folgende Warnmeldung:

    „WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.“

    Nach der Beschreibung auf der verlinkten Seite habe ich die Zeile „remote-cert-tls server“ in die in Step 12 erstellte Datei „raspberrypi.ovpn“ eingefügt.

    Die o.g. Warnmeldung ist damit verschwunden, stattdessen erscheinen einige Validierungsmeldungen zur Verwendung des Zertifikats.

    Danke für das einfach nachzuvollziehende Tutorial, Andreas

    Antworten
  • Holger Spatz
    Januar 21, 2015 7:52 pm

    Super Anleitung, allerdings hat sie bei mir nicht zu 100% funktioniert. Ich verwende ebenfalls einen Speedport der Telekom und musste zunächst den Port auf den TCP-Port 443 ändern – aber jedes mal nach dem die Telekom eine Zwangstrennung durchgeführt hatte, konnte keine Verbindung mehr aufgebaut werden.

    Folgender Zusatz in der Datei openvpn.conf war nötig, damit auch nach einer Zwangstrennung der OpenVPN-Server erreichbar ist:

    ping-timer-rem
    push „ping-timer-rem“

    Antworten
  • Conan
    Februar 6, 2015 8:55 am

    Wie muss ich die anleitung um schreiben, so das öffentrliche ipv6 addresse genutzt werden? DS-lite opfer.

    Antworten
    • Jan Karres
      Februar 11, 2015 3:00 pm

      Das ist glaube ich etwas aufwändiger. Da kann ich dir mit diesem Artikel leider nicht dienen.

      Antworten
      • tsch
        Februar 11, 2015 3:13 pm

        Hallo,

        schau doch mal in meinen Thread (hoffe das ist hier erlaubt):
        http://www.ip-phone-forum.de/showthread.php?t=272583

        Da habe ich bschrieben, wie man trotz DSlite (bin selbst betroffen) über OpenVPN sicher auf seine Geräte zugreifen kann.
        Evtl. hilft das auch Dir.

        lG

        TSCH

        Antworten
        • Jan Karres
          Februar 11, 2015 3:27 pm

          Logo ist das erlaubt 😀 Solange es sinnvoll ist und hilft, sind externe Links doch für alle hier mitlesenden nützlich 😉

          Antworten
        • Conan
          Februar 11, 2015 10:47 pm

          Einen Kostenplflichten dienst als lösung für einen bastel pc, ist natürlich eine schlaue idee.

          Antworten
          • tsch
            Februar 12, 2015 7:51 am

            Aber bitte sehr, gern geschehen.
            5.-EUR/Jahr finde ich wesentlich günstiger als 5.-EUR pro Monat, die mir mein ISP angeboten hat.
            Und ich bin mit der Lösung sehr zufrieden und gönne dem Dienstleister das kleine Geld. Hat mir zumindest (und inzwischen auch anderen) sehr geholfen.

            Die Polemik Deiner Antwort ist mir nicht entgangen.
            Aber wer so auf eine gut gemeinte Antwort reagiert,..

  • Conan
    Februar 12, 2015 4:29 pm

    Wen man stats TUN TAP nutzten möchte, wieviel muss man dan umstellen?

    Antworten
  • himbeerkuchen
    März 11, 2015 11:57 am

    Hallo Jan,

    Vielen Dank für das Tutorial. Ich habe als Linux Anfänger ein zwei Fragen dazu:

    Und zwar ist es normal, dass wenn ich meine dyndns adresse von no-ip verwende in meiner server config, dass dann immer meine externe, also die echte IP Adresse meines Providers (Kabelmodem mit eigenem Router) angezeigt wird, wenn ich mit meinem über ovpn verbundenen Client eine whois Abfrage übers internet mache??

    DNS-Leak Tests sind negativ, der Eintrag von Open DNS in der Server config funktioniert ürbigens.

    Hab ich da irgendwo einen Fehler eingebaut, bzw wird etwas nicht richtig geroutet, oder ist es normal, dass bei IP Checks zB über whatismyip.com dann trotzdem überall meine externe IP aufscheint? Sollte dort nicht 10.8.0.0 stehen, oder 192.168.1.104 also die IP meines Raspberry?
    Ich blicke da nicht durch 🙁

    Zweite Frage: wie kann ich prüfen, ob tatsächlich alle Daten verschlüsselt sind und über OpenVPN laufen? Ich meine, wenn ich mich verbinde über externe Clients wie zB Android Handy oder Ipad, dann bekomme ich über die Openvpn app ein grünes Häckchen, und kann alle Seiten aufrufen, aber heisst dass auch das alles passt?

    Vielen dank im voraus und lieben Gruß

    Antworten
    • Jan Karres
      März 31, 2015 6:35 pm

      192.168.1.104 oder 10.8.0.0 sind interne IP-Adressen. Wenn du über deinen OpenVPN Server online gehst hast du die externe IP-Adresse deines Servers (in dem Fall deines DSL Anschlusses). Wenn du diese IP-Adresse aus einem anderen Netz hast und mit dem OpenVPN Server verbunden bist hast du zugleich überprüft ob die Verbindung zum VPN-Server steht.

      Antworten
      • Himbeerkuchen
        April 7, 2015 4:21 pm

        Klasse, Vielen Dank Jan! Ich bin noch immer begeistert wie reibungslos der Raspi eigentlich den ganzen Traffic handelt. Mittlerweile laufen erfolgreich 5 Clients mit eigenen Keys über den Openvpn Pi (teilweise gleichzeitig) und sogar Videos werden tadellos gestreamt.

        Geprüft habe ich die Verschlüsselung mittlweile mit Wireshark. Alles in Ordnung, perfekt verschlusselt 🙂

        Kann nur jedem empfehlen sich nen eigenen VPN mit dem Raspi zu basteln. Läuft tadellos wenn man sich erstmal korrekt durch diverse Tutorials gearbeitet hat!!

        Lg

        Antworten
  • Markus
    März 15, 2015 11:45 am

    Hallo,

    super Anleitung! Hat gut funktioniert und dank deiner Erklärungen kann man auch nachvollziehen, was die einzelnen Befehle tun.
    Ich hätte noch eine Ergänzung, die Du vielleicht als optionalen Schritt hinzufügen kannst. Nämlich die zusätzliche Authentifizierung über Username und Passwort (nur Passwort funzt z.B. mit dem Android Client nicht). Nach viel Trial and error hab ich es endlich hinbekommen.

    Dazu muss in der openvpn.conf hinzugefügt werden:

    plugin /usr/lib/openvpn/openvpn-auth-pam.so login
    username-as-common-name

    und in der client config raspberrypi.ovpn:
    auth-user-pass

    OVPN Server Neustart nicht vergessen. 😉

    P.S.: soweit ich das verstanden habe, genügt es, wenn man mit „adduser“ und „passwd“ unter Linux einfach einen neuen Benutzer anlegt, der dann auch für die Authentifizierung genutzt werden kann (falls man den User pi nicht verwenden möchte).

    Antworten
    • Jan Karres
      März 31, 2015 6:53 pm

      Für die Authentifizierung verwenden wir in dem Tutorial ein Zertifikat, was als sicherer als Benutzername und Passwort angesehen werden kann.

      Antworten
      • Conan
        März 31, 2015 6:55 pm

        Ich komme vom server netz nicht auf das netzt des clients (pi2 als client), aber anders rum geht alles, was könnte das sein?

        Antworten
  • Peter
    April 7, 2015 4:13 pm

    Hab alles nach Anleitung gemacht. VPN Tunnel baut sich ohne jegliche Probleme auf, jedoch kann ich mein internes Netz 192.168.x.x nicht anpingen oder im Internet surfen. IP Forward ist an. Ich glaube irgendwas stimmt die die IPTABLES nicht, aber ich komme leider auf keinen grünen Zweig.

    By the way: Mein Raspi läuft als WLAN Bridge, kann das damit zusammen hängen, dass ich IPTABLES über br0 konfigurieren muss?

    Antworten
    • Jan Karres
      April 19, 2015 8:31 pm

      Wie das funktioniert habe ich selbst noch nicht herausgefunden. Soll heißen mit diesem Tutorial kannst du nicht auf das interne Netz zugreifen.

      Antworten
      • Peter
        April 20, 2015 10:08 am

        Vielleicht muss ich mal rpi-update ausführe, weil manche danach schon erfolg hatten. Nur mit meinen Configs kann ich im Moment noch nicht auf das interne Netz zugreifen. Hab dein Tut schon mal hergenommen für VPN und damals hat alles hervorragend funktioniert.

        Antworten
        • Peter
          April 20, 2015 10:18 pm

          Ich komme irgendwie auf keinen grünen Zweig habe jetzt ein rpi-update gemacht, das auch nichts gebracht hat.

          Folgende Logs bekomme ich von Tunnelblick:

          2015-04-20 22:12:14 /sbin/route add -net 87.180.126.215 192.168.0.1 255.255.255.255
          add net x.x.x.x: gateway 192.168.0.1
          2015-04-20 22:12:14 /sbin/route add -net 0.0.0.0 10.8.0.5 128.0.0.0
          add net 0.0.0.0: gateway 10.8.0.5
          2015-04-20 22:12:14 /sbin/route add -net 128.0.0.0 10.8.0.5 128.0.0.0
          add net 128.0.0.0: gateway 10.8.0.5
          2015-04-20 22:12:14 MANAGEMENT: >STATE:1429560734,ADD_ROUTES,,,
          2015-04-20 22:12:14 /sbin/route add -net 192.168.x.0 10.8.0.5 255.255.255.0
          add net 192.168.X.0: gateway 10.8.0.5
          2015-04-20 22:12:14 /sbin/route add -net 10.8.0.0 10.8.0.5 255.255.255.0
          add net 10.8.0.0: gateway 10.8.0.5
          2015-04-20 22:12:14 /sbin/route add -net 10.8.0.0 10.8.0.5 255.255.255.0
          route: writing to routing socket: File exists
          add net 10.8.0.0: gateway 10.8.0.5: File exists

          Ich frage mich, wieso er beim Internen Netzwerk ein GW mit der IP 10.8.0.5 hat…

          Hab sämtliche Einstellungen versucht, ich bekomme nur den Tunnel aufgebaut ohne Zugriff auf das interne LAN.

          Antworten
  • Steffen
    April 11, 2015 5:51 pm

    Ich vermute, ein Teil der Probleme hier resultiert daraus, dass Du am Anfang des Tutorials nicht sicher stellst, dass alles auf dem aktuellsten Stand ist. Ich hab die Schritte mit einem frisch installierten Raspbian gemacht. Da ging es am Ende nicht. Der Server startete nicht neu.

    Ich hab Raspbian dann neu installiert und erst einmal apt-get upgrade und rpi-update durchlaufen lassen. Danach ging es.

    Ansonsten ist das ein wirklich gutes Tutorial! Danke schön!

    Antworten
    • Jan Karres
      April 19, 2015 9:38 pm

      Dafür gibt es das Raspbian installieren Tutorial, sofern man sich mit Linux nicht so auskennt 😉

      Antworten
  • Sicher im Netz: OpenVPN auf dem Raspberry Pi
    April 12, 2015 11:50 am

    […] Jan Kar­res habe ich eine sehr gute Anlei­tung gefun­den, mit der OpenVPN auf dem Raspberry Pi ein­fach zu instal­lie­ren ist. Die Anlei­tung ist so ein­fach, dass man den ein­zi­gen […]

    Antworten
  • Nils
    Juni 15, 2015 9:53 pm

    Hallo

    ich habe mein RPI wie nach der Anleitung beschrieben, den Openvpn Server installiert. Wenn ich mich mit Windows oder iOS verbinde, dann kann ich kein Internet Zugriff herstellen.

    Die IP und die DNS Adresse wird noch richtig übermittelt aber als IPv4-Subnetzmaske wird 255.255.255.252 anstatt 255.255.255.0 eingetragen. Außerdem bleibt die Spalte IPv4-Standardgateway leer. (Angaben von Windows)

    Den RPI 1 B+ habe ich neu gekauft und Raspbiani installiert.
    Die aktuelle Firmware ist auch installiert.

    Habt ihr eine Idee wie ich das Problem lösen kann?

    Nils

    Antworten
    • Jan Karres
      Juni 16, 2015 2:04 pm

      Ich tippe mal, dass du in Step 9 bis Step 11 einen Fehler gemacht hast, denn in diesen wird das für den Zugriff notwendige Routing definiert.

      Antworten
      • Nils
        Juni 20, 2015 6:29 pm

        Hallo

        Danke für deine schnelle Antwort. Ich habe den Fehler gefunden.
        Das OpenVPN Programm für Windows muss als Administrator gestartet werden und die Informationen im Netzwerk und Freigabecenter müssen ignoriert werden.

        Vielen Dank für die Anleitung.

        Antworten
  • Martin
    Juni 18, 2015 9:23 am

    Hallo. Der OpenVPN Server auf meinem Pi werkelt jetzt schon eine ganze Weile problemlos, auch dank dieser Anleitung hier 🙂 Eine Frage stellt sich mir aber noch: Welche Daten müssen gesichert werden, damit im Falle eines Falles der OpenVPN Server wieder hergestellt werden kann, ohne dass man das gesamte Prozedere wieder durchlaufen muss. Klar: ich kann ein Image von der SD-Karte ziehen und dieses zurückladen. Unter Umständen kopiere ich dann aber allfällige Fehler mit. Oder ich möchte den OpenVPN Server von meinem alten Pi auf den Neuen übertragen – besteht da eine Idee wie das erfolgen kann ohne komplette Neuinstallation?

    Antworten
    • Jan Karres
      Juni 23, 2015 6:38 pm

      Ohne ein gesamtes Image wirst du nicht alles sichern können. Folglich ist das meiner Meinung nach die sinnvollste Methode.

      Antworten
      • Martin
        Juni 24, 2015 8:12 am

        Hm.. Vielleicht habe ich mich nicht korrekt ausgedrückt. Mir geht es eigentlich um die Zertifikate und Keys auf dem Server, also das was in Step 5, 6, 7 erstellt wird… Lässt sich das sichern und wiederherstellen, damit bei einem Ausfall vom Server nicht auch alle Clients neu konfiguriert werden müssen?

        Antworten
        • Jan Karres
          August 3, 2015 9:26 pm

          Dafür bietet es sich an die ganze Konfiguration von OpenVPN, die du unter /etc/openvpn findest, zu sichern.

          Antworten
  • Reinhard
    Juni 23, 2015 3:11 pm

    Erst mal danke für die klasse Anleitung.

    Es gibt noch ein Problem das beim Erstellen beachtet werden muss. Kein Problem dieser Anleitung, eher ein Grundsätzliches.

    Bei Punkt 6
    (./build-ca, ./build-key-server und ./build-key client1)
    werden diverse Informationen abgefragt. Wenn man bei „Common Name“ den gleichen Namen verwendet geht das schief und die „client1.crt“ ist leer, hat also die Länge 0.

    Wird diese dann Importiert und Benutzen will klappt das natürlich nicht. Und dann geht die Sucherei los. Das hat mich gerade 2-Stunden gekostet 🙁

    Die Lösung hab ich übrigens auf https://community.openvpn.net/openvpn/ticket/229 gefunden.

    Für den Fall das jemandem das gleiche passiert.

    Antworten
  • Findus23
    Juni 28, 2015 11:20 am

    Bei mir hat (vermutlich seit dem Update auf Jessie) die Weiterleitung nicht richtig funktioniert. Man konnte sich zwar mit dem Server verbinden, jedoch nicht auf das Internet zugreifen.
    Die Lösung habe ich hier gefunden: https://wiki.debian.org/OpenVPN#Forward_traffic_via_VPN

    Man muss IP forwarding aktivieren. Entweder temporär:

    echo 1 > /proc/sys/net/ipv4/ip_forward

    oder permanent

    net.ipv4.ip_forward = 1
    in der /etc/sysctl.conf auskommentieren.

    Antworten
    • Jan Karres
      August 3, 2015 10:34 pm

      Das steht so auch im obigen Artikel 🙂

      Antworten
  • Jonas
    Juli 23, 2015 6:01 pm

    Zunächst einmal: auch eine Weile nach der erstellung noch immer ein super Tutorial.
    Es hat alles (beim 2. versuch, nachdem ich mich auch an die komplette Anleitung gehalten habe) einwandfrei funktioniert.
    Ich kann jetzt auch von unterwegs meinen Ventilator oder Licht für meine Pflanzen schalten usw.

    Jetzt zu einer Frage meinerseits:
    Ist es möglich den zugriff im lokalen Netzwerk (das Netz in dem der Raspberry Pi sich befindet) zu beschränken auf ein paar Ports oder evtl nur auf den Raspberry Pi?
    Allerdings will ich weiterhin auch aufs „normale Internet“ zugreifen können.

    Ich hoffe man versteht meine Frage

    Viele Grüße
    Jonas

    Antworten
    • Jan Karres
      August 3, 2015 11:32 pm

      Steht auf der Todo-Liste. Werde ich hoffentlich in Kürze dazu kommen 😉

      Antworten
  • Arne
    August 4, 2015 11:37 pm

    Wenn ich das richtig verstehe, so sollte am Ende sämtlicher Traffic über mein Netz zuhause laufen, korrekt? Ich müsste als IP bei wieistmeineip.de also die IP meines Internetanschlusses sehen, nicht die des Netzes von dem aus ich den Tunnel aufbaue, oder? Das ist bei mir aber der Fall, obwohl OpenVPN eine erfolgreiche Verbindung meldet, mir eine lokale IP gibt und ich meinen Raspberry auch anpingen kann. Ich habe auch die Schritte 9-11 hier 2 Mal durchgeführt, nur um sicher zu gehen.

    Wo kann mein Fehler liegen?

    Gruß
    Arne

    Antworten
    • Jan Karres
      August 11, 2015 11:58 pm

      Genau so wie beschrieben sollte es sein. Schau dir mal die Logfiles deines OpenVPN Clients an ob du dort etwas auffällig findest.

      Antworten
  • Raspberry Pi VPN Gateway | WebSetNet
    August 6, 2015 10:00 pm

    […] https://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installieren/ […]

    Antworten
  • Christoph
    August 17, 2015 8:29 pm

    Hallo, ich hänge bereits bei Schritt 3 fest:-( es gibt den zu kopierenden Ordner nicht bei mir. Im Ordner /usr/share/doc/openvpn/examples gibts bei mir nur die 3 Ordner:
    sample-config-files
    sample-keys
    sample-scripts

    Was kann ich nun tun?

    Antworten
    • Jan Karres
      August 25, 2015 6:25 pm

      Welches Betriebsystem verwendest du denn? Dieser Artikel ist für Raspbian (Debian) ausgelegt und ich könnte mir vorstellen, dass in einem anderen Betriebssystem die Ordnerstruktur eine andere ist.

      Antworten
      • Christoph
        August 25, 2015 6:34 pm

        Ich nutze auch Raspbian dafür. Das hier genannte Problem habe ich nur mit einer Neuinstallation des Betriebssystems gelöst bekommen. Nun hänge ich aber an anderer Stelle fest: ich bekomme, wie schon öfter hier gelesen, die Fehlermeldung
        [FAIL] Starting private network daemon: openvpn server failed!

        Habe dann versucht in der log-Datei nachzusehen mit „sudo nano /var/log/openvpn-status.log.“
        Aber die ist bei mir irgendwie leer:-/ Was kann ich sonst tun? Habe alle Dateien auch nochmal kontrolliert aus den vorherigen Schritten. Und neu installiert habe ich das Betriebssystem auch schon:-( Wie komme ich sonst erstmal in das Logfile?

        Antworten
        • Jan Karres
          August 25, 2015 7:04 pm

          Wenn ich dem Logfile nichts steht schau doch mal in den syslog ob du dort eine Fehlerausgabe findest.

          cat /var/log/syslog

          Antworten
          • Christoph
            August 25, 2015 7:35 pm

            Hm da kommt bei mir nichts drin vor was die Begriffe vpn oder openvpn enthält. Und wenn auch kein Eintrag zu den Zeiten wo ich den openvpn server starten will. Auf meinem Pi läuft ein FHEM-Server, das sollte ihn aber nicht weiter stören oder?

          • Jan Karres
            August 25, 2015 8:05 pm

            Solle nichts ausmachen. Wobei ich ohne Fehlermeldung leider auch keine Chance habe dir weiter zu helfen. Sorry.

  • Jakob
    August 29, 2015 11:32 pm

    Danke für die gelungene Anleitung. Ein Problem habe ich wenn Raspbian auf dem RPI ein update bekommt muss ich den Schritt 9 immer wiederholen, um wieder Zugriff auf das Internet zu bekommen
    Hast du einen Tipp wie man das vermeiden könnte ?

    Antworten
    • rasp
      September 7, 2015 8:07 pm

      Hi

      Erst mal Danke für die Anleitung. Ich hab das gleiche Problem wie der Jakob. Wenn man neu startet dann zieht der cron job nicht.

      sudo sh -c ‚echo 1 > /proc/sys/net/ipv4/ip_forward‘
      sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

      Das muss immer wieder ausgeführt werden. Gibts hier evtl was?

      Antworten
  • John
    September 26, 2015 12:49 am

    Achtung bei der Weiterleitung auf UDP achten. Hatte TCP drin :/

    Antworten
  • raspi-vpn
    Oktober 2, 2015 10:24 pm

    Hallo.
    Vielen Dank für die Anleitung. Leider haperts bei mir schon bei Step3. :-.(
    Bei dem Befehl:

    sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

    bekomme ich die Fehlermeldung, dass das Verzeichnis nicht existiert:
    cp: der Aufruf von stat für »/usr/share/doc/openvpn/examples/easy-rsa/2.0“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden

    Das stimmt auch, denn es gibt in …/examples nur:
    /usr/share/doc/openvpn/examples/sample-config-files
    /usr/share/doc/openvpn/examples/sample-keys
    /usr/share/doc/openvpn/examples/sample-scripts

    Welches ist das richtige Verzeichnis und die nächste Frage ist, passt es dann überhaupt mit den Folgeschritten?

    Der letzte Eintrag ist schon knapp 2 Jahre her und mir scheint da einfach die Zeit weiter gegangen zu sein… Ich finde aber auch nichts aktuelleres.

    Antworten
    • Frank
      Oktober 3, 2015 2:17 pm

      Bei mir das selbe. Der Ordner existiert nicht und ich komme nicht weiter.

      Antworten
      • someone
        Oktober 4, 2015 11:31 pm

        Wenn es den Ordner easy-rsa nicht gibt, dann musst du ihn manuell downloaden.
        Weitere Infos und link:
        https://openvpn.net/index.php/open-source/documentation/howto.html#pki
        in Kapitel „Generate the master Certificate Authority (CA) certificate & key“ zweiter Absatz.

        @Jan, vielleicht ein kleiner Hinweis und link im howto?!

        Antworten
        • Sico93
          Dezember 13, 2015 9:19 pm

          Hallo, das habe ich alles gemacht, allerdings wäre eine Anwort im Beitrag echt hilfreich, ich stelle mich nämlich gerade ganz schön blöd an :/

          Der Inhalt von /etc/openvpn/easy-rsa sieht im Moment so aus:

          pi@nanoVPN /etc/openvpn/easy-rsa $ ls
          easyrsa openssl-1.0.cnf vars vars.example x509-types

          Meine vars sehen so aus:
          http://pastebin.com/U0fhFzDv

          Leider ist nahezu alles auskommentiert und ich habe keine Ahnung, was ich da jetzt eigentlich von anmachen muss um
          . ./vars
          auszuführen 🙁

          Ich würde mich extrem über eine Antwort freuen, da ich den VPN-Server gern bis Weihnachten installieren würde um ihn zwischen Weihnachten und Neujahr als ausstieg zu nutzen 😉

          Außerdem habe ich mir dieses Git-Repo von easy-rsa ziemlich umständlich kopiert, da waren immer wieder Unterordner in anderen Unterordnern usw. bis dann alles so aussah, wie es das jetzt tut…
          Vielleicht könntest du den sauberen Kopiervorgang von Github ja auch nochmal kurz beschrieben, oder einen Link zu einem Tutorial dalassen 🙂

          Vielen Dank für all deine Tutorials Jan! Die haben mir schon viel geholfen und beigebracht 🙂

          PS.: Ich habe dieses Tutorial schon einmal benutzt, allerdings war zu diesem Zeitpunkt easy-rsa noch in OpenVPN enthalten, da gab es also keine Probleme, deshalb ist das diesmal umso frustrierender *:D

          Antworten
    • Sven
      Oktober 11, 2015 9:22 am

      Hallo,

      den Fehler habe ich bei der Installation auch gehabt. Ich habe allerdings Raspbian auf Jessie aktualisiert. Ich weiß nicht, ob es nur damit zusammenhing.

      Die Dateien habe ich alle im Verzeichnis von easy-rsa gefunden, folgender Befehl funktionierte bei mir:

      sudo cp -r /usr/share/easy-rsa ./easy-rsa

      Dann die Anleitung normal abarbeiten. Hoffe, das hilft.

      Antworten
      • Manfred
        November 1, 2015 8:22 pm

        Seltsam, ich habe hier auch ein von Wheezy auf Jessie aktualisiertes System. Aber von easy-rsa ist weit und breit keine Spur, auch nicht unter /usr/share/.
        Habe mir es halt kurzerhand aus einem Wheezy geborgt.

        Antworten
      • TS
        November 17, 2015 3:03 pm

        Gab bei mir ebenfalls nur /usr/share/easy-rsa

        Antworten
    • minIau
      August 6, 2016 6:09 pm

      Richtig wäre hier: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa

      Antworten
  • Juərgən (@DeuxMilles)
    Oktober 25, 2015 9:21 am

    Hi,

    habe das auf jessie durchgekaut und stoße auf einen Fehler: openvpn läuft nicht los. Die Ursache findet sich in /var/log/openvpn: „Options error: –dh fails …. 1024.pem: no such file or directory.“

    Es werden (wohl durch die neuere Version?) 2048er Schlüssel erzeugt, der Code-Schnipsel in Step 12 muss folglich in Zeile 7 auf dh2048.pem verweisen.

    Gruß,
    Jürgen

    Antworten
    • Juərgən (@DeuxMilles)
      Oktober 25, 2015 10:00 am

      edit. Step 8, nicht 12 🙂

      Antworten
  • Markus
    Oktober 26, 2015 11:57 am

    Ich bekomme immer eine Fehlermeldung nach dem Befehl und komme nicht mehr weiter:

    /etc/openvpn# sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

    libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file ‚/lib/modules/3.18.7-v7+/modules.dep.bin‘
    iptables v1.4.14: can’t initialize iptables table `nat‘: Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

    Antworten
    • Michael
      Oktober 26, 2015 11:19 pm

      Hi Markus,

      hatte gerade eben genau das gleiche Problem.
      Reboot tut gut….bei mir hats ein Reboot getan – danach gings…

      Viele Grüße

      Michael

      Antworten
  • Patrick
    Januar 19, 2016 8:23 pm

    Ab Schritt 3 komme ich nicht weiter! Da steht, dass es die Datei oder den Pfad nicht gibt.

    Antworten
    • Eric
      Februar 11, 2016 12:03 am

      Easy-RSA ist nicht mehr Teil der OpenVPN Paketes. Die Aktuelle Version findet man hier: github.com/OpenVPN/easy-rsa.
      Alternativ kann gibt es auch dieses feine Programm http://forum.openvpn.eu/viewtopic.php?f=1&t=8040

      Antworten
  • Patrick
    Januar 19, 2016 8:25 pm

    Mach bitte mal eine Anleitung zu Blynk. Ich versteh das nicht ganz.

    Antworten
  • toobie83
    Januar 30, 2016 8:48 pm

    Hallo,

    ich habe eine Frage zu den DNS Einstellungen in Step 8 bzw. 9.

    Werden die Einstellungen so übernommen oder muss ich die von meinem Router dort eingeben?

    Antworten
  • Raspberry Pi als VPN-Server – dax.la
    Februar 6, 2016 2:03 pm

    […] bin ich nach einer wirklich guten Anleitung im Internet vorgegangen, welche auch recht Problemlos geklappt hat. Entgegen der Anleitung muss […]

    Antworten
  • Jan007
    Februar 13, 2016 7:36 pm

    Es wird

    push „redirect-gateway def1 bypass-dhcp“

    genutzt! Soweit ich es verstanden habe, wird mit „bypass-dhcp“ der Tunnel umgangen! Die DHCP Anfrage geht somit NICHT (bypass) über das VPN Netzwerk! Die Anfrage kann unverschlüsselt im lokalen Netzwerk, wo man eingewählt ist, mitgelesen werden!

    Antworten
  • Johannes
    März 12, 2016 5:54 pm

    Hallo Jan,

    ich habe mir dein Tutorial gerade durchgelesen aber noch nicht umgesetzt! 🙂
    Bevor ich mir wieder den Aufwand mache und ein VPN installiere möchte ich vorher wissen, ob ich über das VPN auf meine anderen Netzwerkgeräte zugreifen kann.
    (Z.B auf die Website meines Raspi’s)

    Ich habe gerade ein Softether VPN installiert, dieser leitet mich erfolgreich über den Raspi ins Internet. Das Problem ist nur das ich leider keine Netzwerkgeräte einschließlich den Raspi selbst NICHT über deren IP Adresse erreiche. Lediglich die Fritzbox ist erreichbar.

    LG
    Johannes

    Antworten
  • Raspberry Pi 32 Oder 64 Bit | Lucky Boy
    März 28, 2016 12:53 pm

    […] Raspberry Pi: OpenVPN VPN-Server installieren […]

    Antworten
  • frivolist
    April 10, 2016 12:56 pm

    Klasse!
    Es passiert sehr selten, dass so eine Anleitung auf anhieb klappt. Sehr gut beschrieben.
    Danke.

    Antworten
  • TSCH
    Juli 24, 2016 1:42 pm

    Hallo,

    bei STEP 5 erhalte ich nach sudo su:

    pi@fhemberry /etc/openvpn/easy-rsa $ sudo su
    root@fhemberry:/etc/openvpn/easy-rsa# source vars
    openssl: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0: version `OPENSSL_1.0.1s‘ not found (required by openssl)
    openssl: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0: version `OPENSSL_1.0.1s‘ not found (required by openssl)
    openssl: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0: version `OPENSSL_1.0.1s‘ not found (required by openssl)
    **************************************************************
    No /etc/openvpn/easy-rsa/openssl.cnf file could be found
    Further invocations will fail
    **************************************************************
    NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

    Was kann/muss ich tun?

    Vielen Dank für Deine Hilfe.

    Antworten
  • TSCH
    August 5, 2016 7:18 pm

    Hallo Jan,

    an dieser Stelle auch von mir noch einmal vielen Dank für Deine hervorragende aber leider inzwischen veraltete Anleitung.
    Es hat mich sehr viel Zeit gekostet, bis ich herausgefunden habe, dass Deine Anleitung z.B. für Raspbian Wheezy nicht funktioniert, weil hier standardmäßig IPv6 deaktiviert ist und erst durch:

    sudo nano /etc/modules

    und anhängen der folgenden Zeile (danach abspeichern nicht vergessen):

    ipv6

    aktiviert wird. Erst dann startet OpenVPN ohne Fehlermeldung (bei mir).
    Bei Step 1 sollte außer dem update auch noch das upgrade (ansonsten gleiche Syntax, also „sudo apt-get uprade“) durchgeführt werden.

    Antworten
  • Topsrek
    Oktober 23, 2016 8:30 pm

    Ich kopiere nur Simanuels Antwort, weil es mir viel Frust erspart hätte, wenn ich sie gelesen hätte oder der artikel aktualisiert werden würde.

    Des Rätsels Lösung steht zwar im log unter /var/log/openvpn (open mit sudo nano), aber als nicht-profi muss man daran erst mal denken.

    ————–

    Moin,

    diese Anleitung sollte wirklich mal aktualisiert werden…
    Aber check mal ob du im keys-Ordner die Datei dh1024.pem hast. Wenn nicht vermutlich eine dh2048.pem, diese musst du dann in der Datei openvpn.conf angeben.

    LG simanuel

    Antworten
  • Christof
    November 13, 2016 5:33 pm

    Als Anfänger scheitert man direkt am Anfang, da es wohl inzwischen das Verzeichnis nicht mehr gibt.

    cd /etc/openvpn
    sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0

    Schade, wenn die Anleitung aktualisiert wird, bestimmt gut, aber so leider veraltet

    Antworten
  • OpenVPN on Unitymedia DS-Lite Cable DSL | Kais Tech
    Dezember 19, 2016 10:31 am

    […] http://www.feste-ip.net/fip-box/basic/fip-box-vpn/ (https://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installieren/) […]

    Antworten
  • solved
    Februar 16, 2017 9:32 pm

    Wer auch bei Step 3 hängt, hier die aktualisierten Befehle:

    cd /etc/openvpn
    cp -r /usr/share/easy-rsa ./easy-rsa

    Antworten
  • Michael
    Juni 10, 2017 7:41 pm

    Bei source vars ist bei mir folgender Fehler aufgetreten:
    source vars
    openssl: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0: version `OPENSSL_1.0.1s‘ not found (required by openssl)
    openssl: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0: version `OPENSSL_1.0.1s‘ not found (required by openssl)
    openssl: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0: version `OPENSSL_1.0.1s‘ not found (required by openssl)

    Lösung:
    sudo apt-get install libssl-dev

    danach ging es

    Antworten
  • Matthias
    Juni 27, 2017 11:29 pm

    Hallo zusammen,

    vielen Dank für die tolle Anleitung hat alles auch stand 06/17 geklappt ausser Punkt 3:
    cd /etc/openvpn
    sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
    wie bereits durch Minlau beschrieben

    minIau says:
    6. August 2016 um 18:09

    Richtig wäre hier: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa

    Und Punkt 8 gibts noch was zu korrigieren:

    innheralb der server.conf
    statt
    dh /etc/openvpn/easy-rsa/keys/dh1024.pem
    jetzt
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem

    Scheinbar ist die Verschlüsselung jetzt automatisch höher.
    Das hat mich doch ein paar Stunden gekostet das rauszufinden.

    Ich hoffe damit kommt ihr weiter.

    Viele Grüße

    Matthias

    Antworten
  • G.U.N.T.
    September 20, 2017 12:46 pm

    Hallo, hier ein Tipp für ein sorglos Script: PiVPN.

    Antworten
  • Marco
    Oktober 16, 2017 6:12 am

    Hallo,

    und vielen Dank für deine tolle, verständliche Anleitung!

    Beim Schritt 3 hat sich das Verzeichnis geändert:

    cd /etc/openvpn
    sudo cp -r /usr/share/easy-rsa ./easy-rsa

    Gruß, Marco

    Antworten
  • Entdecken wir das Board – Another Raspberry Pi Site
    Dezember 1, 2017 9:24 pm

    […] NAS- oder VPN-Server […]

    Antworten
  • Max Mueller
    September 24, 2018 4:29 pm

    Anleitung eben für Debian 9 verwendet und sie ist immer noch aktuell
    Danke dafür
    Habe lediglich eine höhere Schlüssellänge genommen

    Antworten
  • Steffen
    Februar 1, 2019 10:43 pm

    Hallo Jan,

    Danke für die Tolle Anleitung. Es hat alles super funktioniert. Jetzt habe ich aber dennoch eine Frage:

    Ich möchte nun auch aus der „Gegengesetzten richtung“ in das Netz zu greifen. Dein Aufbau oben als bsp:

    Netz 1 (Heimnetz)
    OVPN Server
    Netz 2 (Elternetz)

    Von Netz1 kann ich über den VPN-Server auf Netz2 zugreifen.

    Jetzt möchte ich aber auch von Netz2 über den VPN auf Netz1 zugreifen können.

    Wie bewerkstellige ich das am besten?

    Genauer gesagt habe ich vor, ein VoIP Telefon an eine VoIP-Anlage in Netz2 anzubinden. Das geht allerdings im moment noch nicht, da dass Telefon nicht in Netz2 angezeigt ist und die VoIP-Anlage aber per MAC-Adresse die Geräte identifiziert.

    Oder habe ich einen denkfehler.

    Oder wäre es besser die Geräte (Telefone, Anlage) per VPN-Gateway in das VPN Netz einzubinden und dann in diesem Netz zu konfigurieren?

    Fragen über Fragen 😀

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Jan Karres
Jan Karres
Wirtschaftsinformatiker
Facebook
Twitter
YouTube
LinkedIn
Xing
GitHub

Themen

  • Blogging
  • Debian (Linux)
  • Eine Geschichte aus dem Leben des Jan
  • Fotos
  • Gaming
  • Gedanken
  • Linksammlungen
  • Privates
  • Projekte
  • Raspberry Pi
    • Einplatinencomputer (außer Raspberry Pi)
  • Schule und Studium
  • Tipps und Tricks
  • Videos
  • Vorgestellt
  • WordPress

Projekte

Dieser Blog ist meine kleine Base im Internet, in der ich über Themen schreibe, die mich persönlich beschäftigen. Abseits davon habe ich weitere Projekte im Netz, die teils aus Spaß entstanden, jedoch zum Teil auch meinen Kühlschrank füllen.

Alle Projekte

JanKarres.de © 2007-2022

Neueste Beiträge

  • Raspberry Pi: WLAN Access Point mit NordVPN (VPN Router) einrichten Dezember 5, 2020
  • Real Cookie Banner: Wie das Opt-in Cookie Banner für WordPress entstand November 18, 2020
  • Blog Setup erneut: Aufräumen einer kleinen Historie Oktober 13, 2020
  • devowl.io: Auf geht’s in das WordPress Business! März 10, 2020
  • Kuschelpartys: Nähe und Geborgenheit einfach erleben September 30, 2018

devowl.io

Meine Brötchen verdiene ich im Internet. Dazu habe ich gemeinsam mit meinem Kollegen Matze die devowl.io GmbH gegründet. Gemeinsam entwickeln und vertreiben wir in unser Plugins und Entwickler-Tools im WordPress Umfeld.

Mehr erfahren
  • Datenschutzerklärung
  • Impressum