CentOS 7上Shadowsocks-libev多用户服务器配置详解

目录

前言

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

下载并编译安装

  1. 下载Shadowsocks-libev源码:

    bash git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev

  2. 编译安装:

    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

常见问题解答

无法连接到服务器

  1. 检查服务器防火墙是否开放了Shadowsocks服务端口
  2. 检查服务器上Shadowsocks-libev进程是否正常运行
  3. 检查客户端配置是否正确,包括服务器地址、端口、密码等

连接速度很慢

  1. 尝试切换加密方式,如从aes-256-cfb改为chacha20-ietf-poly1305
  2. 检查服务器网络环境是否良好,如果服务器在国外可能会导致连接速度慢
  3. 调整客户端的一些参数,如超时时间、缓存大小等

如何修改端口和密码

  1. 编辑*/etc/shadowsocks-libev/config.json*文件,修改server_portpassword字段

  2. 重启Shadowsocks-libev服务:

    bash systemctl restart shadowsocks-libev

  3. 如果需要为某个用户单独修改端口和密码,可以在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服务就会在后台运行,不会占用当前终端。

正文完