There are many ways to set up a VPN. Setting up a VPN typically requires using privileged access on all hosts involved (in order to create virtual network interfaces via TUN/TAP devices), as well as opening up additional VPN ports on any existing firewall. This is an administrative overhead. If you can configure a VPN over a commonly available SSH tunnel, it will reduce the VPN provisioning overhead.
In this tutorial, I will describe how to set up a VPN over SSH in Linux, by using a command-line tool called sshuttle.
Transparent proxy server that works as a poor man's VPN. Forwards all TCP packets over ssh and
even DNS requests when using --dns option). Doesn't require admin privileges on the server side. Works with Linux and MacOS. Supports DNS tunneling.
====================
Un petit cas pratique en français : http://blog.uggy.org/post/2013/07/28/sshuttle-VPN-/-SSH