✈️搭个小飞机

How to “Fly” by
Shadowsocks + Vultr VPS ?!

简单说下Shadowsocks

工作原理

Shadowsocks客户端启动后会在本地开启一个代理,可以理解为一个数据的出入口。

用户想通过Shadowsocks访问墙外网站的请求都要经过这个本地代理。 1

以上为小飞机(Shadowsocks)于PAC模式大概的工作流程,全局模式的话就去掉GFW判定咯。

模式选择

但实际上模式的选择一般会存在两种情况:

  1. 受访网站并不在GFW内(没被墙),但浏览很慢(一般是国外站点),改用全局模式能加速;

  2. 受访网站并不在GFW内,采用全局模式反而会降低响应速度(一般是国内站点),此时应切回PAC模式或关闭SS。

所以可根据具体情况进行模式选择。


租个VPS服务器(譬如Vultr)

要自己搭小飞机,先得有机场(服务器)。

网络上有很多选择,如:VultrBandwagonHost(搬瓦工)……

具体选择看自身情况,反正我是用Vultr的。

所以👇下面按Vultr写。

注册

打个小广告
点击👆上面推广链接注册貌似我会有进账0.0

充值

完成注册后进入管理界面

👈左边菜单有个Billing
点开在Make Payment下可以选择付款方式(支持Credit Card、Paypal、Bitcoin等)

妥妥的 Alipay 已上线
起步价 $10.00 ! 那就先来$10呗

VPS选择

完成充值后

选择菜单的 Servers 添加服务器
+ Deploy New Server

Vultr Cloud Compute (VC2) 下选择适合的服务器
Location会有🇬🇧🇺🇸🇫🇷🇩🇪🇦🇺🇳🇱🇯🇵🇸🇬多个国家选择,原则上选比较靠近的好,不过廉价VPS都被抢得七七八八了
所以暂时可选又便宜的就是🇺🇸美国纽约:$2.50/mo,虽然在东岸=.=

有需求的可以选更高配置更贵的
不过作为个人用的小机场,乞丐版$2.50的也就够了

500G/mo的流量我还用不了1/10=。=

安装系统

系统选择 CentOS 7 x64
其他也不用怎么选

Deploy Now!!!

等installing…滚完也就OK了

完成后点开服务器管理
左边会看到VPS的相关信息:

Location: 🇺🇸New Jersey
IP Address: 11.11.11.11 ←VPS IP地址
Username: root ←默认的用户名
Password: ······ ←密码,可复制到Clipboard

SSH

登陆

OSX / Linux可直接使用终端工具
打开终端

ssh root@**.**.***.***
root@**.**.***.***'s password:
[root@vultr ~]#

输入/粘贴 密码登陆,显示[root@vultr ~]#则登陆进去了

Windows用户可以用Putty

修改root密码

root密码还是改改的好,登陆状态下输入以下指令进行修改

passwd

然后按步骤操作确认修改


Shadowsocks安装

安装 2

偷懒一下使用一键脚本(by 秋水逸冰

Shadowsocks-Go

登陆root,运行如下指令:

wget --no-check-certificate -O shadowsocks-go.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
chmod +x shadowsocks-go.sh
./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log

完成安装后,脚本提示如下:

Congratulations, Shadowsocks-go server install completed!
Your Server IP        :your_server_ip
Your Server Port      :your_server_port
Your Password         :your_password
Your Encryption Method:your_encryption_method

Welcome to visit:https://teddysun.com/392.html
Enjoy it!

默认配置

服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(如不设定,默认为 aes-256-cfb)

各种Shadowsocks

Shadowsocks有各种版本:
– Shadowsocks – Python
– Shadowsocks – R
– Shadowsocks – Go
– Shadowsocks – Libev

附:秋水逸冰 4in1 一键脚本

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

卸载

./shadowsocks.sh uninstall

使用指令

启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status

多用户配置

配置文件路径:/etc/shadowsocks/config.json

默认配置如下:

{
    "server":"127.0.0.1",
    "server_port":8388,
    "local_port":1080,
    "local_address":"127.0.0.1",
    "password":"barfoo!",
    "method": "aes-128-cfb-auth",
    "timeout":600
}

可以对该文件进行修改实现多用户配置

vi /etc/shadowsocks/config.json

按”i“键进入编辑状态,参考如下修改:

{
    "server":"0.0.0.0",
    "local_port":1080,
    "port_password":{
        "1234":"userpwd01",
        "5678":"userpwd02"
        },
    "method":"aes-256-cfb",
    "timeout":600
}

其中:
"1234":"userpwd01", 为开放端口及其对应密码,
"method":"aes-256-cfb", 为加密方式。

编辑完成后按”ESC“键退出编辑模式,键入”:wq“,回车进行保存退出。

Shadowsocks Clients 3

Shadowsocks Server搭建完成后,需安装客户端实现科学上网。

  • OSX
    ShadowsocksX-NG
    https://github.com/shadowsocks/ShadowsocksX-NG/releases

  • iOS
    Wingy
    AppStore找找

  • Windows
    Shadowsocks-Win
    https://github.com/shadowsocks/shadowsocks-windows/releases

  • Android
    Shadowsocks-Android
    https://github.com/shadowsocks/shadowsocks-android/releases


其他

开启BBR加速

TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google设计,于2016年发布的拥塞算法。以往大部分拥塞算法是基于丢包来作为降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最大带宽和往返时间来创建网络的显式模型。数据包传输的每个累积或选择性确认用于生成记录在数据包传输过程和确认返回期间的时间内所传送数据量的采样率。该算法认为随着网络接口控制器逐渐进入千兆速度时,分组丢失不应该被认为是识别拥塞的主要决定因素,所以基于模型的拥塞控制算法能有更高的吞吐量和更低的延迟,可以用BBR来替代其他流行的拥塞算法,例如CUBIC。Google在YouTube上应用该算法,使网络吞吐量平均高出了4%,有些国家高达14%。
BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 4

简单的说就是:加速
反正具体我不懂=.=,秋水逸冰大神脚本再走一波!5

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入”y“并回车后重启。

重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

uname -r

查看内核版本,显示为最新版就表示 OK 了

sysctl net.ipv4.tcp_available_congestion_control

返回值一般为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno

sysctl net.ipv4.tcp_congestion_control

返回值一般为:
net.ipv4.tcp_congestion_control = bbr

sysctl net.core.default_qdisc

返回值一般为:
net.core.default_qdisc = fq

lsmod | grep bbr

返回值有 tcp_bbr 模块即说明 bbr 已启动。

注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。

Firewall

CentOS 7采用Firewalled防火墙
多用户模式需要开启对应端口以生效

添加端口

e.g. 开启1234端口TCP/UDP:

sudo firewall-cmd --permanent --zone=public --add-port=1234/tcp
sudo firewall-cmd --permanent --zone=public --add-port=1234/udp

--permanent永久生效,没有此参数重启后失效

删除端口

firewall-cmd --zone=public --remove-port=1234/tcp --permanent
firewall-cmd --zone=public --remove-port=1234/udp --permanent

重载防火墙

firewall-cmd --reload

添加/删除端口后需重载以生效

查看端口列表

firewall-cmd --zone=public --list-ports

REF

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top