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

Download & Installation

Der Download des Installers (Windows 64-bit MSI installer) geschieht unter openvpn.net – OpenVPN Community Software, beziehungsweise den Community Downloads. Nach dem Laden kann das Setup ausgeführt werden. Nachfolgend erklären wir die wichtigsten Punkte des Setups.

Unter Customize wählen wir das OpenVPN GUI nicht aus, dafür den OpenVPN Service und auch die EasyRSA 3 Certificate Management Scripts. Danach kann OpenVPN installiert werden.

Vorbereitungen

Für eine funktionierende Server- und Client-Umgebung benötigen wir eine Anzahl Zertifikate, welche wir mittels diesen Schritten im folgenden Artikel erstellen:

Danach sollten wir die notwendigen Zertifikate bereitgestellt haben.

Konfiguration Server

OpenVPN ist in unserem Beispiel unter C:\Program Files\OpenVPN\ installiert. Auf die zuvor erstellten Server-Zertifikate und Keys greifen wir direkt zu (C:\easy-rsa). Diese Zertifikate und Keys können natürlich auch an einem anderen Ort im System abgelegt werden.

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:\Program Files\OpenVPN\config-auto ab.

Achtung: Konfigurationen im Verzeichnis config-auto werden vom OpenVPN-Windows-Dienst automatisch geladen. Konfigurationen im Verzeichnis config hingegen nicht.

server.ovpn

#################################################
# OpenVPN (MvA-Networks Conf)
# VPN Server Configuration
#
# Copyright 2006-2021 (01.07.2021) www.mva.ch
# MvA Internet Services GmbH
#################################################
local 192.168.1.100
port 1194
proto udp
dev tun

#----------------------------------------------
#Zertifikate
#----------------------------------------------
dh "C:\\easy-rsa\\pki\\dh.pem"
ca "C:\\easy-rsa\\pki\\ca.crt"
cert "C:\\easy-rsa\\pki\\issued\\Server.crt"
key "C:\\easy-rsa\\pki\\private\\Server.key"

#----------------------------------------------
#Server-Setup
#----------------------------------------------
server 10.19.15.0 255.255.255.0
ifconfig-pool-persist "C:\\Program Files\\OpenVPN\\ipp.txt"
client-to-client

#----------------------------------------------
#Client-Settings (inkl Special Dir) Files - OPTIONAL
#----------------------------------------------
#client-config-dir "C:\\Program Files\\OpenVPN\\ccd" 
#push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.10"
push "dhcp-option DOMAIN meinedomain.meinefirma.local"

#----------------------------------------------
#Defaults
#----------------------------------------------
keepalive 10 120
persist-key
persist-tun
allow-compression yes
cipher AES-256-GCM
data-ciphers-fallback AES-256-CBC

#----------------------------------------------
# Logging
# ----------------------------------------------
status "C:\\Program Files\\OpenVPN\\log\\openvpn-status.log"
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
log-append "C:\\Program Files\\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).
  • dass der Server selbst die interne IP-Adresse 192.168.1.100 hat.
  • Zudem weisen wir dem Client den internen DNS Server 192.168.1.10 zu.
  • Wir weisen den Clients den internen Domainnamen meinedomain.meinefirma.local zu.

Die IP-Adressrange 10.19.15.0, welche wir in der obigen Konfiguration angegeben haben, gilt als Tunnel-Transportnetzwerk, sollte sich wesentlich von der internen Server-IP-Umgebung unterscheiden und gilt nur für die Client-Server-VPN-Verbindungen. Diese IP-Adressrange kann frei gewählt werden. Hierzu bitte auch unseren Artikel zu Routing und RAS beachten.

Zusammenfassung:

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

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

net start OpenVPNServie

Windows-Firewall

Damit Clients von aussen eine Verbindung zum Server aufbauen können, sollte in der Windows-Firewall die eingehende Verbindung udp 1194 (in unserem Beispiel server.ovpn oben) geöffnet werden. Wir nennen diese Regel OpenVPN.

Konfiguration Clients

Mit demselben Installer, welchen wir auch für die Server-Installation verwenden, installieren wir die Clients. Einziger Unterschied: Die Auswahl der Komponenten muss nicht angepasst werden, wir wählen die Standard-Installation (Install Now).

Keys und Konfiguration verteilen

Nach erfolgreicher Installation kopieren wir die oben vorbereiteten Client Keys:

ca.crt
Client01.crt
Client01.key

ins dafür vorgesehene Verzeichnis auf dem Client, beispielsweise C:\Program Files\OpenVPN\config.

Danach erstellen wir eine Config im selben 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

# Einstellungen
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
verb 3

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

OpenVPN GUI starten

Wir starten die VPN-Verbindung aus der Taskliste mit Klick aufs Icon und verbinden.

Erreichbarkeit Server

Der OpenVPN Client hat erfolgreich verbunden. Die Transport-IP-Adresse, in unserem Fall die 10.19.15.1 (oder ähnlich) ist vom Client erreichbar und Pingbar. Nur die 192.168.1.100, also die IP des Servers, wird nicht erreicht und kann auch nicht angepingt werden. Die Firewall des Servers ist testweise inaktiv.

Hierzu haben wir einen separaten Artikel zum Thema Erreichbarkeit (OpenVPN: Windows Server zum Antworten bringen) des Servers bereitgestellt.

Kommentar schreiben

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