目录
前言
CentOS 7是一个广受欢迎的Linux发行版,作为生产环境的首选之一。在CentOS 7上搭建Shadowsocks-libev多用户服务器是一个非常实用的技能,可以为多个用户提供稳定可靠的代理服务。本文将详细介绍如何在CentOS 7上设置Shadowsocks-libev多用户服务器,包括安装配置、管理命令以及常见问题解答。
Shadowsocks-libev简介
Shadowsocks-libev是Shadowsocks项目的一个轻量级服务器端实现,采用C语言编写,相比于原版Python实现有更好的性能。它支持多端口多用户,配合Web管理界面可以方便地管理多个账号。
Shadowsocks-libev的主要特点包括:
- 高性能:基于C语言实现,比Python版本快几倍
- 多用户支持:支持多端口多用户,方便管理
- 多协议支持:除了标准的Shadowsocks协议,还支持更多协议如V2Ray
- 跨平台:支持Linux、macOS、Windows等主流操作系统
安装Shadowsocks-libev服务器
安装依赖
在安装Shadowsocks-libev之前,需要先安装一些必要的依赖包:
bash yum install -y epel-release yum install -y gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel
下载并编译安装
-
下载Shadowsocks-libev源码:
bash git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev
-
编译安装:
bash ./configure make make install
编译完成后,Shadowsocks-libev可执行文件会安装到*/usr/local/bin*目录下。
配置Shadowsocks-libev多用户
编辑配置文件
Shadowsocks-libev的主要配置文件是*/etc/shadowsocks-libev/config.json*,我们需要对其进行编辑:
{ “server”:”0.0.0.0″, “server_port”:8388, “password”:”mypassword”, “timeout”:60, “method”:”aes-256-cfb”, “fast_open”:true, “users”: { “user1”: “password1”, “user2”: “password2”, “user3”: “password3” }}
主要配置项说明:
- server: 服务器监听地址,设置为
0.0.0.0
表示监听所有网卡 - server_port: 服务器监听端口,这里设置为
8388
- password: 服务器密码,这里设置为
mypassword
- timeout: 连接超时时间,单位为秒
- method: 加密方式,这里设置为
aes-256-cfb
- fast_open: 是否开启TCP Fast Open,可以提高连接速度
- users: 多用户账号及密码,可以添加多个
启动服务
配置完成后,我们可以启动Shadowsocks-libev服务:
bash ss-server -c /etc/shadowsocks-libev/config.json -u
-u
参数表示以多用户模式启动。
添加多用户
如果需要添加新的用户,可以直接在config.json
文件的users
字段中添加新的账号和密码,然后重启服务即可:
bash
vim /etc/shadowsocks-libev/config.json
ss-server -c /etc/shadowsocks-libev/config.json -u
管理Shadowsocks-libev
查看当前连接
可以使用以下命令查看当前的客户端连接情况:
bash ss-server -c /etc/shadowsocks-libev/config.json -d stat
输出示例:
{ “connections”: [ { “user”: “user1”, “port”: 8388, “traffic”: { “upload”: 123456, “download”: 987654 } }, { “user”: “user2”, “port”: 8389, “traffic”: { “upload”: 98765, “download”: 54321 } } ]}
查看流量统计
可以使用以下命令查看每个用户的流量统计:
bash ss-server -c /etc/shadowsocks-libev/config.json -d stat
输出示例:
{ “traffic”: { “user1”: { “upload”: 123456, “download”: 987654 }, “user2”: { “upload”: 98765, “download”: 54321 } }}
重启服务
如果需要重启Shadowsocks-libev服务,可以使用以下命令:
bash systemctl restart shadowsocks-libev
常见问题解答
无法连接到服务器
- 检查服务器防火墙是否开放了Shadowsocks服务端口
- 检查服务器上Shadowsocks-libev进程是否正常运行
- 检查客户端配置是否正确,包括服务器地址、端口、密码等
连接速度很慢
- 尝试切换加密方式,如从
aes-256-cfb
改为chacha20-ietf-poly1305
- 检查服务器网络环境是否良好,如果服务器在国外可能会导致连接速度慢
- 调整客户端的一些参数,如超时时间、缓存大小等
如何修改端口和密码
-
编辑*/etc/shadowsocks-libev/config.json*文件,修改
server_port
和password
字段 -
重启Shadowsocks-libev服务:
bash systemctl restart shadowsocks-libev
-
如果需要为某个用户单独修改端口和密码,可以在
users
字段中单独设置
FAQ:
Q1: 如何检查Shadowsocks-libev服务是否正在运行? A1: 可以使用以下命令检查: bash systemctl status shadowsocks-libev
如果服务正在运行,输出会显示active (running)
。
Q2: 如何查看Shadowsocks-libev服务的日志? A2: 可以使用以下命令查看日志: bash journalctl -u shadowsocks-libev
这样可以查看Shadowsocks-libev服务的运行日志。
Q3: 如何限制单个用户的流量? A3: 可以在*/etc/shadowsocks-libev/config.json*文件的users
字段中为每个用户单独设置流量限制,例如:”users”: { “user1”: { “password”: “password1”, “method”: “aes-256-cfb”, “rate_limit”: “1MB/s” }, “user2”: { “password”: “password2”, “method”: “chacha20-ietf-poly1305”, “rate_limit”: “500KB/s” }} 这样就可以为user1
设置1MB/s的速率限制,为user2
设置500KB/s的速率限制。
Q4: 如何查看Shadowsocks-libev服务的版本信息? A4: 可以使用以下命令查看版本信息: bash ss-server –version
输出示例:
shadowsocks-libev 3.3.5
Q5: 如何在后台运行Shadowsocks-libev服务? A5: 可以使用以下命令在后台运行Shadowsocks-libev服务: bash ss-server -c /etc/shadowsocks-libev/config.json -u -d start
这样Shadowsocks-libev服务就会在后台运行,不会占用当前终端。