最近VPS打算从centos迁移到Fedora,这么一来就需要重新搭建Shadowsocks了,这里记录一下搭建的过程。
首先自然是安装Shadowsocks了,由于Shadowsocks是用
Python
写的,自然就用下面的安装方式了pip install shadowsocks
然后创建shadowsocks的配置文件(路径可根据自己喜好放置)
vi /etc/shadowsocks.json
配置文件内容如下:
{"server":"0.0.0.0","server_port": 8888,"local_port": 1080,"password":"yourpassword","timeout":600,"method":"aes-256-cfb"}
下面解释一下配置文件内容以及其意义:
Server
项是你的server监听地址,0.0.0.0
是ipv4的默认地址,::0
为ipv6默认地址,同时监听ipv4和ipv6的话,根据shadowsocks-libv
的一条issue,应该填写"server":["[::0]", "0.0.0.0"]
,我测试不能实现该功能,不过值得一试。server_port
是服务端监听的端口号,输入netstat -ntlp | grep LISTEN
可以看到你现在监听的所有端口。local_port
是你的本地使用的端口,不要与其他程序冲突。Timeout
是超时时间,建议设置较长的时间。Method
是加密方式,服务端与客户端一致即可。下面是基础的 开启、关闭、重启的操作方法:
ssserver -c /etc/shadowsocks.json -d startssserver -d stopssserver -c /etc/shadowsocks.json -d restart
常见问题
启动时可能会出现如下错误:
undefined symbol: EVP_CIPHER_CTX_cleanup
简单分析一下,是这个符号找不到了,仔细分析一下这个问题,发现是在
openssl 1.1.0
版本中,废弃了EVP_CIPHER_CTX_cleanup
函数,使用EVP_CIPHER_CTX_reset
函数替代了EVP_CIPHER_CTX_cleanup
函数。因此,解决方案就明了了,使用reset
代替cleanup
即可。即,打开最后层的报错的
.py
文件,使用vim的命令%s/cleanup/reset/g
即可完成替换。参考资料
http://blog.csdn.net/ppdouble/article/details/53066745
https://kionf.com/2016/12/15/errornote-ss/