VPS搭建shadowsocks

因为一直在使用shadowsocks的自营节点,所以就没有想到去自己搭建,昨天因为想用Google Drive,就萌生了自己搭建无限流量shadowsocks服务器(以下统称ss)的念头,搜到了前篇说到的ConoHa,折腾了一晚,总算明白了一些“真理”——不要相信广告。

回到正题,下面来总结下ss服务器的搭建过程:

一、首先你要有一个主机(这是废话),不管是云上的,还是你自己的laptop;

二、你要有清醒的头脑,知道自己在干嘛,不要像我一样,一股热血上头,就把钱扔出去了;

三、你的如果是VPS安装,最好是用KVM的(也就是说要用Linux系统),下面的“教程”也是基于此,输入以下代码查询当前环境:

apt-get install virt-what
virt-what

如果是KVM,就会显示KVM;

四、开始安装:

#下载安装包
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev-debian.sh  
#赋予可执行权限
chmod +x shadowsocks-libev-debian.sh
#安装
./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.log

以上步骤成功即搭建完毕;

五、安装加速:

我试用过两种加速,一种是已经停止更新的锐速,一种是BBR,而两种加速安装之前都要先确定内核,如果不符合要求就要事先更换:

#查看内核版本
uname -r

①安装锐速:

如果要安装锐速,如果你的系统是Ubuntu14.04,那么就需要使用3.13.0-24-generic的内核:

#下载并安装内核
sudo apt-get install linux-image-extra-3.13.0-24-generic
#查看现有内核
sudo dpkg --get-selections | grep linux-image
#卸载多余内核
sudo apt-get purge 内核1 内核2 内核3 ……

#更新 grub 系统引导文件
sudo update-grub
#重启
reboot
#查看当前内核
uname -r
#固定内核,避免意外升级
sudo apt-mark hold linux-image

如果你的系统是CentOS6,那么需要更换为2.6.32-504.3.3.el6.x86_64:

rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-firmware-2.6.32-504.3.3.el6.noarch.rpm
rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-2.6.32-504.3.3.el6.x86_64.rpm --force

如果你的系统是CentOS7,那么需要更换为3.10.0-229.1.2.el7.x86_64:

rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force

不过建议还是使用CentOS6.X,而不是7.X;

正式安装:

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

卸载指令:

chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f

其它操作指令:

/serverspeeder/bin/serverSpeeder.sh start #启动锐速
/serverspeeder/bin/serverSpeeder.sh stop #停止锐速
/serverspeeder/bin/serverSpeeder.sh restart #重启锐速
/serverspeeder/bin/serverSpeeder.sh status #锐速运行状态

优化锐速:

打开/serverspeeder/etc目录中的config文件,编辑如下内容:

rsc="1"
gso="1"
maxmode="1"
advinacc="1"

重启锐速服务完成优化:

service serverSpeeder restart

设置开机自启:

在/etc/init.d目录下新建ss_start文件并加入如下内容:

nohup /usr/local/bin/ss-server -c /etc/**/config.json > /dev/null 2>&1 &

在/etc/init.d目录下新建rs_start文件并加入如下内容:

/serverspeeder/bin/serverSpeeder.sh start

设置执行权限:

chmod +x /etc/init.d/ss_start
chmod +x /etc/init.d/rs_start

开启自启:

sudo update-rc.d ss_start defaults 91
sudo update-rc.d rs_start defaults 91

 

②安装BBR:

如果要安装BBR,如果你的系统是Debian 8或者Ubuntu 14,那么需要安装4.9以上的最新内核

#下载对应位数的内核版本
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.5/linux-image-4.10.5-041005-generic_4.10.5-041005.201703220931_i386.deb 
#安装对应的内核
dpkg -i linux-image-4.10.5-041005-generic_4.10.5-041005.201703220931_i386.deb
#删除内核和上面一样
#更新引导和重启也同上

如果你的系统是CentOS6,最新内核点这里

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
#查看是否安装成功
rpm -qa | grep kernel
#删除旧内核
rpm -ev 旧内核
#更新 grub 系统引导文件并重启
sed -i 's:default=.*:default=0:g' /etc/grub.conf
reboot
##开不了机的打开vps后台控制面板的vnc, 开机卡在 grub 引导, 只需要手动选择内核就可以了

如果你的系统是CentOS7,最新内核点这里

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

#查看内核是否安装成功
rpm -qa | grep kernel
#删除旧内核
rpm -ev 旧内核 
#更新 grub 系统引导文件并重启.
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0  #default 0表示第一个内核设置为默认运行, 选择最新内核就对了
reboot
##注意,某些服务商(如Digital Ocean)可能需要首先将VPS配置为可自定义内核,然后grub2的配置才会生效。

正式安装:

#开机后查看当前内核是否4.9以上
uname -r
#执行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
#保存
sysctl -p

#执行-如果结果都有bbr, 则证明内核已开启bbr
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
#检查-看到有 tcp_bbr 模块即说明bbr已启动
lsmod | grep bbr

六、优化内核:
修改/etc/security/limits.conf文件,加入以下内容:

* soft nofile 51200
* hard nofile 51200

修改/etc/pam.d/common-session文件,加入以下内容:

session required pam_limits.so

修改/etc/profile文件,最下面加入以下内容:

ulimit -SHn 51200

修改/etc/sysctl.conf文件,加入如下内容:

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_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla

保存后执行以下命令使配置生效:

sysctl -p

至此,架设&优化ss就全部完成,开始享受流畅的网速吧!

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *