教育网ipv6+shadowsocks的搭建与优化

鉴于目前教育网内ipv6的不计费特性,用ipv6上网对于学生(尤其是开发者)更为适合。买个VPS一个月就5美刀,除了科学上网还可以用来做其他很多事,还是比较合算的。前前后后折腾了几次,写个比较全的教程希望对读者有所帮助。

shadowsocks的搭建

本部分请参考: Shadowsocks Python版一键安装脚本—-秋水逸冰

主要步骤如下:

  1. 注册并购买VPS。以Digital Ocean为例,购买需要Credit Card(国内信用卡不行)或者paypal(国内可用)。建议选择San Francisco服务器,5美刀/month已经够用了。由于服务器按小时计费(小时价格×24×30=5美刀),所以可以方便更换服务器地址以及内核等。点击此链接注册可送10美元优惠:https://www.digitalocean.com/?refcode=e5bdc0196098

    此外,可以考虑Vultr的洛杉矶线路,魔方云的新加坡线路等。

  2. 搭建shadowsocks。感谢clowwindy菊苣的付出。多端口搭建见秋水逸冰的教程,样例配置文件如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    {
    "server":"::",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
    "8989":"password0",
    "9001":"password1",
    "9002":"password2",
    "9003":"password3",
    "9004":"password4"
    },
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
    }
  3. 维护常用的几个命令
    修改配置文件:vi /etc/shadowsocks.json (按i编辑,按Ctrl+C退出编辑,:x保存并退出)
    启动:/etc/init.d/shadowsocks start
    停止:/etc/init.d/shadowsocks stop
    重启:/etc/init.d/shadowsocks restart
    状态:/etc/init.d/shadowsocks status
    卸载:需要root用户权限,运行./shadowsocks.sh uninstall
    更新:pip install -U shadowsocks

本地使用

浏览器:推荐chrome或firefox
下载软件: idm + 迅雷极速版
社交软件: QQ(设置socks5代理)
其他软件代理: Proxifer或ProxyCap

速度优化

注意锐速对于ipv6无效。锐速与finalspeed比较暴力,相比之下bbr算法更“智能”些,具体效果因环境而已,建议用户自己实测。

服务器内核参数优化

引用自http://wuchong.me/blog/2015/02/02/shadowsocks-install-and-optimize/

环境要求:Linux 3.5及以上

第一步,增加系统文件描述符的最大限数
编辑limits.conf

1
vi /etc/security/limits.conf

增加以下两行

1
2
* soft nofile 51200
* hard nofile 51200

运行

1
ulimit -n 51200

第二步,调整内核参修改配置文件/etc/sysctl.conf

1
vi /etc/sysctl.conf

调整后参数如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fs.file-max = 51200

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla

修改后运行

1
sysctl -p

使用锐速加速

最新更新:锐速官方停止维护,破解带宽无限制版见91yun

锐速提供的免费套餐已经够用,先要去官网注册,以及确定自己的内核是否在锐速的支持列表里,如果不在则需要更换内核
支持内核:http://my.serverspeeder.com/ls.do?m=availables
部署手册:http://my.serverspeeder.com/downloadlsManual_cn.jsp
官方Q & A:http://my.serverspeeder.com/downloadlsQA_cn.jsp

安装锐速(其中有步骤需要你输入账号密码,其他直接回车就行)

1
2
3
wget http://my.serverspeeder.com/d/ls/serverSpeederInstaller.tar.gz
tar xzvf serverSpeederInstaller.tar.gz
bash serverSpeederInstaller.sh

编辑配置文件

1
vi /serverspeeder/etc/config

修改以下参数:(原教程加入了rsc="1" #RSC网卡驱动模式,不过我发现并没有卵用就没设置)

1
2
advinacc="1" #流量方向加速  
maxmode="1" #最大传输模式

重启

1
service serverSpeeder restart

finalspeed加速

加速效果很明显,但是作者已经停止维护并删除了github的代码,一键安装包见91yun

BBR算法

16年末开源后就大火的 TCP BBR 拥塞控制算法,通过测试(DigitalOcean SFO VPS)能将速度提高几十倍,当然跟当地网络有挺大关系(如西安测试效果很弱,北京效果显著)。安装见一键配置教程

安装时要注意内核问题,如 DigitalOcean 需要设置VPS可自定义内核,见教程,主要步骤如下:

  1. 在 Droplet 面板中点击Kernel,选择kernel为DigitalOcean GrubLoader v0.2 (20160714) CentOS,点击Change
  2. 登陆 VPS 输入 sudo poweroff
  3. 在 Droplet 面板中点击Power,点击Power On启动 VPS。

完成以上步骤后就可以进行一键安装了。

自定义代理域名

主要步骤:

  1. 去godaddy.com或name.com买一个,同样需要非国内信用卡或paypal。
  2. 使用godaddy的Domain Manager(不过我习惯用dnspod,把DNS重定向到dnspod了)
    记录如下:黑色打码部分,上一行填的是服务器ipv4地址,下一行是ipv6地址