OpenVPN unter Windows Server 2012 R2 / Server 2016 und Windows 10 – Anleitung

Installation von OpenVPN Server in Windows Server 2012 R2 und Client unter Windows 10 (und abwärts). Dieses HOWTO beschreibt das Setup des Servers, die Erstellung von Keys und die Integration von Clients.

Revision, 26.05.2017:
– Gilt für OpenVPN 2.4.2 Setup
– Windows Server 2016 kompatibel

Download & Installation

Download des Installers („Installer, Windows Vista and later“) unter openvpn.net – OpenVPN Community Software, bzw. Community Downloads.

Unter Choose Components wählen wir sämtliche Komponenten aus, explizit auch die OpenVPM RSA Certificate Management ScriptsDanach kann OpenVPN installiert werden.

 

Wir bestätigen die Sicherheitsfrage bezüglich TAP-Windows Provider V9. Danach ist der Server schon fast einsatzbereit.

Vorbereitungen

Wir wechseln ins Verzeichnis easy-rsa (Meistens unter C:\Programme\OpenVPN) und benennen folgende Datei um:

vars.bat.sample in vars.bat

Danach editieren wir vars.bat und passen folgende Zeilen unseren Bedürfnissen an:

set KEY_COUNTRY=CH
set KEY_PROVINCE=ZH
set KEY_CITY=Zuerich
set KEY_ORG=MeineFirma AG
set KEY_EMAIL=support@meinefirmag.ch
set KEY_CN=server01.meinefirma.ch
set KEY_NAME="Meine Firma OpenVPN Key"
set KEY_OU="IT & Networking"
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234

Es darf kein Wert leer bleiben. Die PKCS11_MODULE_PATH sowie PKCS11_PIN kann so belassen werden.

Weiter passen wir die Keysize auf mindestens 2048 an, empfehlenswert wäre 4096.

set KEY_SIZE=4096

Wir legen den Pfad zur openssl.cnf fest. Andernfalls könnten wir folgende Warnmeldung beim Generieren der Zertifikate erhalten:

WARNING: can't open config file: /etc/ssl/openssl.cnf

Hierzu ergänzen wir das vars.bat (am Ende der Datei) mit folgender Zeile (in unserem Fall ein englisches Windows 2012 R2 oder 2016, daher der Pfad C:\Program Files\OpenVPN\easy-rsa\openssl-1.0.0.cnf).

set OPENSSL_CONF=C:\Program Files\OpenVPN\easy-rsa\openssl-1.0.0.cnf

Umgebung setzen

Nun setzen wir die Umgebungsvariablen mittels Ausführen (in der Kommandozeile) des vars.bat

 

Danach werden alle Files zurückgesetzt und die Zertifikationsinstallation vorbereitet mittels clean-all.bat
Achtung:
Dies überschreibt sämtliche zuvor erstellten Zertifikate! Die anfängliche Fehlermeldung kann ignoriert werden – das Verzeichnis „keys“ wird erstmals erstellt.

Zertifikate erstellen

Nun beginnen wir mit der Erstellung der einzelnen Keys. Folgende Keys werden nun erstellt:

CA (build-ca.bat)
DH (build-dh.bat)
Server-Zertifikat (build-key-server.bat)

Client-Zertifikat(e) (build-key.bat)

CA & DH

Erstellen von CA und DH Keys via Konsole (einmalig). Vor der Erstellung eines Keys muss immer vars.bat ausgeführt werden.

 

Wir generieren den CA Key mittels build-ca.bat (mit den Eigenschaften, welche wir mittels vars.bat angegeben haben), indem wir einfach mit Enter bestätigen.

 

Als nächstes erstellen wir den DH Key mittels build-dh.bat

Achtung: Bei einer Schlüssellänge von 4096 kann das Generieren der DH-Parametern mehr als eine Stunde andauern. Dies je nach Systemleistung.

Server-Zertifikat

Nun generieren wir den Private Server Key mittels build-key-server.bat.

Wir bestätigen zweimal mit Yes, damit das Zertifikat signiert und erstellt wird. Das Passwort wird leer gelassen. Mittels folgendem Befehl wird der Server-Key erstellt:

build-key-server.bat <Servername>

Gemäss unseres Beispiels lautet der Befehl:

build-key-server.bat Server01

 

Zusammengefasst die komplette Erstellung des Server Keys.

Client-Zertifikat(e)

Nun generieren wir den Client Key mittels build-key.bat. Wir geben beim „Common Name“ den Clientnamen an, um später mehrere Clients im Logfile des Servers unterscheiden zu können.

Wir bestätigen zweimal mit Yes, damit das Zertifikat signiert und erstellt wird.

Optional kann ein Passwort angegeben werden. Dieses wird der OpenVPN Client beim Verbindungsaufbau mit dem Server abfragen. Somit können wir sicherstellen, dass unser Zertifikat in falschen Händen nicht missbraucht werden kann.

Mittels folgendem Befehl wird der Client-Key erstellt:

build-key.bat <Clientname>

In unserem Beispiel lautet der Befehl:

 build-key.bat Client01

 

Zusammengefasst die komplette Erstellung des Client Keys.

Zusammenfassung Zertifikate

Nun sind die notwendigen Keys erstellt. Bei einer Client-Installation sind immer folgende Keys notwendig:

ca.crt
client.crt
client.key

Die restlichen Keys sind privat und werden den Clients nicht mitgegeben.

Konfiguration Server

Wir erstellen folgende Verzeichnisse (wie erwähnt, könnte OpenVPN auch unter C:\Program Files\OpenVPN\ installiert worden sein – abhängig von der Windows-Version):

C:\Programme\OpenVPN\server-keys
C:\Programme\OpenVPN\log
(meistens schon vorhanden)
C:\Programme\OpenVPN\ccd

Wir kopieren die Dateien dh4096.pem, ca.crt, Server01.crt und Server01.key, welche in C:\Programme\OpenVPN\easy-rsa\keys zu finden sind, in das Verzeichnis C:\Programme\OpenVPN\server-keys.

Unser server.ovpn für eine Roadwarrior-Konfiguration sieht in etwa folgendermassen aus (ein Backslash muss jeweils mit einem weiterem Backslash escaped werden) – das Configfile legen wir unter C:\Programme\OpenVPN\config ab.

#################################################
# OpenVPN (MvA-Networks Conf)
# VPN Server Configuration
#
# Copyright 2006-2018 (03.01.2018) www.mva.ch
# MvA Internet Services GmbH
#################################################

local 192.168.1.100
port 1194
proto udp
dev tun

# ----------------------------------------------
# Zertifikate
# ----------------------------------------------

dh "C:\\Programme\\OpenVPN\\server-keys\\dh4096.pem"
ca "C:\\Programme\\OpenVPN\\server-keys\\ca.crt"
cert "C:\\Programme\\OpenVPN\\server-keys\\Server01.crt"
key "C:\\Programme\\OpenVPN\\server-keys\\Server01.key"

# ----------------------------------------------
# Server-Setup
# ----------------------------------------------

server 10.19.15.0 255.255.255.0
ifconfig-pool-persist "C:\\Programme\\OpenVPN\\ipp.txt"
client-to-client

# ----------------------------------------------
# Client-Settings (inkl Special Dir)Files
# ----------------------------------------------

client-config-dir "C:\\Programme\\OpenVPN\\ccd"
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.10"

# ----------------------------------------------
# Defaults
# ----------------------------------------------

keepalive 10 120
comp-lzo
persist-key
persist-tun

# ----------------------------------------------
# Logging
# ----------------------------------------------

status "C:\\Programme\\OpenVPN\\log\\openvpn-status.log"
log "C:\\Programme\\OpenVPN\\log\\openvpn.log"
log-append "C:\\Programme\\OpenVPN\\log\\openvpn.log"
verb 3

Im obigen Fall gehen wir davon aus, dass der Server in einem internen LAN: 192.168.1.0/24 steht und der Client auf alle Hosts in dem Lan Zugriff haben wird (als Bridge). Der Server selbst hat die interne IP-Adresse 192.168.1.100. Zudem weisen wir dem Client den internen DNS Server 192.168.1.10 zu.

Zusammenfassung:
Netzwerk: 192.168.1.0
IP des Servers: 192.168.1.100
DNS-Server: 192.168.1.10

Nach der erfolgreichen Erstellung der Verzeichnisse und Implementation der Konfiguration kann OpenVPN via Services in der Windows-Systemumgebung gestartet werden. Dazu geben wir in der Konsole folgendes ein:

net start OpenVPNService

Somit sollte (sofern auf der Firewall auch die richtigen Ports geöffnet sind, in unserem Falle UDP Port 1194) ein Client eine VPN Verbindung zum Server aufnehmen können.

Konfiguration Clients

Download des Installers (je nach Client-Version,bei Windows 10: „Installer, Windows Vista and later“) unter www.openvpn.net – OpenVPN Community Software, bzw. Community Downloads.

 

Die Auswahl der Komponenten muss nicht angepasst werden, wir wählen die Standard-Installation.

 

OpenVPN Installation Windows 2012

Wir bestätigen die Sicherheitsfrage bezüglich „TAP-Windows Provider V9“ (Installieren).

Keys verteilen

Nach erfolgreicher Installation kopieren wir die oben vorbereiteten Client Keys:

ca.crt
Client01.crt
Client01.key

ins dafür vorgesehene Verzeichnis, beispielsweise C:\Program Files\OpenVPN\config. Danach erstellen wir eine Config in demselben Verzeichnis (Bsp. client.ovpn), wobei x.x.x.x der externen IP (des Routers, wenn Portforwarding vorhanden) des VPN Servers entspricht. Das Verbose tag (verb) kann nach erfolgreichen Tests auf 1 oder 0 gesetzt werden, damit nicht sämtliche Informationen den Benutzer verwirren, wenn das VPN startet.

##############################################
# MvA-Networks Connect. OpenVPN ClientScript #
##############################################

client
dev tun

proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\Client01.crt"
key "C:\\Program Files\\OpenVPN\\config\\Client01.key"

comp-lzo
verb 3
OpenVPN Installation Windows 2012

Das OpenVPN GUI zum manuellen Start des OpenVPN Clients muss als Administrator ausgeführt werden. Nun kann in der Taskliste das VPN via Icon gestartet werden. Achtung: Der OpenVPN Client benötigt zum konfigurieren der Netzwerkeinstellungen Administrator-Rechte!

Nach erfolgreicher Verbindung sollte der Clientcomputer ins Remotenetzwerk integriert worden sein.

35 Kommentare

    Interessanter Beitrag. Alles ist ziemlich ausführlich erzählt. Und wann wird der Server schon total einsatzbereit?

    Antworten

    Sobald der Server komplett konfiguriert wurde – also nach dem Start des Dienstes.

    Soll wohl eigentlich set OPENSSL_CONF=C:\Programme\OpenVPN\easy-rsa\openssl-1.0.0.cnf und nicht …cfg heißen… :-)

    Antworten

    Danke, wir haben das noch angepasst.

    Administratorrechte sind nicht unbedingt nötig zum Verbinden des Clients. Es reicht wenn der User in der Gruppe Netzwerkoperatoren drin ist.

    Antworten

    Man sollte in der openssl.cnf vor dem Erstellen der CA und Serverkey/Certs noch den „default_md“ auf etwas anderes als „md5“ setzen(z.B. sha256), da MD5 nicht mehr sicher ist.

    Antworten

    Hallo,

    wenn ich in der vars.bat den Ordner für keys definiere und in der cmd prompt clean-all.bat ausführe bekomme ich eine Fehlermeldung die nicht der in dem tutorial entspricht:

    Folgendes steht in der vars.bat:

    set C:\Program Files\OpenVPN=keys

    Und folgenden Fehler bekomme ich angezeigt:

    C:\Program Files\OpenVPN\easy-rsa>clean-all.bat
    Syntaxfehler.
    Syntaxfehler.
    1 Datei kopiert.
    1 Datei kopiert.

    Wenn ich in dem OpenVPN Ordner reinschaue wird auch kein keys Ordner erstellt.

    Wo hab ich denn hier einen Fehler gemacht?

    Antworten

    Die vars.bat sollte in etwa folgenden Inhalt haben:

    @echo off
    rem Edit this variable to point to
    rem the openssl.cnf file included
    rem with easy-rsa.
    
    set HOME=%ProgramFiles%\OpenVPN\easy-rsa
    set KEY_CONFIG=openssl-1.0.0.cnf
    
    rem Edit this variable to point to
    rem your soon-to-be-created key
    rem directory.
    rem
    rem WARNING: clean-all will do
    rem a rm -rf on this directory
    rem so make sure you define
    rem it correctly!
    set KEY_DIR=keys
    
    rem Increase this to 2048 if you
    rem are paranoid.  This will slow
    rem down TLS negotiation performance
    rem as well as the one-time DH parms
    rem generation process.
    set KEY_SIZE=1024
    
    rem These are the default values for fields
    rem which will be placed in the certificate.
    rem Change these to reflect your site.
    rem Don't leave any of these parms blank.
    
    set KEY_COUNTRY=US
    set KEY_PROVINCE=CA
    set KEY_CITY=SanFrancisco
    set KEY_ORG=OpenVPN
    set KEY_EMAIL=mail@host.domain
    set KEY_CN=changeme
    set KEY_NAME=changeme
    set KEY_OU=changeme
    set PKCS11_MODULE_PATH=changeme
    set PKCS11_PIN=1234
    

    Dann sollte auch clean-all.bat keinen Fehler beim Ausführen liefern.

    Ok vielen Dank für die Hilfe. Ich werde das jetzt testen.
    Ich nahm an die config würde es erforderlich machen das man einen Pfad angeben muss wo man den keys Ordner erstellt haben möchte… =/

    Mir ist aufgefallen das, bei meiner OpenVPN Installation keine Möglichkeit gegeben ist opensll DLL’s zu installieren. Kann es sein das diese mittlerweile fester Bestandteil von OpenVPN sind und nicht mehr zusätzlich installiert werden müssen? Ich habe die Version 2.4.2 installiert.

    Antworten

    Muss leider direkt noch eine blöde Frage hinterherschieben.

    „Zitat

    Nach der erfolgreichen Erstellung der Verzeichnisse und Implementation der Konfiguration kann OpenVPN via Services in der Windows-Systemumgebung gestartet werden. Dazu geben wir in der Konsole folgendes ein:

    net start “OpenVPN Service”

    Zitat Ende“

    Wo finde ich denn diese Systemumgebung? Ist damit die cmd prompt gemeint oder vielleicht die Windows Powershell?

    Wenn ich dort diesen Befehl eingebe, bekomme ich nur den Fehler:
    „C:Users\#######> net start „OpenVPN Service“
    Der Name für den Dienst ist ungültig.“

    Wenn ich die Server Config über rechtsklick starte bekomme ich den Fehler:
    „Verbindung zum Server ist fehlgeschlagen“

    „OpenVPN terminated with Exit code 1. See log file for Details.

    Aber in dem erstellten Log Ordner wird nichts erstellt.
    Ich habe extra nochmal die Pfadangaben in der config überprüft. =/

    Weiß hier jemand woran das ganze scheitert?

    Antworten

    1. Systemumgebung = vereinfacht das CMD
    2. Es kann sein, dass der Servicename im Laufe der Paketinstaller-Versionen geändert hat.

    Wir testen das Setup mit einem aktuellen Paket und werden ggf. Anpassungen nachreichen.

    Die Anleitung ist überarbeitet.

    Hallo,
    das war ja einfach einzurichten …. aber ….

    Die VPN steht, allerdings mit der IP 10.19.15.6 allerdings komme ich nicht
    in mein Netzwerk. Laut Status werden die Routen auch gesetzt.

    Whats wrong?

    Gruß Stefan

    Antworten

    Auch kommen Sie nicht auf den Server, 192.168.1.100 – oder hat der eine andere IP, auf welche Sie zugreifen können.

    Hallo,

    also:
    local 192.168.2.207

    server 192.168.10.0 255.255.255.0

    push „route 192.168.2.0 255.255.255.0“
    push „dhcp-option DNS 192.168.2.1“

    Antworten

    Und der Server ist erreichbar? Wir können ihnen (leider nicht kostenlos) sicher telefonisch bei der Konfiguration helfen, sofern Sie möchten.

    Ja, ich bekomme die 192.168.10.6 und komme per RD auf den Server, der hat dann die 192.168.10.1. Soweit ist ja alles richtign nur leider komme ich nicht z.B. auf den Router 192.168.2.1

    Grundlegend habe ich doch richtig gedacht? Ich spiel noch ein bißchen rum.

    Ansonsten komme ich gerne auf Ihr Angebot zurück oder setzte wieder eine Endian ein.

    Antworten

    Hallo!

    Die Verbindung kann ich nun dank dieser Anleitung herstellen, leider haben die Clients keinen Netzwerkzugriff auf das LAN (Server 2016), Ich kann nicht mal die Adressen wie in der server.ovpn unter server und local angegebenen Adressen anpingen. Hat evtl jemand eine Idee, was hier falsch läuft?
    Ich bin genau nach dieser Anleitung vorgegangen, habe im Router den Port 1194 weitergeleitet (sonst könnte ich ja auch keine Verbindung herstellen) und stehe nun vor einem Rätsel…. Danke!

    Antworten

    Wurde in der Konfiguration des Server die korrekte Route eingetragen? Also quasi das Netzwerk auf Seite des Servers? In unserem Beispiel:
    push „route 192.168.1.0 255.255.255.0“

    Der Server sollte eine IP im 10ner Netz auch eine IP haben, lässt sich diese auch nicht pingen? Läuft auf dem Server allenfalls noch eine Firewall?

    Hallo!
    Vielen Dank für die schnelle Antwort!!
    Ja, in der server.ovpn ist der Eintrag auf das Netzwerk gesetzt: push „route 10.2.1.0 255.255.255.0“

    Es läuft für diesen Test weder auf Client noch auf Server eine Firewall.

    Der Client erhält vom OVPN-Server die IP 10.19.15.6; bei „DHCP-Server“ steht die IP 10.19.15.5, die jedoch nicht anpingbar ist.

    Vielen Dank für die Hilfe!

    Antworten

    Ohne nähere Angaben lässt sich das leider nur schwer sagen.

    Wie sieht der Output der folgenden Befehle aus (falls nötig Domainname etc. rauslöschen):
    ipconfig /all
    route print

    Und der Inhalt der aktuellen server.ovpn?

    ipconfig /all
    Windows-IP-Konfiguration

    Hostname . . . . . . . . . . . . : xxxServer
    Primäres DNS-Suffix . . . . . . . : xxx.xxx.de
    Knotentyp . . . . . . . . . . . . : Hybrid
    IP-Routing aktiviert . . . . . . : Nein
    WINS-Proxy aktiviert . . . . . . : Nein
    DNS-Suffixsuchliste . . . . . . . : xxx.xxx.de

    Ethernet-Adapter Ethernet 3:

    Verbindungsspezifisches DNS-Suffix:
    Beschreibung. . . . . . . . . . . : Microsoft Hyper-V Network Adapter #3
    Physische Adresse . . . . . . . . : 00-15-5D-01-C4-05
    DHCP aktiviert. . . . . . . . . . : Nein
    Autokonfiguration aktiviert . . . : Ja
    Verbindungslokale IPv6-Adresse . : fe80::5178:dd11:b8c7:f17c%12(Bevorzugt)
    IPv4-Adresse . . . . . . . . . . : 10.2.1.193(Bevorzugt)
    Subnetzmaske . . . . . . . . . . : 255.255.255.0
    Standardgateway . . . . . . . . . : fe80::c6e9:84ff:fe4e:ec7c%12
    fe80::c6e9:84ff:fe4a:2ef0%12
    fe80::c6e9:84ff:fe4e:ecc4%12
    10.2.1.254
    DHCPv6-IAID . . . . . . . . . . . : 100668765
    DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-1F-D4-7F-7D-00-15-5D-01-C4-00
    DNS-Server . . . . . . . . . . . : 10.2.1.196
    10.2.1.200
    10.2.1.194
    10.2.1.197
    NetBIOS über TCP/IP . . . . . . . : Aktiviert

    Ethernet-Adapter Ethernet 4:

    Verbindungsspezifisches DNS-Suffix:
    Beschreibung. . . . . . . . . . . : TAP-Windows Adapter V9
    Physische Adresse . . . . . . . . : 00-FF-27-EA-1D-DF
    DHCP aktiviert. . . . . . . . . . : Ja
    Autokonfiguration aktiviert . . . : Ja
    Verbindungslokale IPv6-Adresse . : fe80::59df:6658:5013:f72b%20(Bevorzugt)
    IPv4-Adresse . . . . . . . . . . : 10.19.15.1(Bevorzugt)
    Subnetzmaske . . . . . . . . . . : 255.255.255.252
    Lease erhalten. . . . . . . . . . : Dienstag, 19. Dezember 2017 15:38:55
    Lease läuft ab. . . . . . . . . . : Mittwoch, 19. Dezember 2018 15:38:55
    Standardgateway . . . . . . . . . :
    DHCP-Server . . . . . . . . . . . : 10.19.15.2
    DHCPv6-IAID . . . . . . . . . . . : 335609639
    DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-1F-D4-7F-7D-00-15-5D-01-C4-00
    DNS-Server . . . . . . . . . . . : fec0:0:0:ffff::1%1
    fec0:0:0:ffff::2%1
    fec0:0:0:ffff::3%1
    NetBIOS über TCP/IP . . . . . . . : Aktiviert

    Tunneladapter isatap.{27EA1DDF-EC2F-4F1D-9975-48DD6FD4B9F7}:

    Medienstatus. . . . . . . . . . . : Medium getrennt
    Verbindungsspezifisches DNS-Suffix:
    Beschreibung. . . . . . . . . . . : Microsoft ISATAP Adapter
    Physische Adresse . . . . . . . . : 00-00-00-00-00-00-00-E0
    DHCP aktiviert. . . . . . . . . . : Nein
    Autokonfiguration aktiviert . . . : Ja

    Tunneladapter isatap.{D3A3EB04-AADF-492C-9DFD-2AC2915F23CE}:

    Medienstatus. . . . . . . . . . . : Medium getrennt
    Verbindungsspezifisches DNS-Suffix:
    Beschreibung. . . . . . . . . . . : Microsoft ISATAP Adapter #3
    Physische Adresse . . . . . . . . : 00-00-00-00-00-00-00-E0
    DHCP aktiviert. . . . . . . . . . : Nein
    Autokonfiguration aktiviert . . . : Ja

    server.ovpn:
    local 10.2.1.193
    port 1194
    proto udp
    dev tun

    # ———————————————-
    # Zertifikate
    # ———————————————-

    dh „C:\\Programme\\OpenVPN\\server-keys\\dh1024.pem“
    ca „C:\\Programme\\OpenVPN\\server-keys\\ca.crt“
    cert „C:\\Programme\\OpenVPN\\server-keys\\s16t.crt“
    key „C:\\Programme\\OpenVPN\\server-keys\\s16t.key“

    # ———————————————-
    # Server-Setup
    # ———————————————-

    server 10.19.15.0 255.255.255.0
    ifconfig-pool-persist „C:\\Programme\\OpenVPN\\ipp.txt“
    client-to-client

    # ———————————————-
    # Client-Settings (inkl Special Dir)Files
    # ———————————————-

    client-config-dir „C:\\Programme\\OpenVPN\\ccd“
    push „route 10.2.1.0 255.255.255.0“
    push „dhcp-option DNS 10.2.1.197“

    # ———————————————-
    # Defaults
    # ———————————————-

    keepalive 10 120
    comp-lzo
    persist-key
    persist-tun

    # ———————————————-
    # Logging
    # ———————————————-

    status „C:\\Programme\\OpenVPN\\log\\openvpn-status.log“
    log „C:\\Programme\\OpenVPN\\log\\openvpn.log“
    log-append „C:\\Programme\\OpenVPN\\log\\openvpn.log“
    verb 3

    Route Print:
    ===========================================================================
    Schnittstellenliste
    12…00 15 5d 01 c4 05 ……Microsoft Hyper-V Network Adapter #3
    20…00 ff 27 ea 1d df ……TAP-Windows Adapter V9
    1………………………Software Loopback Interface 1
    24…00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
    14…00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
    ===========================================================================

    IPv4-Routentabelle
    ===========================================================================
    Aktive Routen:
    Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
    0.0.0.0 0.0.0.0 10.2.1.254 10.2.1.193 276
    10.2.1.0 255.255.255.0 Auf Verbindung 10.2.1.193 276
    10.2.1.193 255.255.255.255 Auf Verbindung 10.2.1.193 276
    10.2.1.255 255.255.255.255 Auf Verbindung 10.2.1.193 276
    10.19.15.0 255.255.255.0 10.19.15.2 10.19.15.1 35
    10.19.15.0 255.255.255.252 Auf Verbindung 10.19.15.1 291
    10.19.15.1 255.255.255.255 Auf Verbindung 10.19.15.1 291
    10.19.15.3 255.255.255.255 Auf Verbindung 10.19.15.1 291
    127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 331
    127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 331
    127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 331
    224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 331
    224.0.0.0 240.0.0.0 Auf Verbindung 10.2.1.193 276
    224.0.0.0 240.0.0.0 Auf Verbindung 10.19.15.1 291
    255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 331
    255.255.255.255 255.255.255.255 Auf Verbindung 10.2.1.193 276
    255.255.255.255 255.255.255.255 Auf Verbindung 10.19.15.1 291
    ===========================================================================
    Ständige Routen:
    Netzwerkadresse Netzmaske Gatewayadresse Metrik
    0.0.0.0 0.0.0.0 10.2.1.254 Standard
    ===========================================================================

    IPv6-Routentabelle
    ===========================================================================
    Aktive Routen:
    If Metrik Netzwerkziel Gateway
    12 4116 ::/0 fe80::c6e9:84ff:fe4e:ec7c
    12 4116 ::/0 fe80::c6e9:84ff:fe4a:2ef0
    12 4116 ::/0 fe80::c6e9:84ff:fe4e:ecc4
    1 331 ::1/128 Auf Verbindung
    12 276 fe80::/64 Auf Verbindung
    20 291 fe80::/64 Auf Verbindung
    12 276 fe80::5178:dd11:b8c7:f17c/128
    Auf Verbindung
    20 291 fe80::59df:6658:5013:f72b/128
    Auf Verbindung
    1 331 ff00::/8 Auf Verbindung
    12 276 ff00::/8 Auf Verbindung
    20 291 ff00::/8 Auf Verbindung
    ===========================================================================
    Ständige Routen:
    Keine

    DANKE!

    Antworten

    Ok, dies sieht soweit korrekt aus. Wie sieht die Routingtabelle auf dem Client aus?

    C:\Users\RU>route print
    ===========================================================================
    Schnittstellenliste
    4…1c 1b 0d 7e b2 02 ……Realtek PCIe GBE Family Controller
    25…00 ff 62 fe a7 cd ……TAP-Windows Adapter V9
    7…00 1a 7d da 71 03 ……Bluetooth Device (Personal Area Network) #3
    1………………………Software Loopback Interface 1
    13…00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
    ===========================================================================

    IPv4-Routentabelle
    ===========================================================================
    Aktive Routen:
    Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
    0.0.0.0 0.0.0.0 10.2.2.254 10.2.2.1 25
    10.2.2.0 255.255.255.0 Auf Verbindung 10.2.2.1 281
    10.2.2.1 255.255.255.255 Auf Verbindung 10.2.2.1 281
    10.2.2.255 255.255.255.255 Auf Verbindung 10.2.2.1 281
    10.19.15.4 255.255.255.252 Auf Verbindung 10.19.15.6 291
    10.19.15.6 255.255.255.255 Auf Verbindung 10.19.15.6 291
    10.19.15.7 255.255.255.255 Auf Verbindung 10.19.15.6 291
    127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 331
    127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 331
    127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 331
    224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 331
    224.0.0.0 240.0.0.0 Auf Verbindung 10.2.2.1 281
    224.0.0.0 240.0.0.0 Auf Verbindung 10.19.15.6 291
    255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 331
    255.255.255.255 255.255.255.255 Auf Verbindung 10.2.2.1 281
    255.255.255.255 255.255.255.255 Auf Verbindung 10.19.15.6 291
    ===========================================================================
    Ständige Routen:
    Keine

    IPv6-Routentabelle
    ===========================================================================
    Aktive Routen:
    If Metrik Netzwerkziel Gateway
    1 331 ::1/128 Auf Verbindung
    13 331 2001::/32 Auf Verbindung
    13 331 2001:0:9d38:78cf:8c3:29e8:f5fd:fdfe/128
    Auf Verbindung
    4 281 fd00::/64 Auf Verbindung
    4 281 fd00::/64 fe80::e228:6dff:fead:c28d
    4 281 fd00::4e0:8d72:eb27:4ff3/128
    Auf Verbindung
    4 281 fd00::2484:77ff:2d08:12c9/128
    Auf Verbindung
    4 281 fe80::/64 Auf Verbindung
    13 331 fe80::/64 Auf Verbindung
    13 331 fe80::8c3:29e8:f5fd:fdfe/128
    Auf Verbindung
    4 281 fe80::2484:77ff:2d08:12c9/128
    Auf Verbindung
    1 331 ff00::/8 Auf Verbindung
    4 281 ff00::/8 Auf Verbindung
    13 331 ff00::/8 Auf Verbindung
    ===========================================================================
    Ständige Routen:
    Keine

    Antworten

    Hier scheint das Problem begraben zu sein. Es müssten Routen in die Netz 10.19.15.0 und 10.2.1.0 vorhanden sein. Wurde der VPN Client mit „als Administrator ausführen“ (auch wenn bereits als Administrator eingeloggt) gestartet.
    Gibt es allenfalls eine Fehlermeldung im Log auf dem Client (Show Status)?

    Ja, GUI wurde als Administrator explizit gestartet.

    Inhalt der Client.log:
    Tue Dec 19 16:23:54 2017 OpenVPN 2.4.4 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Sep 26 2017
    Tue Dec 19 16:23:54 2017 Windows version 6.2 (Windows 8 or greater) 64bit
    Tue Dec 19 16:23:54 2017 library versions: OpenSSL 1.0.2l 25 May 2017, LZO 2.10
    Enter Management Password:
    Tue Dec 19 16:23:54 2017 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
    Tue Dec 19 16:23:54 2017 Need hold release from management interface, waiting…
    Tue Dec 19 16:23:54 2017 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
    Tue Dec 19 16:23:54 2017 MANAGEMENT: CMD ’state on‘
    Tue Dec 19 16:23:54 2017 MANAGEMENT: CMD ‚log all on‘
    Tue Dec 19 16:23:54 2017 MANAGEMENT: CMD ‚echo all on‘
    Tue Dec 19 16:23:54 2017 MANAGEMENT: CMD ‚hold off‘
    Tue Dec 19 16:23:54 2017 MANAGEMENT: CMD ‚hold release‘
    Tue Dec 19 16:23:54 2017 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    Tue Dec 19 16:23:54 2017 MANAGEMENT: CMD ‚password […]‘
    Tue Dec 19 16:23:54 2017 WARNING: this configuration may cache passwords in memory — use the auth-nocache option to prevent this
    Tue Dec 19 16:23:54 2017 MANAGEMENT: >STATE:1513697034,RESOLVE,,,,,,
    Tue Dec 19 16:23:54 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]XX.XX.XX.XX:1194
    Tue Dec 19 16:23:54 2017 Socket Buffers: R=[65536->65536] S=[65536->65536]
    Tue Dec 19 16:23:54 2017 UDP link local: (not bound)
    Tue Dec 19 16:23:54 2017 UDP link remote: [AF_INET]XX.XX.XX.XX:1194
    Tue Dec 19 16:23:54 2017 MANAGEMENT: >STATE:1513697034,WAIT,,,,,,
    Tue Dec 19 16:23:54 2017 MANAGEMENT: >STATE:1513697034,AUTH,,,,,,
    Tue Dec 19 16:23:54 2017 TLS: Initial packet from [AF_INET]XX.XX.XX.XX:1194, sid=7289ea9c 574ee56a
    Tue Dec 19 16:23:55 2017 VERIFY OK: depth=1, C=DE, ST=RLP, L=XXXXXXXXXX, O=XXXXX, OU=IT, CN=s16t.xxxxxx.xxxxx.de, name=JWOVPN, emailAddress=ru@xxxxx.de
    Tue Dec 19 16:23:55 2017 VERIFY OK: depth=0, C=DE, ST=RLP, L=XXXXXXXXXX, O=XXXXX, OU=IT, CN=s16t.xxxxxx.xxxxx.de, name=JWOVPN, emailAddress=ru@xxxxx.de
    Tue Dec 19 16:23:55 2017 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 1024 bit RSA
    Tue Dec 19 16:23:55 2017 [s16t.woellstein.juwoe.de] Peer Connection Initiated with [AF_INET]XX.XX.XX.XX:1194
    Tue Dec 19 16:23:56 2017 MANAGEMENT: >STATE:1513697036,GET_CONFIG,,,,,,
    Tue Dec 19 16:23:56 2017 SENT CONTROL [s16t.xxxxxxxxx.xxxxx.de]: ‚PUSH_REQUEST‘ (status=1)
    Tue Dec 19 16:23:56 2017 PUSH: Received control message: ‚PUSH_REPLY,route 10.2.1.0 255.255.255.0,dhcp-option DNS 10.2.1.197,route 10.19.15.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.19.15.6 10.19.15.5,peer-id 1,cipher AES-256-GCM‘
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: timers and/or timeouts modified
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: –ifconfig/up options modified
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: route options modified
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: –ip-win32 and/or –dhcp-option options modified
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: peer-id set
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: adjusting link_mtu to 1625
    Tue Dec 19 16:23:56 2017 OPTIONS IMPORT: data channel crypto options modified
    Tue Dec 19 16:23:56 2017 Data Channel: using negotiated cipher ‚AES-256-GCM‘
    Tue Dec 19 16:23:56 2017 Outgoing Data Channel: Cipher ‚AES-256-GCM‘ initialized with 256 bit key
    Tue Dec 19 16:23:56 2017 Incoming Data Channel: Cipher ‚AES-256-GCM‘ initialized with 256 bit key
    Tue Dec 19 16:23:56 2017 interactive service msg_channel=0
    Tue Dec 19 16:23:56 2017 ROUTE_GATEWAY 10.2.2.254/255.255.255.0 I=4 HWADDR=1c:1b:0d:7e:b2:02
    Tue Dec 19 16:23:56 2017 open_tun
    Tue Dec 19 16:23:56 2017 TAP-WIN32 device [Ethernet 4] opened: \\.\Global\{62FEA7CD-93CE-4430-AA26-302C0AB79472}.tap
    Tue Dec 19 16:23:56 2017 TAP-Windows Driver Version 9.21
    Tue Dec 19 16:23:56 2017 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.19.15.6/255.255.255.252 on interface {62FEA7CD-93CE-4430-AA26-302C0AB79472} [DHCP-serv: 10.19.15.5, lease-time: 31536000]
    Tue Dec 19 16:23:56 2017 Successful ARP Flush on interface [25] {62FEA7CD-93CE-4430-AA26-302C0AB79472}
    Tue Dec 19 16:23:56 2017 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
    Tue Dec 19 16:23:56 2017 MANAGEMENT: >STATE:1513697036,ASSIGN_IP,,10.19.15.6,,,,
    Tue Dec 19 16:24:01 2017 TEST ROUTES: 2/2 succeeded len=2 ret=1 a=0 u/d=up
    Tue Dec 19 16:24:01 2017 MANAGEMENT: >STATE:1513697041,ADD_ROUTES,,,,,,
    Tue Dec 19 16:24:01 2017 C:\WINDOWS\system32\route.exe ADD 10.2.1.0 MASK 255.255.255.0 10.19.15.5
    Tue Dec 19 16:24:01 2017 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=35 and dwForwardType=4
    Tue Dec 19 16:24:01 2017 Route addition via IPAPI succeeded [adaptive]
    Tue Dec 19 16:24:01 2017 C:\WINDOWS\system32\route.exe ADD 10.19.15.0 MASK 255.255.255.0 10.19.15.5
    Tue Dec 19 16:24:01 2017 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=35 and dwForwardType=4
    Tue Dec 19 16:24:01 2017 Route addition via IPAPI succeeded [adaptive]
    Tue Dec 19 16:24:01 2017 Initialization Sequence Completed
    Tue Dec 19 16:24:01 2017 MANAGEMENT: >STATE:1513697041,CONNECTED,SUCCESS,10.19.15.6,XX.XX.XX.XX,1194,,

    Antworten

    Ich habe die externe IP noch durch XX ersetzt. Der Output meldet das er die Route gesetzt hat, passt entsprechend zum Post, dass die Route vorhanden ist.

    Die Routen sind am Client jedoch vorhanden:
    C:\WINDOWS\system32>route add 10.19.15.0 mask 255.255.255.0 10.19.15.6
    Hinzufügen der Route fehlgeschlagen: Das Objekt ist bereits vorhanden.

    C:\WINDOWS\system32>route add 10.2.1.0 mask 255.255.255.0 10.19.15.6
    Hinzufügen der Route fehlgeschlagen: Das Objekt ist bereits vorhanden.

    Antworten

    Und sind diese nun sichtbar bei „route print“? Und lässt sich jetzt ein Server im internen Netz pingen?

    …nein, leider nicht! :-(

    Haben Sie noch eine Idee?

    Vielen Dank!

    Antworten

    Ab jetzt wirds schwierig. Bei unseren waren die Routen bisher immer sichtbar. Ich würde ein Clientseitiges Problem vermuten. An dieser Stelle kann ich nur aber noch den offizielen Support (nicht kostenlos) anbieten.
    Evtl. steht im Eventlog noch was oder Sie testen mit einem anderen Client. Ich gehe davon aus, dass die Verzweiflungstagen wie Neustart schon durch sind…

    …ich verstehe nicht ganz, die Routen sind doch auf dem Client sichtbar:

    IPv4-Routentabelle
    ===========================================================================
    Aktive Routen:
    Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
    0.0.0.0 0.0.0.0 10.2.2.254 10.2.2.1 25
    10.2.1.0 255.255.255.0 10.19.15.5 10.19.15.6 35
    10.2.2.0 255.255.255.0 Auf Verbindung 10.2.2.1 281
    10.2.2.1 255.255.255.255 Auf Verbindung 10.2.2.1 281
    10.2.2.255 255.255.255.255 Auf Verbindung 10.2.2.1 281
    10.19.15.0 255.255.255.0 10.19.15.5 10.19.15.6 35
    10.19.15.4 255.255.255.252 Auf Verbindung 10.19.15.6 291
    10.19.15.6 255.255.255.255 Auf Verbindung 10.19.15.6 291
    10.19.15.7 255.255.255.255 Auf Verbindung 10.19.15.6 291
    127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 331
    127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 331
    127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 331
    224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 331
    224.0.0.0 240.0.0.0 Auf Verbindung 10.2.2.1 281
    224.0.0.0 240.0.0.0 Auf Verbindung 10.19.15.6 291
    255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 331
    255.255.255.255 255.255.255.255 Auf Verbindung 10.2.2.1 281
    255.255.255.255 255.255.255.255 Auf Verbindung 10.19.15.6 291
    ===========================================================================

    Antworten

    Hallo ich habe das Problem das ich meisten nach 1 bis 2 minuten erfolgreicher verbindung den Fehler „AEAD Decrypt error: cipher final failed“ bekomme und einen kurzen verbindungsabbruch haben. Könnten Sie mir da weiterhelfen.

    Antworten

    Dies kann mehrere Ursachen haben, von Firewall bis zur Portwahl. Sind di Konfigurationen gemäss unseren Beispielen identisch? Sofern ja, müsste das Problem genauer analysiert werden.

Kommentar schreiben

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