VPS小机场搭建指南

想出外面看看,最方便的是直接买别人建好的机场,但这种方法不安全(你的流量可以被商家监控),费用高(一般一个月大概20左右),速度低(服务器超载速度低),无保障(跑路的很多)。所以为了方便,最近建了一个小机场,供自己和朋友一起使用,将搭建过程记录下来。

主要参考如下:
Shadowsocks Python版一键安装脚本——秋水逸冰
撸主机

租用VPS

VPS网上有很多家,出名的搬瓦,Vultr等等已经被国内用烂了,IP很多被封掉了。偶然在撸主机上看到了Cloudcone,尝试使用了一下。

VPS配置

小机场只需要最低配,Cloudcone最低配的活动价(网上可以找到)是3刀,折合人命币20元,流量1T,供十个人使用不是问题,均摊就很便宜了,最近优惠链接点此,具体配置如下:

1 vCPU Core
1GB RAM
20GB HDD
1 x IPv4 & 3 x IPv6
1 TB on 1Gb/s Bandwidth
Free AnyCast DNS

当然了用作机场,建站爬虫等也可以使用,价值比租用别人的机场大多了。

免费更换IP

刚建好一个实例后,IP可以ping通,但是使用ssh连接不上,应该是IP被封掉了,需要更换IP。Cloudcone是按时计费的,所以在一个小时内可以免费将创建的实例删除掉。但是更换IP必须先再创建一个实例,再将原来的实例删除掉,否则IP不变,这就要保证账户充值够两个月的费用。执行如下命令,直到连接成功。

# 假设IP为188.88.88.88
ssh root@188.88.88.88 -p 22

远程连接VPS

VPS基本都是Linux,搭建机场前首先要对其进行远程登录,登陆后即可对VPS进行各种操作,这里首推使用Cloud Studio进行远程登录,可以随时切换设备直接使用网页进行操作。

你也可以在windows上安装ssh工具或者直接使用linux系统ssh连接

首先进入Cloud Studio创建一个工作空间(其实就是一个在线版的linux系统),然后使用创建并复制公钥(一般新建的工作空间公钥已经生成),具体参考生成 SSH 公钥
打开Cloudcone,点击右上角头像,选择SSH Keys将刚才复制的公钥添加进去,然后进入实例Manager->SSH Keys选择相应的Key。
在Cloud Studio中执行

ssh root@188.88.88.88 -p 22

第一次登陆需要输入服务器密码,如果忘记可以进入Manager->Access重置密码。
登陆成功后,执行(该步骤为Manager->SSH Keys中step2,注意cc-ikey)

curl -o cc-ikey -L web.cloudc.one/sh/key && sh cc-ikey ccikeyexam

这样以后每次ssh登陆就不需要输入密码了。

Cloudcone的VNC可以不需要ssh登陆在线操作,但是很难用

升级内核并开启BBR加速

参考Ubuntu内核升级以及如何开启BBR加速

升级内核

几次升级内核后VPS挂掉了,还不确定什么因素
Ubuntu开启BBR的前提是内核必须等于高于4.9,ssh登陆VPS后,首先执行如下命令查看内核版本

uname -a

getconf LONG_BIT命令查看系统位数,并到http://kernel.ubuntu.com/~kernel-ppa/mainline/ 找到4.9以上内核

# 下载64位4.10.2的内核:
sudo wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.2/linux-image-4.10.2-041002-generic_4.10.2-041002.201703120131_amd64.deb
# 安装
sudo dpkg -i linux-image-4.10.2-041002-generic_4.10.2-041002.201703120131_amd64.deb
# 更新引导
sudo update-grub

最后重启VPS,并确认内核版本
在安装内核过程中会出现选项,选择覆盖

开启TCP BBR

# 修改系统变量
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 保存生效
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control

如果返回结果BBR开启成功

net.ipv4.tcp_available_congestion_control = bbr cubic reno

也可以执行

lsmod | grep bbr

安装SS

一键安装shadowsocks(ss)

参考Shadowsocks Python版一键安装脚本

ssh登陆VPS后,执行

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

注意加密方式选择aes-256-cfb

安装完成后提示

Congratulations, Shadowsocks-python 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/342.html
Enjoy it!

单/多用户配置文件修改

注意更改后运行/etc/init.d/shadowsocks restart重启ss

配置文件路径:/etc/shadowsocks.json
单用户配置文件

{
    "server":"0.0.0.0",
    "server_port":your_server_port,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"your_password",
    "timeout":300,
    "method":"your_encryption_method",
    "fast_open": false
}

多用户配置文件

{
    "server":"0.0.0.0",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
         "8989":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "timeout":300,
    "method":"your_encryption_method",
    "fast_open": false
}

卸载

./shadowsocks.sh uninstall

命令

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

测试

参考SuperBench.sh 一键测试服务器的基本参数

执行

wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash

结果如下
superbenchtest

安装shadowsocks客户端

下载

shadowsock-windows下载
shadowsock-ios下载
shadowsock-linux下载
shadowsock-android下载

使用(windows)

如图填入服务器地址,密码,端口号,加密方式
ssconfig
设置如图,记得点击从GFWList更新本地PAC
sssettings
最后点击确定即可使用。