| Client |
| client | | | Entspricht pull und tls-client |
| pull | | | Optionen vom Server akzeptieren |
| pull-filter | Action Text | | Optionen vom Server filtern |
| auth-user-pass | File | | Datei mit je einer Zeile für Benutzername und Passwort |
| auth-retry | Type | none | Verhalten bei falschem Passwort |
| static-challenge | Text Echo | 0 | Frage-Antwort-Protokoll |
| server-poll-timeout | Seconds | 120 | Wartezeit beim Aufbau der Verbindung |
| connect-timeout | Seconds | 120 | Wartezeit beim Aufbau der Verbindung |
| explicit-exit-notify | [Count] | 1 | Server über Ende benachrichten |
| allow-recursive-routing | | | Pakete an sich selbst behalten |
| Server |
| server | Network Netmask [nopool] | | Entspricht tls-server und push |
| server-ipv6 | Address/Bits | | Sowohl ifconfig-ipv6-pool als auch push setzen |
| server-bridge | Gateway Netmask StartIp EndIp | Brücke für TAP-Schnittstelle |
| server-bridge | [nogw] | | Servermodus mit Brücke |
| push | Option | | Option an Client übermitteln; Siehe pull |
| push-reset | | | Liste der Optionen nicht vererben |
| push-remove | Text | | Push-Optionen entgernen |
| push-peer-info | | | Informationen zum Server senden |
| disable | | | Client vorübergehend deaktivieren |
| ifconfig-pool-persist | File [Seconds] | ipp.txt 600 | Daten speichern |
| ifconfig-pool | StartIp EndIp [Netmask] | | Subnetze dynamisch an Clients vergeben |
| ifconfig-ipv6-pool | Address/Bits | | Subnetze dynamisch an Clients vergeben |
| ifconfig-push | Local Netmask [Alias] | | Dynamische Zuweisung umgehen |
| ifconfig-ipv6-push | Address/Bits Remote | | Dynamische Zuweisung umgehen |
| iroute | Network [Netmask] | | Interne Route zum Client erzeugen |
| iroute-ipv6 | Address/Bits | | Interne Route zum Client erzeugen |
| client-to-client | | | Verkehr zwischen Clients intern weiterleiten |
| duplicate-cn | | | Mehrere Clients mit demselben Namen erlauben |
| client-connect | Command | | Skript beim Aufbau der Verbindung ausführen |
| client-disconnect | Command | | Skript beim Abbruch der Verbindung ausführen |
| client-config-dir | Dir | | Pfad für benutzerspezifische Konfigurationsdateien |
| ccd-exclusive | | | Pfad muss vorhanden sein |
| tmp-dir | Dir | | Pfad für Temporärdateien |
| hash-size | Real Virtual | 256 256 | Größe der Streutabellen für Adressen |
| bcast-buffers | Number | 256 | Puffer für Rundsendungen |
| tcp-queue-limit | Number | 64 | Obergrenze für wartende Pakete |
| tcp-nodelay | | | Pakete sofort senden (TCP_NODELAY Flag) |
| max-clients | Number | | Obergrenze für Verbindungen festlegen |
| max-routes-per-client | Number | 256 | Obergrenze for Routen pro Client festlegen |
| stale-routes-check | Seconds [Seconds] | | Routen nach Inaktivität entfernen |
| connect-freq | Number Seconds | | Maximal soviele Verbindungen pro Sekunde annehmen |
| learn-address | Command | | Skript ausführen um Firewall anzupassen |
| auth-user-pass-verify | Command Method | | Benutzername und Passwort verlangen |
| auth-gen-token | [Lifetime] | | Verbindung über Token verlängern |
| opt-verify | | | Clients mit inkompatiblen Optionen ablehnen |
| auth-user-pass-optional | | | Benutzername und Passwort nicht zwingend |
| verify-client-cert | Method | require | Client-Zertifikat anfordern |
| username-as-common-name | | | Anmeldename statt CN aus Zertifikat verwenden |
| port-share | Host Port [Dir] | | Andere Protokolle an HTTPS-Server durchreichen |
| Tunnel |
| mode | Mode | p2p | Punkt-zu-Punkt oder Multi-Client-Server |
| local | Host | all | Adresse des Ports einschränken |
| remote | Host [Port] [Proto] | … 1194 udp | Adresse des Servers (mehrfache Angaben möglich) |
| remote-random-hostname | | | DNS caching durch Prefix verhindern |
| proto-force | Proto | | Profil mit Protokoll bevorzugen |
| remote-random | | | Profil-Liste randomisieren |
| proto | Proto | udp | Protokoll festlegen |
| connect-retry | Count [Seconds] | 5 300 | Wartezeit zwischen Verbindungsversuchen in Sekunden |
| connect-retry-max | Count | unlimited | Obergrenze für Verbindungsversuche |
| http-proxy | Host Port […] | | Proxy verwenden |
| http-proxy-option | Type [Param] | | Erweiterte Optionen für Proxy setzen |
| socks-proxy | Host [Port] [AuthFile] | 1080 | SOCKS Proxy verwenden |
| resolv-retry | Seconds | infinite | Wartezeit um Hostnamen aufzulösen |
| float | | | Veränderliche Adressen zulassen |
| ipchange | Command | | Skript bei Änderung der Adresse aufrufen |
| port | Port | 1194 | Lokale und entfernte Kanalnummer |
| lport | Port | 1194 | Nur lokale Kanalnummer |
| rport | Port | 1194 | Nur entfernte Kanalnummer |
| bind | [ipv6only] | | Als Server auf lokaler Kanalnummer lauschen |
| nobind | | | Als Client von zufälliger Kanalnummer senden |
| dev | Type[Number] | tun0 | Virtuelle Netzwerk-Schnittstelle |
| dev-type | Type | tun | Art der Schnittstelle festlegen |
| dev-node | File | /dev/net/tun | |
| topology | Mode | | Virtuelle Adressierung setzen |
| lladdr | Max | | Hardwareadresse für TAP Schnittstelle setzen |
| iproute | Command | iproute | Skript zum Setzen der Route (statt iproute2) |
| ifconfig | Local Remote | | IPv4-Adresse für TUN-Schnittstelle setzen |
| ifconfig-ipv6 | Local/Bits Remote | | IPv6-Adresse für TUN-Schnittstelle setzen |
| ifconfig-noexec | | | ifconfig nicht ausführen |
| ifconfig-nowarn | | | Warnungen unterdrücken |
| route | Network/Netmask […] | | Routing-Tabelle ergänzen |
| route-ipv6 | Address/Bits […] | | IPv6-Route |
| route-gateway | Host|dhcp | | Default-Netzkoppler festlegen oder beim Server erfragen |
| route-metric | Metric | | Default-Metrik festlegen |
| route-delay | [Seconds] [Wait] | 0 30 | Wartezeit bis Route aktiviert wird |
| route-up | Command | | Skript nach Aktivierung der Route ausführen |
| route-pre-down | Command | | Skript vor Deaktivierung der Route ausführen |
| route-noexec | | | Route nicht veränden (nur per Skript) |
| route-nopull | | | Route nicht vom Server holen |
| allow-pull-fqdn | | | Hostnamen vom Server holen |
| client-nat | snat|dnat Network Netmask Alias | Adresskonflikte vermeiden |
| redirect-gateway | Flags … | | Ausgehende Pakete über das VPN leiten |
| redirect-private | [Flags] | | Default-Netzkoppler nicht ändern |
| link-mtu | Bytes | | Obergrenze für UDP-Pakete festlegen |
| tun-mtu | Bytes | 1500 | MTU der TUN-Schnittstelle festlegen |
| tun-mtu-extra | Bytes | 0 | Overhead kompensieren (0 für TUN, 32 für TAP) |
| mtu-disc | no|maybe|yes | | MTU-Erkennung aktivieren |
| mtu-test | | | MTU ermitteln |
| fragment | Bytes | | Pakete ab dieser Größe intern fragmentieren |
| mssfix | Bytes | 1450 | Obergrenze für TCP-Pakete festlegen |
| sndbuf | Bytes | | Größe des Sendepuffer ändern |
| rcvbuf | Bytes | | Größe des Empfangspuffer ändern |
| mark | Value | | Pakete für Paketfilter markieren |
| socket-flags | Flags … | | Aktuell nur TCP_NODELAY |
| txqueuelen | Bytes | 100 | Größe der Übertragungswarteschlange ändern (nur Linux) |
| shaper | Bytes | | Bandbreite limitieren |
| inactive | Seconds [Bytes] | 0 | Verbindung bei Inaktivität trennen |
| keepalive | Interval Timeout | | Kurzform für ping |
| ping | Seconds | | Regelmäßig Paket zur Gegenhseite senden |
| ping-exit | Seconds | 120 | Verbindung bei Inaktivität trennen |
| ping-restart | Seconds | 60 | Bei Inaktivität neu starten |
| ping-timer-rem | | | Nur bei aktiver Verbindung prüfen |
| persist-tun | | | Schnittstelle nur beim ersten Start erzeugen |
| persist-key | | | Schlüssel nur beim ersten Start lesen |
| persist-local-ip | | | Client-Adresse nur beim ersten Start empfangen |
| persist-remote-ip | | | Server-Adresse nur beim ersten Start empfangen |
| mlock | | | Arbeitsspeicher nicht auf Platte auslagern |
| up | Command | | Skript nach Erzeugen der Schnittstelle ausführen |
| up-delay | | | Schnittstelle erst nach erfolgreicher Verbindung erzeugen |
| down | Command | | Skript nach Löschen der Schnittstelle ausführen |
| down-pre | | | Skript vor Löschen der Schnittstelle ausführen |
| up-restart | | | Skripte auch beim Neustart ausführen |
| setenv | FORWARD_COMPATIBLE 1 | | Unbekannte Direktiven ignorieren |
| setenv | Name Value | | Umgebungsvariable setzen |
| setenv-safe | Name Value | | Präfix OPENVPN_ setzen |
| ignore-unknown-option | Option[ …] | | Unbekannte Direktiven ignorieren |
| script-security | Level | 1 | Ausführung von externen beschränken |
| disable-occ | | | Inkonsistenzen zwischen Client und Server ignorieren |
| user | User | | Benutzeridentität wechseln |
| group | Group | | Gruppenzugehörigkeit wechseln |
| cd | Dir | | Arbeitsverzeichnis wechseln |
| chroot | Dir | | Prozess einsperren |
| setcon | Context | | SELinux-Kontext anwenden |
| daemon | [Progname] | openvpn | Prozess daemonisieren |
| syslog | [Progname] | openvpn | Ausgaben ins Syslog protokollieren |
| errors-to-stderr | | | Fehler auf Standardfehlerausgabe melden |
| passtos | | | TOS-Feld aus Nutzlast übernehmen |
| inetd | [nowait] [Progname] | wait | Modus beim Start über inetd |
| log | File | | Ausgaben in Datei schreiben |
| log-append | File | | Ausgaben an Datei anhängen |
| suppress-timestamps | | | Zeitstempel unterdrücken |
| machine-readable-output | | | Zeitstempel und Flags immer ausgeben |
| writepid | File | | Prozessnummer in Datei schreiben |
| nice | Level | | Priorität des Prozesses ändern |
| fast-io | | | Experimentell |
| multihome | | | Server mit mehreren Netzwerk-Schnittstellen |
| echo | [Parms…] | | Parameter protokollieren |
| remap-usr1 | SIGHUP|SIGTERM | | SIGUSR1 umbiegen |
| verb | Level | 1 | Verbosität erhöhen |
| status | File [Seconds] | | Status regelmäßig in Datei ausgeben |
| status-version | [Version] | 1 | Format der Statusdatei |
| mute | Number | | Repetitive Meldungen unterdrücken |
| compress | [Algorithm] | | Kompression aktivieren |
| comp-noadapt | | | Adaptive Kompression deaktivieren |
| plugin | File [InitString] | | Modul laden |
| keying-material-exporter | Label Length | | Schlüssel speichern (RFC 5705) |
| Datenkanal |
| secret | File [Direction] | | Statischen Schlüssel verwenden; siehe --genkey |
| key-direction | | | Richtung für eingebettete Schlüssel |
| auth | Algorithm | SHA1 | Streuverfahren für HMAC |
| cipher | Algorithm | BF-CBC | Verschlüsselungsverfahren; siehe --show-ciphers |
| ncp-ciphers | Algorithm[:…] | | Verschlüsselungsverfahren einschränken |
| ncp-disable | | | Aushandlung unterbinden |
| prng | Algorithm [Nonce] | SHA1 16 | Methode um Zufallszahlen zu generieren |
| engine | Name | | Hardwareverschlüsselung verwenden; siehe --show-engines |
| replay-window | Size [Seconds] | 64 15 | Schutz gegen Wiederholungsangriffe |
| mute-replay-warnings | | | Keine Warnungen anzeigen |
| replay-persist | File | | Daten speichern |
| use-prediction-resistance | | | Vorhersageangriffe erschweren |
| test-crypto | | | Testpakete ver- und entschlüsseln |
| TLS-Modus |
| tls-server | | | Serverrolle annehmen |
| tls-client | | | Clientrolle annehmen |
| ca | File | | Wurzelzertifikat |
| capath | Dir | | Vertrauenswürdige Zertifikate |
| dh | File | | Diffie Hellman Parameter (für Server) |
| ecdh-curve | Name | | Elliptische Kurve; siehe --show-curves |
| cert | File | | Eigenes Zertifikat |
| extra-certs | File | | Weitere Zertifikate in der Kette |
| key | File | | Privater Schlüssel |
| tls-version-min | Version [or-highest] | 1.0 | Älteste erlaubte Protokollversion |
| tls-version-max | Version | | Neueste erlaubte Protokollversion |
| pkcs12 | File | | Alternative für ca, cert und key |
| verify-hash | Hash [Algorithm] | SHA1 | Fingerabdruck des übergeordneten Zertifikats |
| cryptoapicert | SelectString | | Schlüssel aus Windows Zertifikatsspeicher laden |
| tls-cipher[suites] | Algorithm[:…] | DEFAULT:… | Erlaubte Verschlüsselungsverfahren |
| tls-cert-profile | Profile | | Algorithmen für Zertifikate |
| tls-timeout | Seconds | 2 | Wartezeit des Kontrollkanals |
| reneg-bytes | Bytes | 64M | Datenkanal neu verhandeln |
| reneg-pkts | Packets | | Datenkanal neu verhandeln |
| reneg-sec | Seconds | 3600 | Datenkanal neu verhandeln |
| hand-window | Seconds | 60 | Wartezeit für Verhandlung |
| tran-window | Seconds | 60 | Wartezeit für Neuverhandlung |
| single-session | | | Nur eine einzige Verbindung erlauben |
| tls-exit | | | Abbrechen, wenn Verhandlung fehlschlägt |
| tls-auth | File [Direction] | | Zusätzliche HMAC-Authentifizierung |
| tls-crypt | KeyFile | | Kontrollkanal vorab verschlüsseln |
| askpass | [File] | | Passwort vor der Daemonisierung abfragen |
| auth-nocache | | | Passwörter nicht merken |
| auth-token | Token | | Passwort durch Authentifizerungstoken ersetzen |
| tls-verify | Command | | X.509-Name durch externes Skript prüfen |
| tls-export-cert | Dir | | Aktive Client-Zertifikate speichern |
| x509-username-field | [ext:]Name | CN | Feld im Subject als Benutzername verwenden |
| verify-x509-name | Name Type | | Name des Zertifikats muss passen |
| x509-track | Attribute | | Attribut in Umgebungsvariable speichern |
| remote-cert-ku | [Value…] | | Schlüsselverwendung prüfen |
| remote-cert-eku | Oid | | Erweiterte Schlüsselverwendung prüfen |
| remote-cert-tls | client|server | | Schlüsselverwendung gemäß RFC 3280 |
| crl-verify | File [Dir] | | Widerrufsliste konsultieren |