An open-source [[virtual private network|VPN]], implementing [[data link layer|layer 2]] [[tunelling]]. It runs over either [[User Datagram Protocol|UDP]] or [[Transmission Control Protocol|TCP]], and supports a pre-shared secret key; a [[public-key certificate]]; or a username and [[password]] as [[authentication]] mechanisms.