Vultr VPS搭建 ShadowSocks 教程,附有 BBR 加速配置

Vultr VPS搭建SS(ShadowSocks)教程,附有 BBR 加速配置

作为一个新世纪的码农,我们经常需要使用百度以及Google等搜索引擎搜索资料或搜索一些错误的解决方案,如果英语好的还可能需要到stackoverflow里查看或提问一些开发中遇到的问题,再者可能还需要到youtube上查找一些教学、科普视频等等。还好的是stackoverflow部分不牵扯Google的内容在国内还是能够正常访问的,但是Google和youtube嘛大家都懂,所以本文就介绍一下如何在vps上搭建shadowsocks,让我们能够访问这些网站,以便于我们查阅资料,切勿用做其他不法用途。

一、注册Vultr

注册链接:https://www.vultr.com/?ref=7467830  (看在我辛苦写文章的份上,从我的推荐链接注册吧。)

新注册VULTR账户还是很简单的,基本上3-5分钟就可以解决问题,首先打开Vultr链接,点击 [Create Account](https://www.vultr.com/?ref=7467830),注册一个账号

register.png

二、充值

登陆刚注册的账号,进入主页面,点击左边的Billing,进入充值页面,只有充值过了,服务才能部署使用。

billing.png

我也是选择了使用信用卡支付(有优惠),如果你没有信用卡,可以选择支付宝方式充值,付款之后,就可以看到账户的钱多了

三、选择 VPS 服务

首先,位置很重要!我们如何选择呢,当然有科学的办法,ping它!

echo ===========================================
echo 东京
ping hnd-jp-ping.vultr.com
echo ============================================
echo 新加坡
ping sgp-ping.vultr.com
echo ===========================================
echo (AU) Sydney, Australia[悉尼]
ping syd-au-ping.vultr.com
echo ===========================================
echo 德国 法兰克福
ping fra-de-ping.vultr.com
echo ===========================================
echo 荷兰 阿姆斯特丹
ping ams-nl-ping.vultr.com
echo ===========================================
echo 英国 伦敦
ping lon-gb-ping.vultr.com
echo ===========================================
echo 法国 巴黎
ping par-fr-ping.vultr.com
echo ===========================================
echo 美东 华盛顿州 西雅图
ping wa-us-ping.vultr.com
echo ===========================================
echo 美西 加州 硅谷
ping sjo-ca-us-ping.vultr.com
echo ===========================================
echo 美西 加州 洛杉矶
ping lax-ca-us-ping.vultr.com
echo ===========================================
echo 美东 芝加哥
Chicago, Illinois[美东 芝加哥]
ping il-us-ping.vultr.com
echo ===========================================
echo 美中 德克萨斯州 达拉斯
ping tx-us-ping.vultr.com
echo ===========================================
echo 美东 新泽西
ping nj-us-ping.vultr.com
echo ===========================================
echo 美东 乔治亚州 亚特兰大
ping ga-us-ping.vultr.com
echo ===========================================
echo 美东 佛罗里达州 迈阿密
ping fl-us-ping.vultr.com

因人而异,在中国不同的地理位置,不同网络服务商访问国外服务器速度也不一样的。

据说东京的服务器丢包比较严重,看来是真的

ping.png

ping完上面的服务器,选择了 加州 的服务器节点,响应很快

ping2.png

四、创建VPS

左侧菜单栏Servers,点击加号,如下图:
add.png

选择VPS的位置,如下图:

server-location.png

选择操作系统,我选择了Ubuntu最新版,建议选择最新镜像,如下图:

server-type.png

选择价格,价格提供多个选择,$2.5美元的只提供IP6,如果想要 IP4 需要额外收费,除非你的网络支持IP6,否则还是乖乖跟我一样,选个便宜的 $5美元吧 如下图:

server-size.png

点击最下面的Deploy Now,如下图:

deploy.png

在部署完服务器后,等待其安装系统,直到服务器状态(Status)显示的是绿色的Running,表示安装完毕并正在运行。 类似下图,因为我的这个已经使用过了,所以价格显示已使用 $0.14,默认刚创建是 $0.01 美元

servers.png

然后点击这个服务器,查看服务器参数与状态

server-info.png

三个框框里,最左边的是总流量与本月已使用流量,最右边是此服务器本月所用费用。主要是看下面的列表,地点是美国NewJersey,IP地址,登陆的账号名root,密码(这个是初始随机密码,登陆系统后可以改)。

利用IP地址(SSH的接口是22,唯一接口),账号名root,和初始密码就能登陆你的服务器进入系统了。

五、通过SSH登陆服务器

如果你是windows系统,那么可以下载 Shell工具 等,这类工具较多,安装配置过程非常简单,省略。。

xshell.png

我用的是Mac电脑,自带SSH链接,所以,直接看下面的操作吧。

ssh.png

六、服务端 ShadowSocks 安装

1、登录SSH

➜  ~ ssh root@45.77.0.151
The authenticity of host '45.77.0.151 (45.77.0.151)' can't be established.
ECDSA key fingerprint is SHA256:LnP5uaOBhNIgzTxHephYSPAcml3MWnk1hs9hfM1BbLc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '45.77.0.151' (ECDSA) to the list of known hosts.
root@45.77.0.151's password:
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-22-generic x86_64)
* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage
System information as of Thu Jul 12 08:45:06 UTC 2018
System load:  0.07              Processes:           85
Usage of /:   8.4% of 24.55GB   Users logged in:     0
Memory usage: 12%               IP address for ens3: 45.77.0.151
Swap usage:   0%
0 packages can be updated.
0 updates are security updates.
root@vultr:~#

2、更新环境

[root@vultr ~]# apt-get

3、一键安装 shadowsocks

安装大致分为3部分,依次执行如下命令

# 下载 shadowsocks.sh 文件
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
# 赋予 shadowsocks.sh 文件可执行权限
chmod +x shadowsocks.sh
# 安装 shadowsocks
./shadowsocks.sh 2>&1 | tee shadowsocks.log

下载 shadowsocks.sh 文件

Shadowsocks Python版一键安装脚本, 适用于:CentOS / Debian / Ubuntu

root@vultr:~# wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
--2018-07-12 08:48:12--  https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.40.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.40.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13738 (13K) [text/plain]
Saving to: ‘shadowsocks.sh’
shadowsocks.sh                  100%[=====================================================>]  13.42K  --.-KB/s    in 0s
2018-07-12 08:48:12 (126 MB/s) - ‘shadowsocks.sh’ saved [13738/13738]

赋予 shadowsocks.sh 文件可执行权限

root@vultr:~# chmod +x shadowsocks.sh

安装 shadowsocks

输入命令:./shadowsocks.sh 2>&1 | tee shadowsocks.log 依次安装提示,输入密码、端口、加密方式即可。

root@vultr:~# ./shadowsocks.sh 2>&1 | tee shadowsocks.log
#############################################################
# One click Install Shadowsocks-Python server               #
# Intro: https://teddysun.com/342.html                      #
# Author: Teddysun <i@teddysun.com>                         #
# Github: https://github.com/shadowsocks/shadowsocks        #
#############################################################
Please enter password for shadowsocks-python
(Default password: teddysun.com):123456
---------------------------
password = 123456
---------------------------
Please enter a port for shadowsocks-python [1-65535]
(Default port: 16189):2018
---------------------------
port = 2018
---------------------------
Please select stream cipher for shadowsocks-python:
1) aes-256-gcm
2) aes-192-gcm
3) aes-128-gcm
4) aes-256-ctr
5) aes-192-ctr
6) aes-128-ctr
7) aes-256-cfb
8) aes-192-cfb
9) aes-128-cfb
10) camellia-128-cfb
11) camellia-192-cfb
12) camellia-256-cfb
13) chacha20-ietf-poly1305
14) chacha20-ietf
15) chacha20
16) rc4-md5
Which cipher you'd select(Default: aes-256-gcm):7
---------------------------
cipher = aes-256-cfb
---------------------------
Press any key to start...or Press Ctrl+C to cancel
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
wget is already the newest version (1.19.4-1ubuntu2.1).
... 省略安装过程  ...
INFO: loading config from /etc/shadowsocks.json
2018-07-12 08:50:35 INFO     loading libcrypto from libcrypto.so.1.1
Starting Shadowsocks success
Congratulations, Shadowsocks-python server install completed!
Your Server IP        :  45.77.0.151
Your Server Port      :  2018
Your Password         :  123456
Your Encryption Method:  aes-256-cfb
Welcome to visit:https://teddysun.com/342.html
Enjoy it!

4、shadowsocks 配置文件

查看 shadowsocks 配置文件内容

root@vultr:~# cat /etc/shadowsocks.json
{
    "server":"0.0.0.0",
    "server_port":2018,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"123456",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}

多端口(可选,配置了单端口就不要配置这个,反正我没配置多端口)多端口的配置文件如下

{
    "server": "0.0.0.0",
    "port_password": {
        "8381": "password1",
        "8382": "password2",
        "8383": "password3",
        "8384": "password4"
    },
    "timeout": 300,
    "method": "aes-256-cfb"
}

我采取的是单端口默认配置,未修改任何东西

5、关闭配置防火墙

root@vultr:~# systemctl stop firewalld.service

6、配置 Google BBR 加速

什么是BBR

TCP BBR是谷歌出品的TCP拥塞控制算法。BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。

Google提交到Linux主线并发表在ACM queue期刊上的TCP-BBR拥塞控制算法。继承了Google“先在生产环境上部署,再开源和发论文”的研究传统。TCP-BBR已经再YouTube服务器和Google跨数据中心的内部广域网(B4)上部署。由此可见出该算法的前途。

TCP-BBR的目标就是最大化利用网络上瓶颈链路的带宽。一条网络链路就像一条水管,要想最大化利用这条水管,最好的办法就是给这跟水管灌满水。

BBR解决了两个问题:

  • 在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。

  • 降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。

对于TCP单边加速,并非所有人都很熟悉,不过有另外一个大名鼎鼎的商业软件“锐速”,相信很多人都清楚。特别是对于使用国外服务器或者VPS的人来说,效果更佳。

查看系统版本

当然,我的最新系统是支持BBR的

root@vultr:~# uname -a
Linux vultr.guest 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

配置bbr

在文件末尾添加如下内容

root@vultr:~# echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
root@vultr:~# echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

加载系统参数sysctl -p,让其生效

root@vultr:~# sysctl -p
net.ipv6.conf.all.accept_ra = 2
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
root@vultr:~#

使用命令sysctl net.ipv4.tcp_available_congestion_control检查bbr是否已经成功开启

如果返回net.ipv4.tcp_available_congestion_control = reno cubic bbr表示开启成功

root@vultr:~# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr

或者使用 lsmod | grep bbr 命令检查

root@vultr:~# lsmod | grep bbr
tcp_bbr                20480  1

至此,你的服务器BBR开启成功!

7、启动 ShadowSocks 服务

使用ssserver -c /etc/shadowsocks.json -d start命令,启动 ShadowSocks 服务

root@vultr:~# ssserver -c /etc/shadowsocks.json -d start
INFO: loading config from /etc/shadowsocks.json
2018-07-12 09:20:04 INFO     loading libcrypto from libcrypto.so.1.1
started

下面的是关闭,启动成功之后不要执行

8、关闭ShadowSocks服务

使用ssserver -c /etc/shadowsocks.json -d stop命令,关闭 ShadowSocks 服务

root@vultr:~# ssserver -c /etc/shadowsocks.json -d stop
INFO: loading config from /etc/shadowsocks.json
stopped

## 客户端连接ShadowSocks,体会科学上网的魅力

Windos、Mac、IOS、Android 配置方式大同小异,知识界面有点差异,仅此而已。

下载安装客户端

  • MacOS 地址:https://github.com/shadowsocks/ShadowsocksX-NG

  • Windows 地址:https://github.com/shadowsocks/shadowsocks-windows

  • Android 地址: https://github.com/shadowsocks/shadowsocks-android

  • IOS 地址:https://github.com/shadowsocks/shadowsocks-iOS

shadowsocks-client.png

配置

client.png

按照你自己的配置完成之后,点击确定,启动系统代理,灰色的小飞机就会亮起来,如下图:

client-info.png

打完了飞机,接下来试试YouTube、Google好不好使

youtube.png

速度 66666666 到 飞起

未经允许请勿转载:程序喵 » Vultr VPS搭建 ShadowSocks 教程,附有 BBR 加速配置

点  赞 (0) 打  赏
分享到: