openvpn:options
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
openvpn:options [2020/04/20 10:06] – peter | openvpn:options [2020/07/15 09:30] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 21: | Line 21: | ||
|:::|It should also be noted that this option is not meant to replace UDP fragmentation at the IP stack level. | |:::|It should also be noted that this option is not meant to replace UDP fragmentation at the IP stack level. | ||
|mssfix max|Announce to TCP sessions running over the tunnel that they should limit their send packet sizes such that after OpenVPN has encapsulated them, the resulting UDP packet size that OpenVPN sends to its peer will not exceed **max** bytes. | |mssfix max|Announce to TCP sessions running over the tunnel that they should limit their send packet sizes such that after OpenVPN has encapsulated them, the resulting UDP packet size that OpenVPN sends to its peer will not exceed **max** bytes. | ||
- | |:::|The **max** parameter is interpreted in the same way as the **--link-mtu** parameter, i.e. the UDP packet size after encapsulation overhead has been added in, but not including the UDP header itself. Resulting packet would be at most 28 bytes larger for IPv4 and 48 bytes for IPv6 (20/40 bytes for IP header and 8 bytes for UDP header). Default value of 1450 allows IPv4 packets to be transmitted over a link with MTU 1473 or higher without IP level fragmentation.| | + | |:::|The **max** parameter is interpreted in the same way as the **--link-mtu** parameter, i.e. the UDP packet size after encapsulation overhead has been added in, but not including the UDP header itself.| |
+ | |:::|Resulting packet would be at most 28 bytes larger for IPv4 and 48 bytes for IPv6 (20/40 bytes for IP header and 8 bytes for UDP header). Default value of 1450 allows IPv4 packets to be transmitted over a link with MTU 1473 or higher without IP level fragmentation.| | ||
|:::|The **--mssfix** option only makes sense when you are using the UDP protocol for OpenVPN peer-to-peer communication, | |:::|The **--mssfix** option only makes sense when you are using the UDP protocol for OpenVPN peer-to-peer communication, | ||
|::: | |::: | ||
Line 27: | Line 28: | ||
|:::|The usual symptom of such a breakdown is an OpenVPN connection which successfully starts, but then stalls during active usage.| | |:::|The usual symptom of such a breakdown is an OpenVPN connection which successfully starts, but then stalls during active usage.| | ||
|:::|If **--fragment** and **--mssfix** are used together, **--mssfix** will take its default max parameter from the **--fragment max** option.| | |:::|If **--fragment** and **--mssfix** are used together, **--mssfix** will take its default max parameter from the **--fragment max** option.| | ||
- | |::: | + | |::: |
- | |:::|**--tun-mtu 1500 --fragment 1300 --mssfix**| | + | |
|persist-key|Don' | |persist-key|Don' | ||
|:::|This option can be combined with **--user nobody** to allow restarts triggered by the **SIGUSR1** signal. | |:::|This option can be combined with **--user nobody** to allow restarts triggered by the **SIGUSR1** signal. | ||
Line 35: | Line 35: | ||
|::: | |::: | ||
|rcvbuf size|Set the TCP/UDP socket receive buffer size. Defaults to operation system default.| | |rcvbuf size|Set the TCP/UDP socket receive buffer size. Defaults to operation system default.| | ||
+ | |redirect-gateway flags...|Automatically execute routing commands to cause all outgoing IP traffic to be redirected over the VPN. This is a client-side option.| | ||
+ | |:::|This option performs three steps:| | ||
+ | |:::|(1) Create a static route for the **--remote** address which forwards to the pre-existing default gateway. | ||
+ | |:::|(2) Delete the default gateway route.| | ||
+ | |:::|(3) Set the new default gateway to be the VPN endpoint address (derived either from **--route-gateway** or the second parameter to **--ifconfig** when **--dev tun** is specified).| | ||
+ | |:::|When the tunnel is torn down, all of the above steps are reversed so that the original default route is restored.| | ||
+ | |:::|Option flags:| | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
|remote-random|Used to initially " | |remote-random|Used to initially " | ||
|:::|When multiple --remote address/ | |:::|When multiple --remote address/ | ||
- | |route-gateway gw< | + | |route-delay [n] [w]|Delay **n** seconds (default=0) after connection establishment, |
- | |:::|If **dhcp** is specified as the parameter, the gateway address will be extracted from a DHCP negotiation with the OpenVPN server-side LAN.| | + | |:::|If **n** is 0, routes will be added immediately upon connection establishment. |
- | |route-delay [n] [w]|Delay **n** seconds (default=0) after connection establishment, | + | |
|:::|This option is designed to be useful in scenarios where DHCP is used to set tap adapter addresses. | |:::|This option is designed to be useful in scenarios where DHCP is used to set tap adapter addresses. | ||
|:::|On Windows, **--route-delay** tries to be more intelligent by waiting **w** seconds (w=30 by default) for the TAP-Win32 adapter to come up before adding routes.| | |:::|On Windows, **--route-delay** tries to be more intelligent by waiting **w** seconds (w=30 by default) for the TAP-Win32 adapter to come up before adding routes.| | ||
+ | |route-gateway gw< | ||
+ | |:::|If **dhcp** is specified as the parameter, the gateway address will be extracted from a DHCP negotiation with the OpenVPN server-side LAN.| | ||
|route network/IP [netmask] [gateway] [metric]|Add route to routing table after connection is established. Multiple routes can be specified. Routes will be automatically torn down in reverse order prior to TUN/TAP device close.| | |route network/IP [netmask] [gateway] [metric]|Add route to routing table after connection is established. Multiple routes can be specified. Routes will be automatically torn down in reverse order prior to TUN/TAP device close.| | ||
|::: | |::: | ||
- | |::: | + | |::: |
- | |::: | + | |::: |
|:::|The default can be specified by leaving an option blank or setting it to " | |:::|The default can be specified by leaving an option blank or setting it to " | ||
|:::|The **network** and **gateway** parameters can also be specified as a DNS or /etc/hosts file resolvable name, or as one of three special keywords:| | |:::|The **network** and **gateway** parameters can also be specified as a DNS or /etc/hosts file resolvable name, or as one of three special keywords:| | ||
Line 51: | Line 65: | ||
|::: | |::: | ||
|::: | |::: | ||
+ | |route-nopull|When used with **--client** or **--pull**, accept options pushed by server EXCEPT for routes, block-outside-dns and dhcp options like DNS servers.| | ||
+ | |:::|When used on the client, this option effectively bars the server from adding routes to the client' | ||
|sndbuf size|Set the TCP/UDP socket send buffer size. Defaults to operation system default.| | |sndbuf size|Set the TCP/UDP socket send buffer size. Defaults to operation system default.| | ||
- | |verb 3|Set output verbosity to n (default=1). Each level shows all info from the previous levels. | + | |tun-mtu n|Take the TUN device MTU to be n and derive the link MTU from it (default=1500). |
+ | |:::|The MTU (Maximum Transmission Units) is the maximum datagram size in bytes that can be sent unfragmented over a particular network path. OpenVPN requires that packets on the control or data channels be sent unfragmented.| | ||
+ | |:::|MTU problems often manifest themselves as connections which hang during periods of active usage.| | ||
+ | |::: | ||
+ | |verb n|Set output verbosity to **n** (default=1). | ||
|:::|**0** -- No output except fatal errors.| | |:::|**0** -- No output except fatal errors.| | ||
|:::|**1 to 4** -- Normal usage range.| | |:::|**1 to 4** -- Normal usage range.| | ||
Line 71: | Line 91: | ||
|client|A helper directive designed to simplify the configuration of OpenVPN' | |client|A helper directive designed to simplify the configuration of OpenVPN' | ||
- | |::: | + | |:::|**pull**| |
- | |::: | + | |:::|**tls-client**| |
- | |pull|This option must be used on a client which is connecting to a multi-client server. It indicates to OpenVPN that it should accept options pushed by the server, provided they are part of the legal set of pushable options.| | + | |pull|This option must be used on a client which is connecting to a multi-client server. |
- | |:::|In particular, --pull allows the server to push routes to the client, so you should not use --pull or --client in situations where you don't trust the server to have control over the client' | + | |:::|In particular, |
Line 99: | Line 119: | ||
|:::|This is an important security precaution to protect against a man-in-the-middle attack where an authorized client attempts to connect to another client by impersonating the server. | |:::|This is an important security precaution to protect against a man-in-the-middle attack where an authorized client attempts to connect to another client by impersonating the server. | ||
|tls-client|Enable TLS and assume client role during TLS handshake.| | |tls-client|Enable TLS and assume client role during TLS handshake.| | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |route-method exe| | ||
- | |route-nopull|When used with **--client** or **--pull**, accept options pushed by server EXCEPT for routes, block-outside-dns and dhcp options like DNS servers.| | ||
- | |:::|When used on the client, this option effectively bars the server from adding routes to the client' | ||
- | |tun-mtu 1500| | ||
|verify-x509-name Server name-prefix|Accept connections only if a host's X.509 name is equal to **name**. | |verify-x509-name Server name-prefix|Accept connections only if a host's X.509 name is equal to **name**. | ||
|:::|Which X.509 name is compared to **name** depends on the setting of type. **type** can be " | |:::|Which X.509 name is compared to **name** depends on the setting of type. **type** can be " | ||
Line 118: | Line 125: | ||
|:::|Using a name prefix is a useful alternative to managing a CRL (Certificate Revocation List) on the client, since it allows the client to refuse all certificates except for those associated with designated servers.| | |:::|Using a name prefix is a useful alternative to managing a CRL (Certificate Revocation List) on the client, since it allows the client to refuse all certificates except for those associated with designated servers.| | ||
|::: | |::: | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Windows-Specific Options ===== | ||
+ | |||
+ | |route-method m|Which method **m** to use for adding routes on Windows?| | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
---- | ---- | ||
openvpn/options.1587377172.txt.gz · Last modified: 2020/07/15 09:30 (external edit)