Shadowsocks(简称SS)是一种基于Socks5代理的加密传输协议,广泛应用于科研访问、跨境办公等合法场景,在个人服务器上搭建SS服务,可提升网络连接的私密性与稳定性。本教程将详细指导Linux服务器(Ubuntu/CentOS)的SS服务端部署,强调合法合规使用(严禁用于非法访问),并遵循安全最佳实践。
前期准备
-
服务器要求
- 境外VPS(推荐:DigitalOcean、Vultr、AWS Lightsail)
- 系统:Ubuntu 20.04+/CentOS 7+
- 开放端口:至少1个TCP/UDP端口(如
443
、8388
) - 基础工具:
sudo
权限、curl
、firewalld
/iptables
-
安全加固(必做)
# 更新系统 & 创建非root用户 sudo apt update && sudo apt upgrade -y # Ubuntu sudo yum update -y && sudo yum upgrade -y # CentOS sudo adduser ssadmin && usermod -aG sudo ssadmin # 添加管理员
安装Shadowsocks服务端
推荐使用Shadowsocks-libev(轻量级且主动维护):
# Ubuntu 安装 sudo apt install shadowsocks-libev -y # CentOS 安装 sudo yum install epel-release -y sudo yum install shadowsocks-libev -y
配置SS服务端
-
创建配置文件
编辑/etc/shadowsocks-libev/config.json
:{ "server": "0.0.0.0", "server_port": 8388, // 自定义端口(避开常用端口) "password": "YourStrongPassword", // 强密码(字母+数字+符号) "method": "aes-256-gcm", // 推荐加密方式 "timeout": 300, "mode": "tcp_and_udp", // 支持UDP加速 "fast_open": true // TCP优化(需内核支持) }
-
开放防火墙端口
sudo ufw allow 8388/tcp # Ubuntu sudo ufw allow 8388/udp sudo ufw reload # CentOS(firewalld) sudo firewall-cmd --permanent --add-port=8388/tcp sudo firewall-cmd --permanent --add-port=8388/udp sudo firewall-cmd --reload
启动与守护服务
# 启动服务并设置开机自启 sudo systemctl start shadowsocks-libev sudo systemctl enable shadowsocks-libev # 检查状态(显示 active 即成功) sudo systemctl status shadowsocks-libev
客户端连接指南
平台 | 推荐客户端 | 配置步骤 |
---|---|---|
Windows | Shadowsocks-Windows | 输入服务器IP、端口、密码和加密方式 |
macOS | ShadowsocksX-NG | 同上 |
Android | Shadowsocks-Android | 扫描二维码(服务端生成)或手动填写 |
iOS | Shadowrocket | 需境外Apple ID下载 |
✅ 生成配置二维码:使用在线工具(如SS-QR Code)将参数转为二维码,客户端扫码自动配置。
高级优化与安全
-
BBR加速(提升速度)
# 启用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
-
防止暴力破解
- 使用非常用端口(如
2096
) - 安装
fail2ban
自动封禁IP:sudo apt install fail2ban -y # Ubuntu sudo yum install fail2ban -y # CentOS
- 使用非常用端口(如
-
域名伪装(可选)
结合Nginx反向代理,将SS流量伪装成HTTPS:server { listen 443 ssl; server_name your-domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/privkey.pem; location / { proxy_pass http://127.0.0.1:8388; # 转发到SS端口 proxy_redirect off; } }
常见问题排查
- 连接失败:检查防火墙、端口开放状态,确认客户端加密方式与服务端一致。
- 速度慢:尝试更换端口(避免QoS)、启用BBR、切换
aes-128-gcm
加密。 - 错误日志:查看日志定位问题
journalctl -u shadowsocks-libev -f
。
个人搭建Shadowsocks需严格遵循所在地法律法规,仅用于技术研究或合法跨境访问,定期更新密码、监控服务器日志,可显著提升安全性,技术无罪,滥用担责——请合理使用网络工具。
引用说明:
- Shadowsocks-libev官方文档:GitHub Wiki
- BBR算法原理:Google Research
- 防火墙配置参考:DigitalOcean指南
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/9715.html