CentOS Shadowsocks-libev 服务端安装与深度配置指南
理解核心:Shadowsocks 的基本原理 Shadowsocks 的核心在于其精巧的 SOCKS5 代理与加密隧道技术,当您访问目标网站时,本地客户端会将请求加密,并通过 Shadowsocks 服务器中转,服务器解密请求后访问目标资源,再将返回的数据加密传回您的设备,这种方式有效保障了数据传输的私密性,同时具备较好的性能表现,选择成熟的 Shadowsocks-libev 实现,因其轻量、高效且持续维护更新。
系统准备:基础环境配置

系统更新:
sudo yum update -y sudo yum install epel-release -y
开发工具与依赖:
sudo yum groupinstall "Development Tools" -y sudo yum install git wget openssl-devel pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
这些工具和库是编译构建 Shadowsocks-libev 及优化其功能(如
simple-obfs混淆插件)所必需的。
编译安装 Shadowsocks-libev
获取源码:
git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev git submodule update --init --recursive
编译与安装:

./autogen.sh ./configure --disable-documentation # 可选,跳过文档生成加速编译 make -j4 # 根据CPU核心数调整,如4核 sudo make install
验证安装:
ss-server -h
成功显示帮助信息即表明核心组件安装完成。
服务端配置详解
创建配置文件:
sudo mkdir -p /etc/shadowsocks-libev sudo nano /etc/shadowsocks-libev/config.json
写入核心配置 (示例):
{ "server": "0.0.0.0", // 监听所有IPv4地址 "server_port": 8388, // 自定义服务端口,建议1024以上 "password": "YourStrongPasswordHere!", // 设置高强度密码 "method": "chacha20-ietf-poly1305", // 推荐高性能加密方式 "timeout": 300, // 超时时间(秒) "fast_open": true, // 启用TCP Fast Open (需内核支持) "mode": "tcp_and_udp", // 同时支持TCP和UDP转发 "plugin": "obfs-server", // 启用混淆插件(可选但推荐) "plugin_opts": "obfs=http;failover=127.0.0.1:80" // 混淆为HTTP流量 }- 关键安全提示: 务必使用强密码(长且含大小写字母、数字、符号组合)!避免使用常见或易猜测密码。
- 加密方式选择:
aes-256-gcm,chacha20-ietf-poly1305是当前兼顾安全与性能的主流选择,避免使用已知弱算法如rc4,table。
安装混淆插件 (推荐):

git clone https://github.com/shadowsocks/simple-obfs.git cd simple-obfs git submodule update --init --recursive ./autogen.sh ./configure make sudo make install
混淆插件将流量伪装成常见协议(如 HTTP),有助于提升连接稳定性。
防火墙与系统优化
配置 Firewalld (CentOS 7+):
sudo firewall-cmd --permanent --add-port=8388/tcp # 替换为你的端口 sudo firewall-cmd --permanent --add-port=8388/udp sudo firewall-cmd --reload
开启 TCP BBR 拥塞控制 (提升速度):
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
使用
sysctl net.ipv4.tcp_available_congestion_control和lsmod | grep bbr验证 BBR 是否生效。配置 Systemd 服务 (实现开机自启与管理):
sudo nano /etc/systemd/system/shadowsocks-libev.service
[Unit] Description=Shadowsocks-libev Default Server Service After=network.target [Service] Type=simple User=nobody Group=nobody CapabilityBoundingSet=CAP_NET_BIND_SERVICE ExecStart=/usr/local/bin/ss-server -c /etc/shadowsocks-libev/config.json [Install] WantedBy=multi-user.target
启动并设置开机自启:
sudo systemctl daemon-reload sudo systemctl start shadowsocks-libev sudo systemctl enable shadowsocks-libev sudo systemctl status shadowsocks-libev # 检查运行状态
安全加固与连接测试
服务器安全基线:
- 禁用 root 远程登录:修改
/etc/ssh/sshd_config中PermitRootLogin no。 - 使用 SSH 密钥认证代替密码登录。
- 定期更新系统和软件包 (
sudo yum update)。 - 考虑安装并配置 Fail2ban 防止暴力破解。
- 禁用 root 远程登录:修改
客户端连接测试:
- 在您的本地设备(Windows/macOS/Linux/手机)上安装对应的 Shadowsocks 客户端。
- 配置客户端:输入服务器 IP 地址、端口、密码、加密方法和插件设置(如果配置了
obfs)。 - 尝试访问无法直连的网站或使用
curl --socks5 127.0.0.1:1080 https://www.google.com(端口替换为本地代理端口) 测试连通性。
进阶提示与排错思路
- 端口占用检查: 若启动失败,使用
sudo netstat -tulnp | grep <端口号>检查端口是否被其他程序占用。 - 日志查看:
sudo journalctl -u shadowsocks-libev -f实时查看服务日志,排查启动或运行错误。 - 性能监控:
iftop -P -i eth0(替换网卡名) 监控服务器网络流量,观察 Shadowsocks 连接情况。 - 多用户/多端口: 可以通过创建多个
config.json文件(如config-user1.json,config-user2.json)并配置多个 Systemd 服务单元来实现,每个服务指向不同的配置文件(包含不同端口和密码)。 - 域名与 CDN: 将服务器 IP 绑定到域名,并考虑使用 Cloudflare 等 CDN 进行流量转发和一定程度上的 IP 隐藏(注意 CDN 通常不支持 UDP)。
网络技术的应用总是伴随着责任,选择部署此类服务,意味着您需要持续关注其运行状态与安全维护,保持系统更新、强化访问控制、使用高强度凭据是确保服务稳定可靠的基础,随着网络环境的变化,主动了解新的优化方法或替代方案,才能让技术工具真正安全高效地服务于所需场景,未来的协议或许会更加完善,但谨慎负责的使用态度始终是核心。
