一、环境准备
1. 系统要求
- CentOS 7/8 或 Ubuntu 18.04+
- 需要root或sudo权限
2. 安装依赖
# CentOS/RHEL
yum install -y gcc openssl-devel pam-devel openldap-devel cyrus-sasl-devel \
make wget tar
# Ubuntu/Debian
apt update
apt install -y gcc libssl-dev libpam0g-dev libldap2-dev \
libsasl2-dev make wget tar
二、编译安装SS5
1. 下载源码
cd /usr/local/src
wget https://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar -zxvf ss5-3.8.9-8.tar.gz
cd ss5-3.8.9
2. 配置和编译
./configure
make
make install
三、配置SS5
1. 基础配置
# 备份原始配置
cp /etc/opt/ss5/ss5.conf /etc/opt/ss5/ss5.conf.bak
cp /etc/opt/ss5/ss5.passwd /etc/opt/ss5/ss5.passwd.bak
# 编辑主配置文件
vim /etc/opt/ss5/ss5.conf
2. 配置示例
# 启用认证(取消注释)
auth 0.0.0.0/0 - u
# 设置代理类型(取消注释)
permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -
# 监听端口(默认为1080)
set SS5_SOCKS_PORT 1080
# 其他重要配置
set SS5_DNSORDER local
set SS5_PAM_SERVICE passwd
3. 配置用户认证
# 编辑密码文件
vim /etc/opt/ss5/ss5.passwd
# 格式:username password
# 示例:
user1 123456
user2 pass123
四、启动和管理
1. 启动服务
# 启动
/etc/rc.d/init.d/ss5 start
# 停止
/etc/rc.d/init.d/ss5 stop
# 重启
/etc/rc.d/init.d/ss5 restart
# 查看状态
/etc/rc.d/init.d/ss5 status
2. 设置开机自启
# CentOS 7+
chmod +x /etc/rc.d/init.d/ss5
systemctl enable ss5
# Ubuntu/Debian
update-rc.d ss5 defaults
五、防火墙配置
1. 开放端口
# CentOS 7+
firewall-cmd --permanent --add-port=1080/tcp
firewall-cmd --reload
# Ubuntu
ufw allow 1080/tcp
ufw reload
# 或使用iptables
iptables -A INPUT -p tcp --dport 1080 -j ACCEPT
service iptables save
六、客户端连接测试
1. 使用curl测试
# 无需认证
curl --socks5 服务器IP:1080 http://ifconfig.me
# 使用认证
curl --socks5 用户名:密码@服务器IP:1080 http://ifconfig.me
2. 使用proxychains
# 安装proxychains
yum install -y proxychains-ng # CentOS
apt install -y proxychains # Ubuntu
# 配置
vim /etc/proxychains.conf
# 添加:socks5 服务器IP 1080 用户名 密码
# 测试
proxychains curl http://ifconfig.me
七、高级配置
1. 多端口监听
# 在ss5.conf中添加
set SS5_SOCKS_PORT 1080,1081,1082
2. IP限制
# 允许特定IP段
permit u 192.168.1.0/24 - 0.0.0.0/0 - - - - -
# 拒绝特定IP
deny u 10.0.0.100 - 0.0.0.0/0 - - - - -
3. 日志配置
# 启用日志
set SS5_LOG_FILE /var/log/ss5/ss5.log
set SS5_LOG_STDERR /var/log/ss5/ss5_stderr.log
# 创建日志目录
mkdir -p /var/log/ss5
chown -R nobody:nobody /var/log/ss5
八、故障排除
1. 检查服务状态
# 查看进程
ps aux | grep ss5
# 查看端口
netstat -tlnp | grep 1080
# 查看日志
tail -f /var/log/ss5/ss5.log
2. 常见问题解决
# 权限问题
chown -R nobody:nobody /etc/opt/ss5
# 端口占用
netstat -tlnp | grep 1080
# SELinux问题(CentOS)
setsebool -P httpd_can_network_connect 1
九、安全建议
修改默认端口:建议不使用1080默认端口
强密码策略:使用复杂密码
IP白名单:限制可连接IP
定期更新:关注安全更新
监控日志:定期检查访问日志
使用非root用户运行:配置合适的用户权限
注意事项
- SS5是Socks5代理,支持TCP和UDP
- 配置文件修改后需要重启服务生效
- 确保服务器有足够的内存和带宽资源
- 遵守当地法律法规使用代理服务
这个安装过程相对简单,但配置灵活,可以根据实际需求调整认证方式、访问控制等参数。