But it's still pretty annoying not being able to access anything other than HTTP, POP, IMAP and SSH on port 22. Everything else was blocked, no Bittorrent, no UDP anywhere and I couldn't even choose to use different DNS servers, which made it a real pain to work, since I frequently need to use SSH to ports other than 22.
Enter sshuttleAfter having more trouble than I should to set up and maintain my own VPN, I happened to stumble upon sshuttle, which is a little gem that allowed me to achieve my goal of overcoming the restrictions of the University network in a much easier way than with a VPN.
Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.
You need a server you have SSH access to - but you don't necessarily need root access on the server. On your local machine you also need Python and root access.
You can get it either by
git clone git://github.com/apenwarr/sshuttleor
sudo apt-get install sshuttle. I prefer the git method, as it's easier to keep it up to date. I heard that Mac users can also use
brew install sshuttle.
And finally, you use it like this:
sshuttle --dns -vr ssh_server 0/0
And bam, from now on, all the traffic from your local machine will be tunnelled through the server - including DNS requests! I read that people use this to overcome the great firewall of china - how cool is that? :)
There are a few options available, so if you want to do more with it, I suggest you read the docs on GitHub