如何在CentOS上部署shadowsocks服务
shadowsocks简单介绍
shadowsocks是目前较流行的一种科学上网服务。他的工作原理也比较简单,shadowsocks本质上是socks5代理技术,然而架构方式上将单服务节点拆分成两个子服务:SS Local和SS Server。
工作过程如下:
- 当本地请求端需要访问时首先将请求发送至本地SS Local服务
- SS Local将数据加密在网络上传输到SS Server,由于信息经过加密不会被GFW提取到特征数据,因此也就翻了墙
- SS Server收到数据后解密并访问真正的远程服务资源
- 远程返回数据返回到SS Server
- SS Server将数据加密传输给SS Local
- SS Local收到返回数据解密后发给本地请求端
部署shadow socks服务 (SS Server)
安装服务
shadowsocks服务的部署也极为简单,已经有完善的脚本帮助安装,需要稍微注意下的就是安装过程需要root权限,安装方法如下:
# wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
# sh shadowsocks.sh
配置服务
shadowsocks的配置文件是’/etc/shadowsocks.json’,一个简单的配置文件的写法可以参考这个例子。
# cat /etc/shadowsocks.json
{
"server":"0.0.0.0",
"port_password":{
"8989":"password1", <--- 第一个服务端口及访问密码
"8990":"password2" <--- 多个服务端口指定方法
},
"timeout":300,
"method":"aes-256-cfb", <--- 注意这个加密方式,配置SS Local需要使用
"fast_open":false,
"workers":2
}
多数情况下一个端口就可以满足使用了,这个例子中提供了多个访问端口的配置方法,具体用法可以根据自己的实际情况配置。
启动服务
服务安装过程同时会安装一个启动脚本’/etc/init.d/shadowsocks’,启动方法也很简单。
# service shadowsocks start
为了确保每次系统启动后服务会自动运行最好将服务使用chkconfig进行启用,这样就不必担心系统被运营商或者管理员维护重启后无法使用了。
chkconfig --add shadowsocks
chkconfig --level 2345 shadowsocks on
客户端使用方法(SS Local)
本人使用的是MBP,先分享一下Mac OS上的使用方法。
下载安装SS Local
可以在这里下载ShadowsocksX-NG这个软件,将这个软件安装到应用程序中就可以打开使用了,但首先需要一些设置。
配置SS Local
程序运行后可以看到一个小飞机样子的图标,点击后可以看到配置菜单。
第一步:打开配置界面
第二步:配置SS Local连接的SS Server服务器
点击“服务器设置”
将配置好的服务填入其中,注意的是“地址”/“端口号”/“加密方法”/“密码”信息需要与SS Server服务端的设置匹配。
配置完成后记得在服务器列表中选择刚刚配置好的那项。
第三步:设置“高级服务”
国内用户最好指定”GFW LIST URL”
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
注意,这里有一个”Local PAC Listen Port”信息,这个配置需要在下面一步使用。
第四步:设置本地代理方式
设置本地代理方式之前最好先将GFW list更新一下
打开“系统偏好设置”->“网络”->“高级”->“代理”,勾选“自动代理配置”,在URL中输入:http://127.0.0.1:8090/proxy.pac
完成这个设置后就已经可以进行科学上网了,系统访问GFW屏蔽的服务时就会使用配置好的代理服务器。
使用kcptun加速
有些时候shadowsocks搭建的主服务器在国外机房中的延迟较大,这样会影响访问速度,这时可以使用一些手段为访问加速,比如”kcptun”。
TBC