Last year I was working in China for a few months. I never bothered setting up a real VPN, but just created a SSH tunnel, and changed my browsers proxy settings to connect through it.

Everything worked great (except flash of course) but that was fine.

However, now I'm back in China but I'm having problems with this approach. I do the same thing as last time, and according to https://ipcheckit.com/ my IP address is indeed the IP of my (private) server in the US, and I'm logging in to my server using a fingerprint I created long before going to China so no MITM should be possible. Furthermore the certificate from ipcheckit.com is from GeoTrust - so everything should be OK

However, I still can't access sites which are blocked in China. Any idea how this could be possible?


If you use linux or osx, you could try using sshuttle to create your ssh tunnel. That will make sure all the packets are being tunnelled.

https://github.com/apenwarr/sshuttle

./sshuttle -r username@sshserver 0/0 -vv

Additionally use a public dns server like Google's or OpenDNS

Also if you'd like to proxy your DNS requests, the command would be.

./sshuttle --dns -vvr username@sshserver 0/0

Sshuttle has worked for me wonderfully over the past 2 years and I can access everythings thats blocked by vietnamese ISPs.

Only downside is, it supports only password based authentication (AFAIK).