Eine OpenVPN konfigurieren-Anleitung ist besonders dann hilfreich, wenn Sie einen stabilen, kontrollierbaren Remote-Zugriff für Homeoffice, Administration oder Standortvernetzung benötigen – ohne direkt an eine Cloud-Plattform gebunden zu sein. OpenVPN ist seit vielen Jahren etabliert, plattformübergreifend verfügbar und lässt sich mit moderner Kryptografie, Zertifikatsauthentifizierung und sauberem Routing sehr sicher betreiben. Gleichzeitig scheitern viele Setups an typischen „Kleinigkeiten“: falsch gesetzte Routen, DNS nicht richtig gepusht, MTU/MSS-Probleme, Firewall-Regeln fehlen oder Zertifikate sind unvollständig. In dieser Schritt-für-Schritt-Anleitung richten Sie ein OpenVPN-Server-Setup auf einem Linux-Server ein, erstellen Client-Zertifikate, konfigurieren Routing (Full Tunnel oder Split Tunnel), aktivieren IP-Forwarding, setzen Firewall/NAT korrekt um und lernen, welche Einstellungen Sie für Betrieb und Sicherheit sofort prüfen sollten. Die Anleitung ist bewusst praxisnah gehalten und eignet sich sowohl für Einsteiger als auch für IT-Teams, die eine reproduzierbare Basis-Konfiguration für Produktivumgebungen benötigen.
Voraussetzungen und Planung vor der Installation
Bevor Sie OpenVPN installieren, sollten Sie ein paar Grundlagen festlegen. Das spart später Zeit und verhindert, dass Sie eine Konfiguration „im Nachhinein“ umbauen müssen.
- Server: Linux-VM oder Root-Server (z. B. Ubuntu/Debian). Für produktive Nutzung: feste öffentliche IP oder DNS-Name.
- Ports/Protokoll: Standard ist UDP/1194. UDP ist meist performanter und stabiler für VPN-Tunnel.
- VPN-Subnetz: z. B. 10.8.0.0/24 (nicht mit internen Netzen kollidieren lassen).
- Routing-Modell: Split Tunnel (nur interne Netze über VPN) oder Full Tunnel (Default Route über VPN).
- DNS: Soll interne Namensauflösung über den Tunnel funktionieren? Dann DNS-Server und Suchdomänen planen.
- Zertifikate: Empfohlen ist eine PKI mit eigener CA und Client-Zertifikaten (statt Passwort-Only).
Hinweis für Sicherheit und Wartbarkeit: Verwenden Sie eine eigene CA (Certificate Authority) und pro Client ein individuelles Zertifikat. Dadurch können Sie einzelne Geräte gezielt sperren, ohne „alle“ neu auszurollen.
Schritt 1: OpenVPN und Easy-RSA installieren
Auf Ubuntu/Debian installieren Sie OpenVPN und Easy-RSA typischerweise über die Paketverwaltung. Easy-RSA ist ein bewährtes Toolset, um eine einfache PKI (CA, Server- und Client-Zertifikate) zu erstellen.
Installationsbeispiel (Ubuntu/Debian):
sudo apt update
sudo apt install openvpn easy-rsa
Für offizielle Informationen und Pakete lohnt sich ein Blick in die Dokumentation von OpenVPN: OpenVPN Community Resources.
Schritt 2: PKI initialisieren und CA erstellen
Nun erstellen Sie eine PKI-Struktur und die CA. Das Ziel ist: Der Server besitzt ein Serverzertifikat, jeder Client ein eigenes Clientzertifikat, und alles wird von Ihrer CA signiert.
PKI-Verzeichnis anlegen
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
CA initialisieren und bauen
./easyrsa init-pki
./easyrsa build-ca
Sie werden nach einem CA-Passwort (optional, aber empfohlen) und einem Common Name gefragt. Wählen Sie einen eindeutigen Namen, z. B. „Firma-OpenVPN-CA“.
Schritt 3: Serverzertifikat, Schlüssel und TLS-Parameter erzeugen
Als Nächstes erzeugen Sie das Serverzertifikat und zusätzliche TLS-Parameter. Für OpenVPN ist es Best Practice, TLS-Authentifizierung oder TLS-Crypt zu nutzen, um den Server gegen ungewollte Verbindungsversuche und bestimmte Scan-/DoS-Muster zu härten.
Serverzertifikat erstellen
./easyrsa build-server-full server nopass
Für produktive Umgebungen ist „nopass“ bequem (keine Passphrase beim Start), aber weniger strikt. Wenn Sie maximale Sicherheit wollen, verzichten Sie auf „nopass“ und planen Sie einen Startprozess mit Passphrase ein.
Diffie-Hellman und TLS-Crypt Key erzeugen
./easyrsa gen-dh
openvpn --genkey --secret ta.key
Je nach OpenVPN-Setup nutzen viele Administratoren heute bevorzugt tls-crypt statt tls-auth, weil es Metadaten besser schützt. Details finden Sie in der OpenVPN-Dokumentation: OpenVPN Reference Manual.
Schritt 4: Client-Zertifikate erstellen (pro Gerät ein eigenes)
Erstellen Sie für jeden Benutzer bzw. jedes Gerät ein eigenes Zertifikat. Damit können Sie einzelne Clients sperren, ohne den gesamten VPN-Zugang zu verändern.
./easyrsa build-client-full client01 nopass
./easyrsa build-client-full client02 nopass
Benennen Sie Zertifikate eindeutig (z. B. nach Benutzer oder Gerät). Vermeiden Sie Sammelzertifikate wie „laptop“ oder „vpnuser“.
Schritt 5: Zertifikate und Keys an die richtigen Orte kopieren
OpenVPN erwartet die Schlüsseldateien im Server-Kontext üblicherweise unter /etc/openvpn/. Legen Sie ein sauberes Verzeichnis an und kopieren Sie die relevanten Dateien:
- CA-Zertifikat (ca.crt)
- Serverzertifikat (server.crt) und Serverkey (server.key)
- DH-Parameter (dh.pem)
- tls-crypt/tls-auth Key (ta.key)
Beispiel:
sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/
sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/
sudo cp ~/openvpn-ca/ta.key /etc/openvpn/
Achten Sie darauf, dass private Keys nur für root lesbar sind.
Schritt 6: OpenVPN-Serverkonfiguration erstellen
Jetzt erstellen Sie die eigentliche Serverkonfiguration. Unter Debian/Ubuntu liegt sie häufig unter /etc/openvpn/server/ oder /etc/openvpn/. Je nach Distribution/Version kann die Struktur variieren. Das Prinzip bleibt gleich.
Beispielkonfiguration (server.conf) für UDP/1194, TUN, 10.8.0.0/24:
port 1194
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
; besser: tls-crypt statt tls-auth (je nach OpenVPN-Version)
tls-auth /etc/openvpn/ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
; DNS (Beispiel: interner Resolver)
push "dhcp-option DNS 10.10.10.10"
push "dhcp-option DOMAIN corp.example"
; Split Tunnel: interne Netze ins VPN routen
push "route 10.10.0.0 255.255.0.0"
push "route 10.20.0.0 255.255.0.0"
; Full Tunnel (optional): Default Route über VPN
; push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
explicit-exit-notify 1
; Moderne Kryptografie (Beispiele; prüfen Sie Ihre Version/Policy)
cipher AES-256-GCM
auth SHA256
; Logging
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3
Wichtig: Entscheiden Sie sich bewusst zwischen Split Tunnel und Full Tunnel. Split Tunnel ist meist performanter und entlastet Gateways. Full Tunnel bietet zentralere Kontrolle, kann aber Backhaul verursachen.
Schritt 7: IP-Forwarding aktivieren
Damit Ihr Server Verkehr zwischen VPN-Interface (tun) und dem internen Netz bzw. Internet weiterleiten kann, muss IP-Forwarding aktiv sein.
sudo sysctl -w net.ipv4.ip_forward=1
Dauerhaft (z. B. in /etc/sysctl.conf):
net.ipv4.ip_forward=1
Wenn Sie IPv6 tunneln möchten, planen Sie IPv6 sauber ein (Routing, Firewall, DNS, Leak-Vermeidung). Für viele Einsteiger-Setups ist es sinnvoll, zunächst IPv4 stabil zu betreiben und IPv6 anschließend kontrolliert zu ergänzen.
Schritt 8: Firewall und NAT konfigurieren
Ohne passende Firewall-Regeln funktioniert der Tunnel zwar, aber Clients erreichen keine Ziele. Es gibt zwei häufige Fälle:
- Split Tunnel: Sie routen nur interne Netze; dann müssen interne Router/Firewalls Rückrouten zum VPN-Subnetz kennen (10.8.0.0/24).
- Full Tunnel: Sie leiten Internettraffic über den Server; dann brauchen Sie NAT (Masquerading) am Server.
Beispiel mit UFW (Ubuntu)
UFW-Regeln für OpenVPN-Port und Forwarding:
sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
Forwarding aktivieren (UFW Default Forward Policy):
sudo nano /etc/default/ufw
# DEFAULT_FORWARD_POLICY="ACCEPT"
NAT-Regel (Beispiel: Server-Interface ist eth0; VPN-Netz ist 10.8.0.0/24):
sudo nano /etc/ufw/before.rules
vor den filter-Regeln ergänzen:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
UFW neu laden:
sudo ufw disable
sudo ufw enable
Dokumentation zu UFW: Ubuntu UFW Dokumentation.
Schritt 9: OpenVPN-Dienst starten und aktivieren
Starten Sie den Dienst und aktivieren Sie Autostart. Je nach Distribution heißt die Unit z. B. openvpn@server oder openvpn-server@server.
sudo systemctl start openvpn
sudo systemctl enable openvpn
Prüfen Sie den Status:
sudo systemctl status openvpn
Wenn der Dienst nicht startet, ist der häufigste Grund ein Pfadfehler zu Zertifikaten/Keys oder ein Syntaxfehler in der server.conf.
Schritt 10: Client-Konfiguration erstellen (.ovpn)
OpenVPN-Clients nutzen meist eine .ovpn-Datei, die Zertifikate und Schlüssel referenziert oder eingebettet enthält. Für einfache Verteilung ist „Inline“-Konfiguration praktisch, weil Sie nur eine Datei ausliefern müssen.
Beispiel client01.ovpn (Inline):
client
dev tun
proto udp
remote vpn.example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
verb 3
key-direction 1
Inhalt von ca.crt
Inhalt von client01.crt
Inhalt von client01.key
Inhalt von ta.key
Installieren Sie auf dem Client die OpenVPN-Software (Windows/macOS/Linux). Offizielle Downloads und Hinweise: OpenVPN Community Downloads.
Schritt 11: Split Tunnel vs. Full Tunnel korrekt umsetzen
Die Entscheidung wirkt sich auf Routing, DNS und Security aus. Beide Modelle sind legitim, aber Sie sollten sie bewusst konfigurieren.
Split Tunnel sauber konfigurieren
- Server pusht nur Routen zu internen Netzen (push “route …”).
- DNS: Split-DNS ist ideal (interne Zonen intern, extern extern). Wenn das nicht möglich ist, nutzen Sie zumindest interne Resolver für interne Namen.
- Rückrouten: Interne Router/Firewalls müssen wissen, wie sie 10.8.0.0/24 erreichen (statische Route oder dynamisches Routing).
Full Tunnel sauber konfigurieren
- Server pusht redirect-gateway (Default Route über VPN).
- NAT am VPN-Server ist meist erforderlich, wenn Clients über den Server ins Internet sollen.
- DNS sollte konsistent sein (oft Unternehmensresolver), damit Policies, Filter und Logging greifen.
Schritt 12: OpenVPN härten (Hardening), ohne die Funktion zu gefährden
Ein VPN ist ein Internet-exponierter Dienst. Die wichtigsten Hardening-Punkte sind:
- Individuelle Client-Zertifikate: pro Nutzer/Gerät; keine Shared Keys.
- CRL nutzen: widerrufen Sie kompromittierte Clients, statt „alles neu“ zu bauen. OpenVPN unterstützt CRLs; das Konzept basiert auf X.509/PKI-Grundlagen (RFC 5280).
- tls-crypt bevorzugen: reduziert Angriffsfläche durch verschleierte TLS-Metadaten (je nach Version/Support).
- Managementzugang isolieren: Admin-UIs/SSH nicht aus dem Internet; nur aus Managementnetzen.
- Firewall restriktiv: nur benötigte Ports offen, Rate-Limits wenn möglich.
- Updates: OpenVPN und OpenSSL aktuell halten; ungepatchte Systeme sind ein typischer Angriffsvektor.
Für praktische Sicherheitsempfehlungen rund um Remote-Access-VPNs ist das Dokument von NSA/CISA eine gute Ergänzung: Selecting and Hardening Remote Access VPN Solutions (PDF).
Schritt 13: Logging und Monitoring aktivieren, das wirklich hilft
Für einen sauberen Betrieb sollten Sie nicht nur „verb 3“ setzen, sondern gezielt Dinge überwachen, die Störungen und Angriffe sichtbar machen:
- Login-Erfolg/Fehler: wiederholte Fehlversuche, neue Quellnetze
- Session-Abbrüche: DPD/Keepalive-Timeouts, häufige Reconnects
- Gateway-Ressourcen: CPU, RAM, Interface Drops (besonders bei hoher Verschlüsselungslast)
- Zertifikatsabläufe: CA/Serverzertifikate und CRL-Updatezyklen
Wenn Sie ein SIEM betreiben, lohnt sich die strukturierte Weiterleitung (Syslog/Agent) und das Mapping von Feldern (User, Source-IP, VPN-IP, Profil). So wird aus OpenVPN ein wertvoller Sensor für Security und Betrieb.
Typische Fehler und Troubleshooting (die häufigsten 10 Minuten Fixes)
Wenn OpenVPN „verbunden“ ist, aber nichts geht, liegt es fast immer an Routing, Firewall oder DNS. Diese Checks bringen Sie schnell zur Ursache:
- Server-Log prüfen: /var/log/openvpn.log – Zertifikatsfehler, Port-Konflikte, TLS-Handshake-Probleme.
- Port erreichbar?: UDP/1194 von außen erreichbar (Cloud-Security-Groups, Provider-Firewall, lokale Firewall).
- IP-Forwarding aktiv?: net.ipv4.ip_forward=1.
- NAT-Regel korrekt?: Masquerade auf dem richtigen WAN-Interface (eth0 vs. ens3).
- Routen gepusht?: Client bekommt die erwarteten Routen (Split Tunnel) oder Default Route (Full Tunnel).
- Rückroute im LAN: interne Router kennen den Weg zum VPN-Pool (10.8.0.0/24).
- DNS stimmt?: interne Namen lösen intern auf, keine DNS-Leaks oder falsche Resolver-Reihenfolge.
- MTU/MSS-Probleme: „große Pakete scheitern“ → MSS-Clamping/Tunnel-MTU prüfen.
Wenn Sie häufig „geht nur in manchen Netzen“ sehen, prüfen Sie zusätzlich NAT- und UDP-Timeouts. In restriktiven Netzen kann TCP als Fallback sinnvoll sein, allerdings oft mit Performance-Nachteilen.
Best Practices für produktive OpenVPN-Setups
- Konfigurationsmanagement: server.conf versionieren, Changes reviewen, Rollback planen.
- Separate Profile: Standardnutzer vs. Admins (Admin nur über Bastion/Jump Host).
- Least Privilege: nicht „alles ins LAN“, sondern nur notwendige Netze/Ports freigeben.
- Hochverfügbarkeit: bei kritischen Umgebungen Active/Passive oder Active/Active planen, Failover testen.
- Zertifikatsrotation: Ablaufdaten überwachen, Rotation automatisieren, CRL-Prozesse üben.
- Dokumentation: Client-Setup, DNS, Routing, Notfallprozesse (Key Leak, Offboarding) festhalten.
Weiterführende Ressourcen (Outbound-Links)
- OpenVPN Community Resources
- OpenVPN Reference Manual
- OpenVPN Community Downloads
- Ubuntu UFW Dokumentation
- RFC 5280: X.509 Zertifikate und CRLs
- NSA/CISA: Hardening Remote Access VPNs (PDF)
Cisco Netzwerkdesign, CCNA Support & Packet Tracer Projekte
Cisco Networking • CCNA • Packet Tracer • Network Configuration
Ich biete professionelle Unterstützung im Bereich Cisco Computer Networking, einschließlich CCNA-relevanter Konfigurationen, Netzwerkdesign und komplexer Packet-Tracer-Projekte. Die Lösungen werden praxisnah, strukturiert und nach aktuellen Netzwerkstandards umgesetzt.
Diese Dienstleistung eignet sich für Unternehmen, IT-Teams, Studierende sowie angehende CCNA-Kandidaten, die fundierte Netzwerkstrukturen planen oder bestehende Infrastrukturen optimieren möchten. Finden Sie mich auf Fiverr.
Leistungsumfang:
-
Netzwerkdesign & Topologie-Planung
-
Router- & Switch-Konfiguration (Cisco IOS)
-
VLAN, Inter-VLAN Routing
-
OSPF, RIP, EIGRP (Grundlagen & Implementierung)
-
NAT, ACL, DHCP, DNS-Konfiguration
-
Troubleshooting & Netzwerkoptimierung
-
Packet Tracer Projektentwicklung & Dokumentation
-
CCNA Lern- & Praxisunterstützung
Lieferumfang:
-
Konfigurationsdateien
-
Packet-Tracer-Dateien (.pkt)
-
Netzwerkdokumentation
-
Schritt-für-Schritt-Erklärungen (auf Wunsch)
Arbeitsweise:Strukturiert • Praxisorientiert • Zuverlässig • Technisch fundiert
CTA:
Benötigen Sie professionelle Unterstützung im Cisco Networking oder für ein CCNA-Projekt?
Kontaktieren Sie mich gerne für eine Projektanfrage oder ein unverbindliches Gespräch. Finden Sie mich auf Fiverr.












