Shadowsocks 服务器的搭建流程

智乎智能(深圳)有限公司.

前言主要介绍如何在ubuntu 18.0 之中搭建Shadowsocks服务器,实现代理上网。功能需求:1.能够支持多设备同账号共用。2.访问速度稳定-由你购买的云服务器带宽决定。3.费用透明,自己把控是否使用。4.使用简单方便。主要步骤:1.需要一台能够访问境外的主机(云服务器),我推荐狗云(DogYun)2.在主机之中搭建Shadowsocks服务器端。3.在pc端使用shadowsocks客户端进行代理设置。配置完毕之后,就能随时随地放心使用了。推广我推荐使用狗云(DogYun)购买自己的境外主机。1.价格便宜-我们如果只要创建Shadowsocks。可以使用最低的配置2.申请方便-注册账号只需要一个邮件地址即可实现注册。如果觉得不合适,我们也可以通过购买阿里云或者腾讯云的境外服务器实现访问需求。https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=w5jkvc5z1.搭建Shadowsockes服务器主要介绍两种搭建方式自己根据官网进行下载,配置,安装。使用其他已经配置好的脚本工具,一键安装配置完毕首先介绍第一种安装方式:自主安装方式[email protected]:~# apt-get update//第一步更新下软件源[email protected]:~# apt-get install python-pip //第二步安装pip环境 如果你有pip可以忽略该步骤 [email protected]:~# pip install shadowsocks //直接通过pip安装shadowsocksShell安装加密方式库[email protected]:~# apt-get install python-m2cryptoShell到这里就安装完毕了。然后配置相关信息[email protected]:~# vim /etc/shadowsocks.json//创建配置项{“server”:“0.0.0.0”,“server_port”:11660,“local_address”:“127.0.0.1”,“local_port”:1080,“password”:“”,“timeout”:300,“method”:“aes-256-gcm”}Shell配置项说明:server:您的主机名或服务器IP(IPv4 / IPv6)。server_port:服务器端口号。local_port:本地端口号。password:用于加密传输的密码。timeout:连接超时(以秒为单位)。method:加密方法。官方推荐的加密方法为:“chacha20-ietf-poly1305”或“aes-256-gcm”启动SS(Shadowsocks)服务器[email protected]:~# ssserver -c /etc/shadowsocks.json -d startShell也可以采用其他人已经封装过的脚本实现。快速安装与配置采用脚本进行安装建议CentOS 7 比较合适,CentOS 8 会在安装python 时出现[Error] Failed to install python 。因为8之后的安装只能是python2,或者python3, 所以脚本执行时会有错误解决方法:1.自己修改脚本内容。2.调整yum_depends 。3.安装CentOS 7.下面主要介绍teddysun大神的Shadowsocks脚本工具 支持CentOS 6+,Debian 7+,Ubuntu 12+输入:[email protected]:~# wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh // 下载Shadowsocks-all.sh 脚本工具[email protected]:~# chmod +x shadowsocks-all.sh//赋予shadowsocks-all.sh 执行权限[email protected]:~# ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.l // 执行脚本工具进行安装选择界面Shell按照提示进行选择,和选中安装方式选择安装 Shadowsocks-Python ShadowsocksR Shadowsocks-Go Shadowsocks-libev 通常选择Shadowsocks-Python 或者ShadowsocksR设置密码设置端口按照给定的范围进行设置端口号设置加密方式aes-256-gcm设置协议设置混淆然后就能安装完毕了。除了端口号和密码外,其他的都是按照给定的值进行选择就可以了安装完毕后如何启动?Shadowsocks-Python 版:分别是start启动,stop停止 ,restart重启,status 状态[email protected]:~# /etc/init.d/shadowsocks-python start | stop | restart | status​ShadowsocksR 版:[email protected]:~# /etc/init.d/shadowsocks-r start | stop | restart | status​Shadowsocks-Go 版:[email protected]:~# /etc/init.d/shadowsocks-go start | stop | restart | status​Shadowsocks-libev 版: [email protected]:~# /etc/init.d/shadowsocks-libev start | stop | restart | statusShell如果要修改配置信息?Shadowsocks-Python 版:[email protected]:~# vim /etc/shadowsocks-python/config.json​ShadowsocksR 版:[email protected]:~# vim /etc/shadowsocks-r/config.json​Shadowsocks-Go 版:[email protected]:~# vim /etc/shadowsocks-go/config.json​Shadowsocks-libev 版:[email protected]:~# vim /etc/shadowsocks-libev/config.jsonShell修改完毕之后, restart 重新刷新一下Shadowsocks服务器就可以了。该脚本配置后是支持开机自动启动的。而我们自己通过命令信息启动的话,每次开机后需要手动启动。2.客户端安装在需要代理上网的设备上,安装客户端软件,然后将上面配置的端口,密码和加密方式进行选择就可以进行上网了。可以去GitHub上下载最新的客户端Shadowsocks GitHub 地址如果出现客户端软件安装失败,或者无法启动的情况。1.安装 Microsoft .NET Framework 4.7.2或更高版本2.安装 Microsoft Visual C ++ 2015 Redistributable(x86)。如果最终客户端软件实在无法安装,可以尝试使用Chrome 浏览器: Proxy SwitchyOmege 插件Github下载地址注意:shadowsocks 不能和Proxy SwitchyOmege 一起用,代理配置冲突会造成Shadowsocks客户端无法生效。客户端启动之后。配置ip(你的服务器地址),端口号:你配置Shadowsocks时的设置的端口号,密码(配置Shadowsocks时候设置的密码),选择加密模式。然后选择:“全局代理”模式就可以使用了。3.加速配置利用 TCP BBR 拥塞控制算法,实现服务器访问网速的提升。同样也是采用teddysun的脚本实现的。[email protected]:~# wget --no-check-certificate https://github.com/teddysun/across/raw/master/[email protected]:~# chmod +x [email protected]:~# ./bbr.shShell安装成功后的效果:[Info] TCP BBR has already been enabled. nothing to [email protected]:~#sysctl net.ipv4.tcp_available_congestion_controlet.ipv4.tcp_available_congestion_control =reno cubicbbr//返回值中有bbr 就代表已经安装了[email protected]:~# lsmod | grep bbr//返回值如果有tcp_bbr模块,就说明bbr已经启动了。Shell

4.多用户配置如果需要给多个用户账号,那么配置如下即可端口+密码,就相当于账户+密码了。vi /etc/shadowsocks.json{ “server”:“0.0.0.0”, “server_port”:11660, “local_address”:“127.0.0.1”, “local_port”:1080, "port_password": {"6234": "password1", #端口+密码,相当于账户+密码"6235": "password2","6236": "password3","6237": "password4"},"timeout":300,"method":"aes-256-cfb","fast_open": false}JSON其他如果使用过程中,出现配置完毕后,任然无法访问的情况。你可以通过百度,输入IP 查询一下你当前的主机ip地址是否显示境外。如果是显示国内,那么可能是代理客户端没有启动或者代理错误。 多尝试客户端的配置。如果显示境外,但是还是无法访问。那么只有一种可能。你的远程服务器的IP被封了,造成无法访问。你可以联系你的云服务器提供商,咨询一下你的ip不能访问境外的问题。

转载https://zinyan.com/?p=6