Blog icon indicating copy to clipboard operation
Blog copied to clipboard

基于Vultr平台的VPS搭建Shadowsocks

Open Luis-X opened this issue 7 years ago • 0 comments

基于Vultr平台的VPS搭建Shadowsocks

@Vultr|center|300x0

Vultr服务商虽然是从2014年才开始提供云VPS主机服务产品的,但是其背景还是相当实力雄厚的,来自著名的游戏服务器提供商,正是因为其全球范围的服务器部署优势,从一开始就直接上线14个自营数据中心机房,这个在同行业中数据中心数量算是领先的。

@shadowsocks|center|100x0

shadowsocks是一种基于Socks5代理方式的网络数据加密传输包,并采用Apache许可证、GPL、MIT许可证等多种自由软件许可协议开放源代码。shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。

在天朝,shadowsocks也被广泛用于突破防火长城(GFW),以浏览被封锁、屏蔽或干扰的内容。

概念

独立服务器

独立服务器,顾名思义,就是一个躺在机房的实实在在的物理服务器,也可理解为你的游戏主机一样。

VPS

Virtual Private Serve,虚拟专用服务器,是介于传统虚拟主机和独立服务器之间的产品,又称合租服务器,是利用高端的虚拟技术将一台服务器分割成多个虚拟独享服务器( VPS ) , 每个 VPS 运行管理和独立主机完全一样,都可分配到独立公网 IP 地址、独立操作系统、独立超大空间、独立内存、独立 CPU 资源、独立执行程序等。

用户除了可以分配多个虚拟主机及无限企业邮箱外,更具有独立服务器功能,可自行安装程序,单独重启服务器。

ECS

Elastic Compute Service,云服务器,是一个计算,网络,存储的组合。

云服务器(Elastic Compute Service,简称ECS)是一种简单高效、处理能力可弹性伸缩的计算服务, 帮助您快速构建更稳定、安全的应用,提升运维效率,降低IT成本,使您更专注于核心业务创新。

Vhost

Virtual hosts,虚拟主机,是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。

所谓虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能。

一、在Vultr创建服务器

  1. 访问Vultr官网,点击**「Create Account」,填写账号、密码**(至少10位、含英文大小写 & 数字)。 |center|500x0

  2. 进入**「Billing」**页面,选择金额和支付方式,充值即可。 |center|500x0

  3. 进入**「Servers」**页面,选择加号图标,部署新实例。 |center|500x0

  4. 选择节点之前先测试一下vultr节点的响应速度(延迟越小越好) https://ping.gaomeluo.com/vultr/

  5. 进入**「Server Location」**选项,选择一个美国区域节点。 |center|500x0

  6. 进入**「Server Type」**选项,选择一个操作系统,按时收费。 |center|500x0

  7. 进入**「Server Size」**选项,选择一个服务器配置。 |center|500x0

  8. 创建成功。 |center|500x0

  9. 进入刚刚**「创建的Server」**详情页面,显示该VPS的IP、Username、Password等信息。 |center|500x0

  10. 右上角有**「View Console」**按钮,可以打开控制台登录VPS。 |center|500x0

二、在Mac上远程登录VPS

  1. 在**「终端」**中,输入下面的命令并回车。注意把 IP地址 替换成你服务器的IP地址。
ssh [email protected]
# 无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?
# 选择yes
# 输入密码,即可登录成功

|center|500x0

三、部署 Shadowsocks

  1. 使用root用户登录,运行以下命令:
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

|center|500x0

  1. 依次设置如下信息。

    1.设置Shadowsocks服务的密码。 2.设置Shadowsocks服务的端口号(在1–65535之间)。 3.设置Shadowsocks服务的加密方式(可以选择ase-256-cfb)。 4.部署完成,获取配置信息(服务IP,服务端口,密码,加密方式)。

|center|500x0

|center|500x0

四、开启TFO(TCP Fast Open)

TCP Fast Open是一种能够在TCP连接建立阶段传输数据的机制。使用这种机制可以将数据交互提前,降低应用层事务的延迟。

为了改善web应用相应时延方面的一个工作,google通过修改TCP协议利用三次握手时进行数据交换的TFO。和TCP相比TFO在3次握手期间也会传输数据。TFO是GOOGLE发布的。目前chrome已经支持TFO,但默认是关闭的,因为它有一些特定的使用场景。

为了更好的连接速度,你还需要多做几步,打开TCP Fast Open。

@TFO|center|200x0

  1. 配置rc.local
nano /etc/rc.local
# 添加 echo 3 > /proc/sys/net/ipv4/tcp_fastopen

|center|500x0

  1. 配置sysctl.conf
nano /etc/sysctl.conf
# 添加 net.ipv4.tcp_fastopen = 3

|center|500x0

  1. 配置shadowsocks.json
nano /etc/shadowsocks.json
# 修改 "fast_open"为true

|center|500x0

  1. 重启shadowsocks服务
/etc/init.d/shadowsocks restart

shadowsocks扩展:

  1. shadowsocks.json文件,可以配置多用户多端口,例如:
{
		"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
}
  1. shadowsocks使用命令
# 启动
/etc/init.d/shadowsocks start
# 停止
/etc/init.d/shadowsocks stop
# 重启
/etc/init.d/shadowsocks restart
# 状态
/etc/init.d/shadowsocks status

五、部署BBR加速工具

一般而言,服务器本身的速度是决定我们项目打开速度、下载速度的关键,但是我们也可以借助第三方软件工具等提高加速效果,比如我们肯定很多人都熟悉的锐速、Net-Speeder可以双倍发包流量,可以减少超时和提高下载速度。谷歌发布开源Google BBR工具,可以提高发包数据量,起到加速作用。

  1. 一键安装BBR

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

     lsmod | grep bbr
     # 返回值有tcp_bbr模块,说明bbr已启动
    

六、大功告成,感受非一般的感觉吧。👻👻👻

|center|200x0

参考文章

Luis-X avatar Feb 04 '18 09:02 Luis-X