Netzwerk & WAN

OpenVPN

OpenVPN ist eine etablierte, quelloffene VPN-Lösung, die einen TLS-gesicherten Steuerkanal mit einer X.509-PKI nutzt und Verkehr wahlweise über UDP oder TCP tunnelt.

  • TLS-gesicherter Steuerkanal
  • X.509-PKI, Zertifikate
  • TUN (Layer 3) oder TAP (Layer 2)
  • UDP oder TCP/443
  • DCO für Performance
Von Andreas Huser, Technische Beratung & Architektur Aktualisiert am 12 Min. Lesezeit

OpenVPN ist eine der etabliertesten VPN-Lösungen überhaupt, quelloffen und seit 2002 im Einsatz. Es baut auf TLS auf: Ein gesicherter Steuerkanal authentifiziert die Gegenseite und handelt die Schlüssel aus, ein separater Datenkanal transportiert dann den verschlüsselten Nutzverkehr. Die Authentifizierung läuft über eine eigene Zertifikatsinfrastruktur (PKI).

Dieser Artikel erklärt die Zwei-Kanal-Architektur und die Härtung des Steuerkanals, die PKI mit Zertifikaten und Sperrliste, den Unterschied zwischen TUN und TAP, die Transportwahl samt dem TCP-over-TCP-Problem, die Aushandlung der Cipher, die Authentifizierungswege über Zertifikate hinaus sowie den Data Channel Offload, der den alten Performance-Engpass auflöst.

1. Zwei Kanäle: Steuerung und Daten

OpenVPN trennt sauber in zwei logische Kanäle, die über einen Port laufen. Der Control Channel ist eine TLS-Verbindung und erledigt Authentifizierung, Aushandlung der Datenverschlüsselung und das regelmäßige Neuschlüsseln. Der Data Channel trägt die eigentlichen IP-Pakete, verschlüsselt mit dem dabei ausgehandelten symmetrischen Schlüssel.

Den Steuerkanal selbst kann man zusätzlich härten: tls-auth signiert alle Steuerpakete mit einem gemeinsamen Schlüssel, tls-crypt verschlüsselt sie zusätzlich (auch vor dem TLS-Handshake), und tls-crypt-v2 gibt jedem Client einen eigenen abgeleiteten Schlüssel. Das wehrt unauthentifizierte Verbindungsversuche und einfache DoS-Angriffe ab.

2. Die PKI: Zertifikate und Sperrliste

Im TLS-Modus braucht OpenVPN eine vollständige X.509-PKI. Eine eigene CA signiert das Server- und alle Client-Zertifikate; beide Seiten prüfen sich gegenseitig gegen dieselbe CA. Der Aufbau läuft typischerweise über das Begleitwerkzeug Easy-RSA. Wichtig für den Betrieb: Mit einer Sperrliste (CRL) lassen sich einzelne Zertifikate widerrufen, ohne die ganze PKI neu aufzubauen, etwa wenn ein Laptop verloren geht.

Die Sperrliste hat ein Ablaufdatum

Eine abgelaufene CRL blockiert je nach Konfiguration alle Verbindungen. Die Erneuerung der Sperrliste und die Zertifikatsrotation gehören in den Betriebsablauf, sonst steht der VPN-Zugang plötzlich still.

3. TUN oder TAP

OpenVPN kann auf zwei Ebenen arbeiten:

TUN (Layer 3)TAP (Layer 2)
tunnelt IP-Pakete, geroutettunnelt Ethernet-Frames, gebrückt
Standard für Remote-Access und Site-to-Sitenur wenn echte Layer-2-Transparenz nötig ist
geringer Overhead, gut skalierbarhöherer Overhead, schlechter skalierbar
mit Data Channel Offload kompatibelnicht mit dem Offload kombinierbar

4. UDP oder TCP und das TCP-over-TCP-Problem

Standard ist UDP auf Port 1194, und UDP ist auch die empfohlene Wahl. TCP wird gebraucht, wenn restriktive Firewalls nur HTTP und HTTPS durchlassen: Über TCP auf Port 443 ist OpenVPN-Verkehr kaum von HTTPS zu unterscheiden.

Der Preis dafür ist das TCP-over-TCP-Problem (TCP-Meltdown): Läuft eine TCP-Anwendung durch einen TCP-Tunnel, reagieren beide Schichten unabhängig auf Paketverlust und verstärken ihre Wiederholungen gegenseitig. Schon geringer Verlust lässt den Durchsatz einbrechen. TCP gehört deshalb nur als Notlösung gewählt, nicht als Standard.

5. Cipher-Aushandlung

Anders als WireGuard handelt OpenVPN die Datenverschlüsselung aus. Über die data-ciphers-Liste werden moderne AEAD-Verfahren angeboten, in der Regel AES-256-GCM, AES-128-GCM und ChaCha20-Poly1305. Der alte Standard BF-CBC (Blowfish) gilt als unsicher und wird ohne ausdrücklichen Kompatibilitätsmodus nicht mehr akzeptiert. Für den Produktivbetrieb gehören Mindest-TLS-Version und Cipher-Liste bewusst gesetzt.

Server-Konfiguration (Auszug)

# /etc/openvpn/server.conf (Auszug)
dev tun
topology subnet
proto udp
port 1194
data-ciphers AES-256-GCM:CHACHA20-POLY1305
tls-crypt ta.key
remote-cert-tls client
crl-verify crl.pem
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"

6. Authentifizierung über das Zertifikat hinaus

Zur gegenseitigen Zertifikatsprüfung lassen sich weitere Faktoren kombinieren: Benutzername und Passwort gegen PAM oder LDAP, Hardware-Token und Smartcards über PKCS#11 (etwa YubiKey), Einmalcodes per TOTP für Mehrfaktor-Authentifizierung sowie kurzlebige Tokens, die der Server nach erfolgreicher Anmeldung ausgibt. Diese Kombinierbarkeit ist eine der Stärken von OpenVPN.

7. Performance: Data Channel Offload

Historisch verarbeitete OpenVPN den Datenpfad in einem einzelnen Userspace-Thread, was den Durchsatz auf einem Kern deckelte. Der Data Channel Offload (DCO) verlagert Ver- und Entschlüsselung in ein Kernelmodul; der Daemon bleibt nur noch Steuerinstanz. Das hebt den Engpass deutlich an. DCO hat allerdings Bedingungen: nur TUN, nur die subnet-Topologie, nur AEAD-Cipher und nur UDP, ohne Kompression. Wer diese Voraussetzungen erfüllt, gewinnt spürbar an Geschwindigkeit.

8. MTU und Overhead

Wie jeder Tunnel verkleinert OpenVPN die nutzbare Paketgröße. Damit innere TCP-Verbindungen nicht über die Tunnel-MTU hinauslaufen und still fragmentiert oder verworfen werden, senkt mssfix die maximale Segmentgröße passend ab; für andere Verkehrsarten kann OpenVPN intern fragmentieren. Diese Werte gehören zur Strecke passend gesetzt, sonst treten schwer zu findende Probleme mit großen Paketen auf.

9. Community Edition und Access Server

OpenVPN gibt es in zwei Ausprägungen:

Community EditionAccess Server
kostenlos, GPLv2, reine Kommandozeilekommerziell lizenziert, Weboberfläche und API
Authentifizierung manuell über PKI und PluginsLDAP, SAML, Mehrfaktor und Richtlinien integriert
Skalierung und Hochverfügbarkeit selbst aufbauenClustering und Failover eingebaut
für erfahrene Linux-Teamsfür Unternehmen ohne tiefe VPN-Expertise

10. Stärken und Grenzen

StärkenGrenzen
Sehr flexibel und reif, breite PlattformunterstützungBetrieb einer PKI (CA, Zertifikate, CRL) ist aufwendig
Firewallfreundlich, notfalls als HTTPS über TCP/443 getarntTCP-over-TCP bricht den Durchsatz ein (UDP bevorzugen)
Gegenseitige Zertifikate plus optionale Mehrfaktor-AuthHöhere Konfigurationskomplexität als schlanke Alternativen
Gezielter Zertifikatswiderruf über die SperrlisteAbgelaufene CRL kann alle Verbindungen blockieren
Data Channel Offload löst den alten Single-Thread-EngpassDCO nur mit TUN, subnet, AEAD und UDP nutzbar

Häufige Fragen zu OpenVPN

In der Regel UDP (Standardport 1194). TCP ist nur als Notlösung sinnvoll, wenn eine restriktive Firewall ausschließlich HTTP und HTTPS durchlässt, dann kann OpenVPN über TCP auf Port 443 wie HTTPS aussehen. TCP durch einen TCP-Tunnel führt jedoch zum TCP-over-TCP-Problem, bei dem schon geringer Paketverlust den Durchsatz einbrechen lässt.

Über die Sperrliste (CRL) der PKI. Das betreffende Client-Zertifikat wird widerrufen und die aktualisierte CRL auf dem Server eingespielt, ohne dass die übrige Infrastruktur neu aufgebaut werden muss. Wichtig ist, die CRL rechtzeitig zu erneuern, da eine abgelaufene Sperrliste je nach Konfiguration alle Verbindungen blockiert.

Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.

Der nächste Schritt

OpenVPN im eigenen Haus richtig einsetzen?

Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.

Erstgespräch vereinbaren oder Formular ausfüllen