Question about differences in packages (openvpn vs openvpn3/openvpn3-client) #149
-
Could someone tell me the difference between openvpn and this openvpn3 on Linux? my VPN provider told me to install openvpn, but openvpn website I noticed says to use openvpn3, I was originally hunting for a GUI because I wanted a killswitch and come across the two different openvpns. I used openvpn a lot recently, and now switching to this is there any key differences, is this one better for security, more up to date? sorry for the noob question. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
The traditional OpenVPN package is called The OpenVPN 3 Linux project is fairly new. It builds upon a re-implementation of the OpenVPN protocol into a C++ library. The OpenVPN 2.x
OpenVPN 3 Linux
In regards to kill-switch functionality. This should work fairly well with OpenVPN 3 Linux. It does a few extra things to avoid leaking data outside the VPN tunnel when full network redirection is in use. When a OpenVPN 3 Linux needs to do a tunnel restart or full reconnect, it will create a new OpenVPN 3 Linux also ships with an When it comes to security ... that's a bit more complex to answer. In regards to the VPN tunnel security, Both versions are basically equally safe and secure. The security of the binaries themselves are also considered to be equally good, even though OpenVPN 2.x has been through more security audits than the OpenVPN 3 stack. When it comes to runtime environment, the OpenVPN 3 Linux stack is far more locked down than OpenVPN 2.x. OpenVPN 3 Linux has multiple processes doing just a single task alone - like configuration management, session management, network configuration, VPN tunnel and logging. Each of these processes are locked down and runs independently of the other services; if one of the crashes, the impact is reduced to only the segment that process is responsible for. With OpenVPN 2.x, everything is run inside a single process, which often has elevated privileges. That said, OpenVPN 2.x does not have the full management services which the OpenVPN 3 Linux stack has, so it is somewhat simpler. However, with OpenVPN 2.x the VPN client connection itself will run with more privileges. In OpenVPN 3 Linux, the VPN client connection runs completely unprivileged and any operation requiring more privileges (like network and DNS configuration) is handed over via D-Bus API calls to the OpenVPN 3 Network Configuration service; which runs with somewhat more privileges (still less than OpenVPN 2.x). These API calls are also highly restricted in what they can ask for. I do consider OpenVPN 3 Linux to be quite a bit better when it comes to runtime security. A quick-start guide how to use OpenVPN 3 Linux can be found here: https://community.openvpn.net/openvpn/wiki/OpenVPN3Linux#Quickstart-howtouseOpenVPN3Linux |
Beta Was this translation helpful? Give feedback.
The traditional OpenVPN package is called
openvpn
. That is the OpenVPN 2.x generation which has bee available for close to 20 years. This works fine and has integrations with NetworkManager as well, plus a lot of consumer VPN providers build upon this one for their own service specific GUI.The OpenVPN 3 Linux project is fairly new. It builds upon a re-implementation of the OpenVPN protocol into a C++ library. The
openvpn3
/openvpn3-client
packages provides mostly the same client functionality as OpenVPN 2.x, but the implementation itself very different.OpenVPN 2.x