本文主要列举了几种vps(OpenVZ、Xen、KVM)一键搭建shadowsocks服务端,优化TCP,优化内核中的拥塞算法以提升shadowsocks效率和速度的方法.
一键安装
一键安装脚本这里参照的是”秋水逸冰”的博文及脚本,出于低内存占用考虑,均为shadowsocks-libev.这里以操作系统的版本为分类进行阐述:
Debian或Ubuntu下:
安装方法:
脚本备份(点击展开):
卸载方法:
配置文件路径:
/etc/shadowsocks/config.json
/etc/shadowsocks/config.json
启动(安装完成后已设置开机自启动):
停止:
上面的命令获得一个数字(pid),然后再使用kill+空格+这个数字 即可.
CentOS下:
安装方法:
脚本备份(点击展开):
卸载方法:
配置文件路径:
常用指令:
TCP性能优化:
这里参照北落师门的方案,按VPS的技术类型对Xen、KVM和OpenVZ分开阐述:
Xen、KVM:
修改/etc/sysctl.conf文件,增加以下项目:
保存并退出该文件,然后使用以下指令使配置生效:
如果显示出了生效信息且没有显示出错信息,则优化完成.
OpenVZ:
对于OpenVZ,如果直接使用以上方法修改,当sysctl -p会发现一堆的permission denied出错信息.
谷歌了下,据说是因为OpenVZ模版的限制比较多直接修改sysctl会被拒绝,(网上有部分文章有关于openvz去除sysctl.conf报错的文章,其实只是自我安慰的疗法)因此以上优化方案在OpenVZ下不可用.
谷歌了下,据说是因为OpenVZ模版的限制比较多直接修改sysctl会被拒绝,
优化拥塞算法Hybla :
这部分参照了V2EX上的tcp_hybla 编译内核模块的教程.
这一步本人在Linode上实验成功.(Linode是Xen的),系统为Ubuntu,其他系统没有尝试.当然据说Digital Ocean (DO是KVM模板)上的ubuntu官方内核自带了,可略去编译部分,直接调用hybla算法.(补充:经本人测试,Digital Ocan上,直接在/etc/sysctl.conf文件中加入hybla参数就可以直接调用了.如果你是Digital Ocan的话,恭喜你,直接跳到下面方法的第九步)
这一步本人在Linode上实验成功.(Linode是Xen的),系统为Ubuntu,其他系统没有尝试.
由于本人对此部分了解有限,完全是照着原文操作成功的,现转载此部分内容,以作备用:
1. 查看你的机器内核版本:
显示结果如: 3.11.6-x86_64-linode35
2. 去 https://www.kernel.org/pub/linux/kernel/v3.0/ 下载相同版本的源码到任意目录,解压
3. 安装内核编译工具
4. 复制Linode原来的内核编译配置文件到源码根目录,在CONFIG_TCP_CONG_CUBIC=y下面增加一行 CONFIG_TCP_CONG_HYBLA=y,再生成编译模块需要的内核
查找CONFIG_TCP_CONG_CUBIC=y,在下面增加一行 CONFIG_TCP_CONG_HYBLA=y,保存
5. 耐心等待编译内核完成,单核编译大约需15分钟,完成后,进入模块所在的目录,编写Makefile
以下是Makefle的内容,注意要把KDIR修改为你自己的源码路径,其他则照抄就可以了
6.进入源码根目录,编译模块
7.进入到模块所在目录,复制生成的 tcp_hybla.ko 到加载目录,测试加载模块
加载前
加载后
设置hybal为优先
8.设置开机自动加载模块,把tcp_hybla.ko 复制到 /lib/modules/3.11.6-x86_64-linode35/kernel/net/ipv4
9.修改/etc/sysctl.conf 开机自动设置hybal为优先
保存并退出该文件,然后使用以下指令使配置生效:
没有评论:
发表评论