During my trip back to my hometown in China, I came across the notorious “Great Wall” that restricted me from accessing Facebook and Google. I heard of this for a while but I never dealt with it first hand. As you may guess what a tech guy would do, I looked for ways to get around it. There were few options I found and tried:
- Purchase a VPN service from ExpressVPN.com at the cost of $12.95 US per month – It is an easiest option but less fun so I skipped it. 🙂
- Start Hola chrome plugin that I have installed in US before – It didn’t work as the servers in Hola is not accessible in China.
- Set up my own VPN server from Linode.com – I happened to have some VPS instances on Linode.com and wondered if I can temporarily setup a tunnel to get around the restriction. I first ping the VPS box IP from China, it was visible. Great! Then, I tried to set up VPN server on Linode. I found this article that may do the job but it looked like a cumbersome exercise to me. Although I like problem solving, I didn’t want to end up spending too much of my precious travel time in hotel. Luckily, there is a script on github that can do the job. I followed the instruction and started the VPN server in ease using a command below:
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
After the VPN server was started, it gave you the following info.
Server IP: <ip address>
IPsec PSK: <shared secret>
Password: <generated password>
After you get the info above, you can set up the client from your laptop and/ or iPhone. I use Macbook and the steps are listed below:
- System Preference > Network
- Press + button to select “VPN” as interface and “L2TP over IPSec” as VPN type.
- Fill the server address and user account in the form
- Click “Authentication Settings…” and fill the Password under User Authentication and Shared Secret under Machine Authentication.
- Click “Advanced…” and check the box “Send all traffics over VPN” under Options tab and select “Link-local only” for IPv6 under TCP/IP tab.
- Click “Apply” to save all the settings above and click Connect.
That is it. After that, I can access all sites without issues.