OpenVPN allows peers to authenticate each other using pre-shared secret keys, certificates or username/ password. It implements both client and server applications.
OpenVPN is a virtual private network (VPN) system that implements techniques to create secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities.