[Openvpn-devel,v3] options: make `tun` the default for `--dev`
Commit Message
From: Antonio Quartulli <antonio@mandelbit.com>
With this change, OpenVPN can be launched without specifying
any --dev option and it will start a `tun` (L3) tunnel with the
interface named `tunX`.
As before, this behaviour can be changed using --dev or --dev-type.
Existing configs won't see any behavioural change as they all
had to contain at least one --dev directive.
Change-Id: I0ca7b5b7ec1a01acaad222c99db137c94c88555a
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1537
---
This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1537
This mail reflects revision 3 of this Change.
Acked-by according to Gerrit (reflected above):
Comments
This is nice, as it reduces the amount of stuff really needed in a client
config even further... :-) - and it's really minimal, most of the patch
is documentation / example file updates. BB says this works across
all platforms, even better. I just tested linux (unsurprisingly, works).
Your patch has been applied to the master and release/2.7 branch
("mini feature, non intrusive").
commit a6537f7549f70f16bb2efd5c0683e0e94a236f0c (master)
commit c2a1de5e3b88049692a00560a88418f4eb35ba0e (release/2.7)
Author: Antonio Quartulli
Date: Fri Jul 24 07:55:23 2026 +0200
options: make 'tun' the default for '--dev'
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1537
Message-Id: <20260724055529.1376-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg37825.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
@@ -63,6 +63,10 @@
Example 1: A simple tunnel without security (not recommended)
-------------------------------------------------------------
+Since :code:`tun` is the default device type, ``--dev`` is optional; when it
+is omitted OpenVPN creates a dynamically-named ``tunX`` device. The examples
+below still name the device (``--dev tun1``) explicitly for clarity.
+
On bob::
openvpn --remote alice.example.com --dev tun1 \
@@ -50,6 +50,10 @@
:code:`null` or an arbitrary name string (:code:`X` can be omitted for
a dynamic device.)
+ If neither ``--dev`` nor ``--dev-type`` is specified, OpenVPN defaults to
+ :code:`tun`, i.e. it creates a dynamically-named :code:`tunX` device and
+ runs a layer-3 tunnel.
+
See examples section below for an example on setting up a TUN device.
You must use either tun devices on both ends of the connection or tap
@@ -20,6 +20,8 @@
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
+# "tun" is the default device type, so the
+# "dev tun" line below is optional.
;dev tap
dev tun
@@ -49,6 +49,8 @@
# On most systems, the VPN will not function
# unless you partially or fully disable/open
# the firewall for the TUN/TAP interface.
+# "tun" is the default device type, so the
+# "dev tun" line below is optional.
;dev tap
dev tun
@@ -189,7 +189,8 @@
" or --socks-proxy"
" is used).\n"
"--nobind : Do not bind to local address and port.\n"
- "--dev tunX|tapX : tun/tap device (X can be omitted for dynamic device.\n"
+ "--dev tunX|tapX : tun/tap device (X can be omitted for dynamic device).\n"
+ " Defaults to \"tun\" if neither --dev nor --dev-type is given.\n"
"--dev-type dt : Which device type are we using? (dt = tun or tap) Use\n"
" this option only if the tun/tap device used with --dev\n"
" does not begin with \"tun\" or \"tap\".\n"
@@ -801,6 +802,7 @@
gc_init(&o->dns_options.gc);
o->mode = MODE_POINT_TO_POINT;
+ o->dev = "tun";
o->topology = TOP_UNDEF;
o->ce.proto = PROTO_UDP;
o->ce.af = AF_UNSPEC;