基于 CentOS Stream 9 的 Shadowsocks 部署指南
约 1415 字大约 5 分钟
基于 CentOS Stream 9 的 Shadowsocks 部署指南
这篇文档教你如何在 RackNerd 的 VPS 上搭建 Shadowsocks(SS) 服务。
本文主要面向 CentOS Stream 9。如果你使用的是其他系统,请根据实际环境调整命令。
考虑到不同用户的使用习惯,本文提供两种方案:
- 经典脚本方案:仅适合较老的 CentOS 7 及更早系统,在 CentOS Stream 9 上已经不推荐使用。
- 可视化面板方案(推荐):使用 X-UI 面板,支持新协议、配置直观、安全性更高。
⚠️ 核心提醒: 不论选择哪种方案,都必须在 服务器防火墙 中放行端口:
- 方案一:只需放行一个“连接端口”。
- 方案二:需要放行“面板管理端口” + “服务连接端口”。
如果你的服务器已经部署过 x-ui,并且已经创建了
shadowsocks入站,一般不需要再重复安装传统脚本。
强烈建议优先使用方案二,支持最新加密算法,更稳定、不容易被封锁。
一、准备工作
在开始之前,请确保你已经购买了海外服务器,并收到了开通邮件。
你需要准备以下信息:
- 服务器 IP:邮件中的
Main IP Address - 登录账号:
root - 登录密码:邮件中的
Root Password - SSH 连接工具:
- Windows:FinalShell / PuTTY
- macOS / Linux:终端(Terminal)
登录服务器
ssh root@你的服务器IP输入密码时终端不会显示内容,直接输入完成后回车即可。
二、方案一:经典脚本安装(仅限旧系统,不推荐)
该方案依赖 teddysun/shadowsocks_install 这类老脚本,适合 CentOS 7 及更早系统。
如果你使用的是 CentOS Stream 9,请直接跳到 方案二。
CentOS Stream 9 常见报错
/etc/init.d/shadowsocks: No such file or directory [Error] Failed to download shadowsocks chkconfig file!这不是网络问题,而是脚本本身已经过时:
CentOS Stream 9默认使用systemd,不再依赖老的/etc/init.d目录结构- 脚本后续还会调用
chkconfig,而新系统通常默认不提供- 脚本里的防火墙逻辑只覆盖了
CentOS 6/7- 它安装的是较老的
Shadowsocks-Python,不适合继续作为新系统首选方案
1️⃣ 旧系统参考:下载并运行安装脚本
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log开源地址参照:clown-coding/vpn
2️⃣ 按提示配置参数
脚本运行过程中会依次询问:
- Password(密码):设置连接用密码
- Port(端口):建议使用
10000 - 60000之间的端口 - Encryption(加密方式):
7:aes-256-cfb(兼容性好)16:aes-256-gcm(更安全,推荐)
看到提示 Enjoy it 即表示安装成功。
如果你在 CentOS Stream 9 上运行时出现 /etc/init.d/shadowsocks 或 chkconfig 相关错误,请不要继续硬改脚本,直接改用 方案二。
三、方案二:X-UI 可视化面板安装(推荐)
该方案通过 Web 后台管理账号,支持更新的 Shadowsocks 2022 协议,更加安全、稳定。
1️⃣ 安装 X-UI 面板
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)安装过程中需要设置:
- 面板账号(默认:admin)
- 面板密码(默认:admin)
- 面板端口(建议使用冷门端口,如
54321)
2️⃣ 浏览器访问面板
在浏览器中打开:
http://你的服务器IP:面板端口登录后操作步骤:
- 点击左侧 入站列表
- 点击 添加
- 协议选择:
shadowsocks - 加密方式(强烈推荐):
2022-blake3-aes-128-gcm - 设置端口
- 点击 添加
创建完成后:
- 点击 查看
- 扫描二维码或复制链接
- 导入到客户端即可使用
四、必做步骤:开启 BBR 加速
不开启 BBR,高峰期看视频、下载会非常慢。
1️⃣ 检查是否已开启
sysctl net.ipv4.tcp_congestion_control如果输出包含 bbr,说明已经开启。
2️⃣ 强制开启 BBR(未开启时)
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p再次检查,确认出现 bbr 即可。
五、客户端软件下载推荐
| 设备 | 推荐客户端 |
|---|---|
| Windows | v2rayN / Shadowsocks-Windows |
| Android | v2rayNG / Shadowsocks |
| iPhone | Shadowrocket(需非国区 Apple ID) |
| macOS | V2RayXS / Clash Verge |
六、常见问题排查
Q1:连不上怎么办?
- 检查服务器端口是否放行
- 在 CentOS Stream 9 上,可临时停止
firewalld测试:
systemctl stop firewalld- 测试结束后记得重新启动:
systemctl start firewalld- 登录 RackNerd 控制台确认服务器状态为 Running
- 本地
ping服务器 IP,若不通可能 IP 被封
Q2:速度慢怎么办?
- 确认 BBR 已开启
- 晚上 8 点 - 11 点是高峰期,廉价 VPS 速度下降属正常现象
- 建议避开高峰期下载或看高清视频
Q3:所有设置都没问题,依旧无法上网怎么办?
- 更换冷门端口,避免使用6666 12345这些端口
- 许多宽带运营商(尤其是国内电信、联通、移动)会对这类特征明显的端口进行深度数据包检测(DPI)
Q4:运行经典脚本时报 /etc/init.d/shadowsocks: No such file or directory 怎么办?
- 这是 CentOS Stream 9 与老脚本不兼容 导致的,不是 GitHub 下载失败
- 不建议继续手工补
/etc/init.d或强行安装chkconfig - 最稳妥的处理方式是:
- 直接改用本文的 方案二:X-UI 面板
- 或者复用已经存在的
x-ui + shadowsocks入站
- 如果你只是想“开一个 Shadowsocks 端口给客户端连接”,优先用
x-ui维护,比传统脚本更省事也更稳定