I have root access on a server and I can access my server through ssh and my server and my laptop run ubuntu. What's the easiest way to setup vpn server/client such that when I connect the vpn all of internet connections go through the server?
If you just want to tunnel HTTP traffic through the VPN, one of the easiest solutions would be:
- Set up a Squid proxy on the server and configure it to accept only connections from localhost. See this article from Ubuntu community wiki.
On the client: tunnel the remote proxy port (by default 3128) to a local port through ssh:
ssh -L 3128:localhost:3128 PROXYSERVERNAME
- Configure your browser to use
localhost:3128as a proxy
If you want all of your traffic to go through the VPN, a solution would be to setup OpenVPN on the server side and the use the OpenVPN Network Manager Plugin on the client to setup a connection to the server. By default, OpenVPN configured through the NetworkManager tries to tunnel all traffic through the VPN. See another article from Ubuntu community wiki.
I found shadowproxy super easy to use http://shadowsocks.org/en/index.html They have clients for a variety of operating systems as well.