VPS搭建VPN(shadowsocks和v2ray)

最近跟什么大开会相关,好像大部分的VPN都失效了。蓝灯(Lantern)稳定性速度都不错但是每个月500MB的流量还是不够用。因此,还是考虑自己搭一个VPN来得稳妥。

1. 方案准备

  • VPS服务商:Bandwagon(搬瓦工)
  • VPN Server:shadowsocks 和 v2ray(速度没有shadowsocks稳定)
  • VPN 软件:showdsocks(Win,Ubuntu,android) 和 shadowray SuperWingy(iOS)

2. 购买Bandwagon服务器

我采用的是搬瓦工,其实VPS有很多,之所以选择它是因为用的人多,并且价格合适,还提供一键安装shadowsocks的傻瓜工具。其他的VPN可以去这里选:VPS列表

在搬瓦工上搭建shadowsocks的教程主要参考这里

首先登录官网

1
2
https://bandwagonhost.com/index.php
https://bwh1.net

或者你愿意点下我的分享连接也很感谢

1
https://bandwagonhost.com/aff.php?aff=20801

登录网站后,点击导航栏中【VPS Hosting】按钮,如下图:
0.5344765409653371

因为只是用于VPN,所以选择最低配置就足够了。点击【ORDER】按钮订购,如下图:
0.80205022123858

如果没有最低配的那就选择高一个级别,当然价格也更贵一点。注意:Bandwidth是一个月的流量,最低配是500G,不是天天看高清电影应该是够了。

进入配置页面,Billing Cycle项选择【annually】,表示“年付”,Configurable Options项选择【US West Coast - Los Angeles(USCA_2)】,表示我们的服务器地址选择“美国西海岸-洛杉矶”。然后点击【Add to Cart】按钮加入购物车,如下图:
0.4624321167139738

进入购物车页面,如下图:
0.7658803460564967

优惠码可以去这个网址查看:https://www.banwagong.com/youhuima
点击【Checkout】按钮结账。进入个人资料页面,如果您已经有账户,点击【Click here to login】登录您的账户;如果没有账户,那么就按照要求输入个人信息。如下图:
0.058923141948659996

填写完成后,点击【Update】更新个人信息。

然后,在【Payment Method】付款方式项中,选择【Credit Card and AliPay (Stripe)】,表示选择信用卡或支付宝方式进行付款。然后勾选上【 I have read and agree to the Terms of Service】前面的选择框,然后点击【Complete Order】按钮,进入付款页面。如下图:
0.30879515471342

点击【Pay now】按钮,开始付款,直接跳转到支付宝页面,这个就不截图了,中国人嘛,还能不会用支付宝?

3. 搭建shadowsocks

点击右上角【Client Area】按钮,如下图:
0.6043703378018064

跳转到登录界面,输入电子邮箱地址和密码(刚才注册时输入的密码),点击【Login】按钮,如下图:
0.7973071788231076

登录成功后,点击【Services】服务器按钮,在弹出的下拉选项中,点击【My Services】我的服务器按钮。如下图:
0.036330636450951914

跳转到服务器列表页面。点击【KiwiVM Control Panel】按钮,如下图:
0.1154515450985989

跳转到控制面板页面,我们先来熟悉一下这里展示的服务器信息。如下图:
0.8761737666956608

左侧有直接建立shadowsocks的工具
6af293b1-4295-499d-ae56-103a68d822c1

打开后自动执行,完成后跳转会这个页面即可看到:
6489ec0a-470d-48f9-8b8c-67b866b0edc8

根据上面的介绍可以下载shadowsocks的客户端,填写配置,就完成了。

4. 搭建v2ray用shadowray-iOS

我建议使用 SuperWingy 在 iOS 上使用 Shadowsocks,因为根据个人体验 shadowray+v2ray 速度和链接都不太稳定,而且两个app都要买。所以,如果你用 SuperWingy 后面就不用看了。

上面的搭建完成后,一个主要问题是iOS版的应用已经被下架了。但是shadowsocks的作者又发布了一个shadowray(要12块,在app store里搜索),其基于v2ray。
下面的教程基于:http://www.liyonge.com/2017/10/11/v2ray/#.Wd9EJicwH0M.twitter

首先用一个ssh客户端登录你的vps,用root用户

自动安装脚本:

1
bash <(curl -L -s https://install.direct/go.sh)

4f0ec3c5-245f-469c-8971-8844d8fe898a上面的PORT是端口号,UUID是你服务的ID,在后面shadowray的设置上需要
可以看到这里出现了问题,主要原因是我使用的centos 6,而v2ray的启动方式需要centos 7,但是如果你升级到centos 7,搬瓦工的一键安装shadowsocks又不支持了。还好找到了解决方法。

1
https://github.com/v2ray/v2ray-core/issues/101#issuecomment-214670792%5D

将下面的脚本替换/etc/init.d/v2ray,如果已经有了这个文件,那先删除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/sh
#
# v2ray Startup script for v2ray
#
# chkconfig: - 24 76
# processname: v2ray
# pidfile: /var/run/v2ray.pid
# description: V2Ray proxy services
#

### BEGIN INIT INFO
# Provides: v2ray
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: V2Ray proxy services
# Description: V2Ray proxy services
### END INIT INFO

DESC=v2ray
NAME=v2ray
DAEMON=/usr/bin/v2ray/v2ray
PIDFILE=/var/run/$NAME.pid
LOCKFILE=/var/lock/subsys/$NAME
SCRIPTNAME=/etc/init.d/$NAME
RETVAL=0

DAEMON_OPTS="-config /etc/v2ray/config.json"

# Exit if the package is not installed
[ -x $DAEMON ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Source function library.
. /etc/rc.d/init.d/functions

start() {
local pids=$(pgrep -f $DAEMON)
if [ -n "$pids" ]; then
echo "$NAME (pid $pids) is already running"
RETVAL=0
return 0
fi

echo -n $"Starting $NAME: "

mkdir -p /var/log/v2ray
$DAEMON $DAEMON_OPTS 1>/dev/null 2>&1 &
echo $! > $PIDFILE

sleep 2
pgrep -f $DAEMON >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
success; echo
touch $LOCKFILE
else
failure; echo
fi
return $RETVAL
}

stop() {
local pids=$(pgrep -f $DAEMON)
if [ -z "$pids" ]; then
echo "$NAME is not running"
RETVAL=0
return 0
fi

echo -n $"Stopping $NAME: "
killproc -p ${PIDFILE} ${NAME}
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
}

reload() {
echo -n $"Reloading $NAME: "
killproc -p ${PIDFILE} ${NAME} -HUP
RETVAL=$?
echo
}

rh_status() {
status -p ${PIDFILE} ${DAEMON}
}

# See how we were called.
case "$1" in
start)
rh_status >/dev/null 2>&1 && exit 0
start
;;
stop)
stop
;;
status)
rh_status
RETVAL=$?
;;
restart)
stop
start
;;
reload)
reload
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|reload|restart}" >&2
RETVAL=2
;;
esac
exit $RETVAL

vi的操作这里就不说了,自行百度。

1
2
3
$ sudo chmod +x /etc/init.d/v2ray
$ sudo chkconfig v2ray on
$ sudo service v2ray start

看到下面这个就代表v2ray启动了

a3ad5759-4019-437a-8f55-ddd2e6e2b78a

去app store下载shadowray
a3ad5759-4019-437a-8f55-ddd2e6e2b78a

在里面add server,把你的服务器的ip,v2ray的PORT,UUID填入进去。Done。
cd33c834-c746-410d-8392-d97b53270302