在VPS上搭建SS(Shadowsocks)全攻略从零开始实现科学上网
卡尔云官网
www.kaeryun.com
一、什么是Shadowsocks(SS)?
Shadowsocks(简称SS)是一种基于Socks5代理方式的加密传输协议,由中国程序员clowwindy开发。与传统的VPN不同,SS采用了更加轻量级的架构和更高效的加密方式,能够有效绕过网络审查,同时保持较高的传输速度。
举个通俗的例子:想象你的网络流量就像一封信,普通上网是明信片(内容所有人都能看到),VPN是把整封信装进保险箱(虽然安全但太重),而SS则是把信的内容用只有你和收件人懂的密码重写了一遍(既隐蔽又高效)。
二、为什么选择VPS搭建SS?
1. 自主可控:自己搭建的服务器完全由自己掌控,不会出现第三方服务跑路或记录日志的问题
2. 性价比高:最便宜的VPS月费仅3-5美元(约20-35元人民币)
3. 灵活配置:可以根据需要选择服务器位置、调整加密方式等
4. 多设备共享:一个服务器可以供手机、电脑、平板等多设备同时使用
常见适合搭建SS的VPS提供商:
- 搬瓦工(BandwagonHost):适合新手,一键安装脚本丰富
- Vultr:按小时计费,随时更换IP
- DigitalOcean:稳定可靠,文档齐全
- 阿里云国际版:国内连接速度快
三、详细搭建步骤(以Ubuntu系统为例)
1. 购买并登录VPS
购买VPS后,你会获得:
- IP地址(如:154.23.56.78)
- SSH端口(通常为22)
- root密码或密钥文件
使用终端(Mac/Linux)或PuTTY(Windows)连接:
```bash
ssh root@你的服务器IP -p 端口号
```
2. 安装必要组件
更新系统并安装基础工具:
apt update && apt upgrade -y
apt install python-pip git -y
3. 安装Shadowsocks服务端
推荐使用Python版Shadowsocks:
pip install shadowsocks
4. 创建配置文件
新建配置文件`/etc/shadowsocks.json`:
```json
{
"server":"0.0.0.0",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"你的密码",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
参数说明:
- `server_port`:连接端口(建议用1024以上的端口)
- `password`:至少8位复杂密码(别用123456这种!)
- `method`:推荐aes-256-cfb或chacha20
5. 启动Shadowsocks服务
前台运行测试:
ssserver -c /etc/shadowsocks.json
如果显示`starting server at 0.0.0.0:8388`表示成功。
后台运行(正式使用):
ssserver -c /etc/shadowsocks.json -d start
6. 设置开机自启
创建systemd服务文件`/etc/systemd/system/shadowsocks.service`:
[Unit]
Description=Shadowsocks Server
After=network.target
[Service]
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks.json
Restart=on-abort
[Install]
WantedBy=multi-user.target
启用服务:
systemctl enable shadowsocks
systemctl start shadowsocks
四、客户端配置指南
Windows客户端:
1. 下载Shadowsocks-Windows客户端
2. 右键任务栏图标 → 服务器 → 编辑服务器
3. 填写VPS的IP、端口、密码和加密方式
4. 右键图标 → 启用系统代理
Android客户端:
1. Google Play搜索"Shadowsocks"安装(或从GitHub下载APK)
2. 点击右上角+号添加配置
3. 填写服务器信息后点击右上角连接按钮
macOS客户端:
1. brew install shadowsocks-libev (或用GUI客户端)
2. 配置与Windows类似
五、安全加固措施(重要!)
很多新手忽略这部分导致服务器被黑!
1. SSH安全设置
修改默认SSH端口并禁用root登录:
nano /etc/ssh/sshd_config
修改以下参数:
Port xxxx (自定义端口号)
PermitRootLogin no
PasswordAuthentication no (改用密钥登录)
重启SSH服务:
```bash
service sshd restart
2.防火墙设置
只开放必要端口(如SSH和SS端口):
ufw allow xxxx (你的SSH端口)
ufw allow yyyy (你的SS端口)
ufw enable
3.BBR加速(提升速度)
开启BBR TCP拥塞控制算法:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
验证是否生效:
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr
六、常见问题排查
Q:连接不上怎么办?
A:按顺序检查:
1.ping你的服务器IP是否通?
2.telnet IP port测试端口是否开放?
3.VPS控制台查看防火墙规则?
4.ssserver日志是否有报错?(journalctl -u shadowsocks)
Q:速度很慢怎么办?
A:尝试:
1.vmstat查看CPU/内存是否吃紧?
2.traceroute看路由是否绕路?
3.try不同的加密方式(chacha20通常最快)
Q:如何查看当前连接用户?
A:安装net-tools后:
netstat -anp | grep ssserver
七、进阶技巧
1.多用户配置:在json配置中使用"port_password"字段可以实现不同端口对应不同密码
2.流量伪装:配合simple-obfs插件可以混淆流量特征
3.负载均衡:多个VPS可以用HAProxy做负载均衡
4.自动切换:客户端可以配置多个服务器实现故障自动转移
写在最后
自己搭建SS虽然需要一定技术基础,但带来的自由度和安全性是第三方服务无法比拟的。本文涵盖了从零开始到安全加固的全流程,建议新手按照步骤操作,遇到问题善用搜索引擎。记住,网络安全是持续的过程,定期更新软件和密码同样重要!
如果你觉得这篇指南有帮助,欢迎点赞收藏。有任何问题也可以在评论区留言,我会尽量解答。下期可能会讲如何在同样VPS上搭建V2Ray实现更安全的通信,感兴趣可以关注我~
TAG:在vps上搭建ss,如何搭建vps的最详细教程,用vps搭建ssr,vps怎么搭建ssr,vps搭建ss教程卡尔云官网
www.kaeryun.com