使用DigitalOcean搭建ShadowSocks服务器环境实现科学上网及优化

买国外的VPS

比较知名且性价比高的有DigitalOcean搬瓦工Vultr
推荐去DigitalOcean买,可以使用我的推荐链接digitalocean.com,注册获得10刀的额度
学生可以利用Github Student Package获取50刀的额度,具体方法可以上网搜索,有很多。
注册时需要使用信用卡或者paypal付款5刀进行验证,之后才可以使用。如果学生优惠券不能用,给客服发工单即可解决。

购买时建议买最低配5$一个月的,系统选择Ubuntu14.0x 64位,还有一些其他配置看你需求。

安装配置shadowsocks服务器端

之后会发邮件告诉你密码,用ssh登录并更改密码即可。
然后依次执行下面的代码

  • 更新源

    sudo apt-get update
    sudo apt-get upgrade
  • 安装pip

    apt-get install python-pip
    pip install shadowsocks
  • 配置shadowsocks参数

    vim /etc/ssconfig.json

服务器参数为”::”,用于同时支持ipv6和ipv4

{
"server": "::",
"server_port": 8388,
"local_port": 1080,
"password": "passwd",
"timeout": 300,
"method": "aes-256-cfb"
}

后台启动shadowsocks server

ssserver -c /etc/ssconfig.json -d start

安装配置客户端

Windows环境下载最新客户端
并配置其服务器地址,可以配置一份ipv6地址用于教育网客户端免流量上网,然后启用系统代理,采用PAC模式,即可访问墙外网站啦
Windows配置

安装TCP加速软件(锐速或BBR)

单纯安装完ss后的网络速度可能不能够满足我们的需求,这时可以选择安装锐速或者开启TCP BBR拥塞控制算法(两者目前不能同时安装,由于linux内核原因)。下面分别介绍。
在Ubuntu14.04环境下,锐速要求linux内核版本为4.2.0-35-generic,而BBR要求linux内核在4.9以上。内核版本可以使用uname -r查看。
如果内核不符合的,可以对其进行更改。要求vps为KVM架构。
使用如下命令

sudo apt-get install linux-image-extra-4.2.0-35-generic

BBR则应该使用下载安装包的方式安装

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.17/linux-image-4.10.17-041017-generic_4.10.17-041017.201705201051_amd64.deb
dpkg -i linux-image-4.*.deb

当安装完新的内核之后,需要将原来的内核移除掉。使用dpkg -l|grep linux-image命令查看当前内核

sudo apt-get purge linux-image-xxxx-generic linux-image-extra-xxxx-generic

xxxx为linux原来的内核版本号
之后更新 grub 系统引导文件并重启

sudo update-grub
sudo reboot

重启完之后再使用uname -r查看是否成功安装

下面是安装锐速的方法

wget -N --no-check-certificate https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh && bash serverspeeder.sh

下面是开启BBR算法的步骤
使用lsmod | grep bbr查看是否安装了tcp_bbr

modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules
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
sysctl net.ipv4.tcp_congestion_control

如果出现了bbr或者tcp_bbr模块,说明bbr已经开启并启动

注意锐速对ipv6好像没有什么作用,bbr好像可以部分提升ipv6的性能,具体的我也不明白。

###SS代理客户端其他软件
SS客户端上所说的启用系统代理其实只是针对支持系统代理方式上网的软件实现的(绝大多数浏览器都是这样)
其实这时候你使用QQ、微信等软件时,它仍然走的时普通流量,这和VPN是有着本质区别的。
SS只是在本地的1080端口开启了Socks5或者Http代理,不通过这个端口进行网络转发的话和原来的上网方式没有什么区别
那么我如果想利用ipv6实现全局免流量上网时,就需要借助于Proxifier这个神器,来将其他所有软件的流量都发送到ss的代理端口,以实现全局免流量上网。

下面时不同版本的注册码

L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition)
5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Standard Edition)
P427L-9Y552-5433E-8DSR3-58Z68(MAC)

以QQ和微信为例,安装完成后
首先设置Socks5端口,这个是你SS客户端的监听端口,默认为1080,ip为127.0.0.1
服务器设置

然后对不同的软件设置不同的规则,如下图
规则设置
可以选择针对不同软件和不同端口的分别设置,后面的Action有Proxy、Direct和Block三种

  • Proxy就是指使用ss端口进行访问
  • Direct就是不对该软件进行转发,让其自然的直接访问
  • Block就是阻止该软件的网络连接

参考

Github/shadowsocks
ruyetao.com
91yun
github.com/iMeiji