使用Digitalocean VPS架設VPN(Shadowsocks) , 大陸翻牆用

需要翻牆的時機,大部分都是去中國大陸時,會因為中國政府的政策因素而無法瀏覽某些網站如Youtube , Google或是使用一些APP如Line、Facebook ,這時就必須連到某個VPN(Virtual Private Network),透過該來連結到我們想要的網站,也就是俗稱的翻牆。但大多數的免費VPN都有速度及連線的問題(免費使用的人也多),如果使用付費又不太能掌控(畢竟是共享該VPN網路資源),自行架設VPN Server所耗費的成本(網路費、電費、Server費用)又過高,所以此篇文章著重在紀錄如何利用Digitalocean 所提供的低成本VPS服務(Virtual Private Server)來建立一個VPN(Shadowsocks)。

Digitalocean 是眾多提供VPS服務(Virtual Private Server)的公司,其品質和收費約是介於中價位(最便宜的規格5美金/月)與良好品質的範圍,現在還有活動,透過朋友推薦的連結來購買的話又會多送10美金,等於是5美金用三個月。

http://www.digitalocean.com/?refcode=13593888d0ca,左邊這個是我推薦註冊的連結

註冊認證完畢之後,首先要Create Droplet,也就是新增VPS的服務添加

Server的作業系統我們就選擇CentOS,版本就選擇最新或次新(必須要相容VPN服務軟體的版本)

接下來就是繳錢啦,建議一開始試用就從規格最低的5美金還是玩起,利用推薦還可以送10美金,等於花5美金有三個月可以用。

接下來就是選擇VPS主機所在的位置,建議是選擇Singapore新加坡或是San Francisco舊金山,相對的速度會稍快。

選好地點之後,剩下的都可以以後再修改,就直接Create吧。

建好VPS之後,系統會自動發送你的VPS IP帳號密碼到你的認證信箱,第一次登入都會要求你修改密碼。

有了IP位址之後,我们就可以使用XShell進行遠端控制VPS。https://www.netsarang.com/download/down_form.html?code=522&downloadType=0&licenseType=1  左邊為XShell 5 下載連結。

填完資料之後,下載檔案連結會寄送到你的信箱,下載並安裝。

建立一個連結設定,重點在於主機必須是你mail中DigitalOcean給你的IP位址

帳密則是mail中給你的第一次的帳號與密碼。

連接進VPS主機

You are required to change your password immediately (root enforced)
Last login: Fri Jul  8 01:35:10 2016 from 112.231.191.182
Changing password for root.
(current) UNIX password: 
New password: 
Retype new password: 
[root@centos-shadowsocks ~]# 

複製輸入你mail中的密碼,然後輸入並重複一次你想要重設的密碼

 

重設密碼後,就可以開始建立VPN Shadowsocks伺服器了,步驟如下:

1)執行下列指令,進行安裝shadowsocks(指令需要一行一行的輸入),過程可能會讓你確認,直接輸入Y即可

yum install epel-release
yum update
yum install python-setuptools m2crypto supervisor
easy_install pip
pip install shadowsocks

2)上一步安裝了shadowsocks,現在要進行設定,首先是Port、密碼、加密方式等設定,接下來輸入下列指令:

vi /etc/shadowsocks.json

這樣就進入了shadowsocks的setup文件的編輯狀態,按下鍵盤"i"鍵,開始編輯,把下列內容複製進去:

{
    "server":"0.0.0.0",
    "server_port":8388,
    "local_port":1080,
    "password":"yourpassword",
    "timeout":600,
    "method":"aes-256-cfb"
}

password那一項要修改為VPN要登入的密碼,依序"按下Esc"-->"按下shift+:" -->"輸入wq" --> "儲存"!

接著再編輯文件/etc/supervisord.conf,執行下列命令進行編輯:

vi /etc/supervisord.conf

如同上,按下“i”鍵開始編輯,將下列內容複製貼上到文件尾部空白處:

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
log_stderr=true
logfile=/var/log/shadowsocks.log

上面內容複製貼上之後,依序"按下Esc"-->"按下shift+:" -->"輸入wq" --> "儲存"!

接著在編輯文件/etc/rc.local,執行如下命令進行編輯:

vi /etc/rc.local

如同上,按下“i”鍵開始編輯,將下列內容複製貼上至空白處:

service supervisord start

上面內容複製貼上之後,依序"按下Esc"-->"按下shift+:" -->"輸入wq" --> "儲存"!

最後,需要重啟一下VPS,在xshell輸入"reboot",等待VPS重啟完畢後,再重新使用xshell遠端連結,輸入如下命令,看看在/etc/shadowsocks.json中配置的port是否處於Listen:

[root@centos-shadowsocks ~]# netstat -antlp | grep 8388
tcp        0      0 0.0.0.0:8388        0.0.0.0:*     LISTEN      1227/python  

如上面的8388 port處於listen狀態,VPN就建置成功了!

PS.CentOS 版本6和7的指令會不一樣喔 , 6是netstat , 7是ss

3)內容補充,可能會需要用到以下命令:

①啟動Shadowsocks服务端:service supervisord start;

②關閉Shadowsocks服务端:service supervisord stop;

③重啟shadowsocks服务端:service supervisord restart;

④卸載:pip uninstall shadowsocks;

接著我們在Client(Windows , iOS , Android)下載shadowsocks Client

Windows ==> https://github.com/shadowsocks/shadowsocks-windows/releases

iOS==>App Store搜尋shadowrocket

編輯連線到VPN的設定

成功連線之後就完成囉!