1.
准备工作与方案概览
- 目标:在台湾地区部署一台稳定的Shadowsock服务器,支持UDP与TCP,合理防护DDoS并可结合CDN做流量清洗。
- 需求:VPS(台湾节点)、域名(可选)、操作系统(建议Debian/Ubuntu)、ssh访问与root权限。
- 安全策略:使用强密码或SSH密钥、关闭不必要端口、安装Fail2ban与基础防火墙规则。
- 网络性能:优先选择带宽≥100Mbps的VPS,延迟目标 < 50ms(针对大多数亚洲用户)。
- 备份计划:快照或定期rsync备份配置文件与用户数据,建议每周快照一次。
2.
购买VPS与建议配置(台湾节点)
- 建议配置:CPU 2核、内存 2GB、磁盘 40GB、带宽 100Mbps,月付价格通常在 6-15 美元区间。
- 系统建议:Debian 12 或 Ubuntu 22.04(LTS),二者在稳定性与软件兼容性上表现良好。
- 网络要求:提供静态公网IPv4地址,示例文档IP采用文档保留地址 203.0.113.5(演示用)。
- 购买考虑:是否提供DDoS基础防护(增强抗打击),是否允许自定义防火墙规则与SSH端口修改。
- 域名建议:若需要伪装流量,可绑定域名并配置DNS解析,配合CDN做TLS伪装。
3.
系统初始化与环境准备
- 登录VPS:ssh root@203.0.113.5(将IP换成实际IP)。
- 更新系统:apt update && apt upgrade -y。
- 创建非root用户并配置sudo:adduser ssuser;usermod -aG sudo ssuser。
- 安装常用工具:apt install -y vim curl wget unzip ufw fail2ban。
- 时间与时区:timedatectl set-timezone Asia/Taipei;确保时间准确有利于日志与证书。
4.
安装 shadowsocks-libev 与依赖
- 安装命令(Debian/Ubuntu):apt install -y shadowsocks-libev;若官方源版本落后,可使用官方PPA或源码安装。
- 检查版本:ss-server --version 或 ss-local --version。
- 推荐加密方式:chacha20-ietf-poly1305(兼具速度与安全)。
- 启用 iptables 转发(若需要转发):sysctl -w net.ipv4.ip_forward=1 并写入 /etc/sysctl.conf。
- 日志与调试:systemctl status shadowsocks-libev;journalctl -u shadowsocks-libev -n 200。
5.
配置文件示例(JSON)与Systemd管理
- 在 /etc/shadowsocks-libev/config.json 创建配置文件示例:
{
"server":"0.0.0.0",
"server_port":8388,
"password":"ChangeThisP@ssw0rd",
"method":"chacha20-ietf-poly1305",
"timeout":300,
"fast_open": true,
"nameserver":"1.1.1.1"
}
- 启动并设置开机自启:systemctl enable --now shadowsocks-libev。
- 示例说明:server_port 8388(可换为任意未占用端口),password 请设置复杂密码。
- 日志路径:/var/log/syslog 或使用 journalctl 查看。
- 若需多用户,可使用多实例或启用多port配置文件数组(每个用户一个端口/密码)。
6.
防火墙(UFW/iptables)与端口策略
- 基础规则(UFW示例):ufw default deny incoming; ufw default allow outgoing; ufw allow 22/tcp; ufw allow 8388/tcp; ufw allow 8388/udp; ufw enable。
- iptables 示例(快速):iptables -A INPUT -p tcp --dport 8388 -j ACCEPT;iptables -A INPUT -p udp --dport 8388 -j ACCEPT;并保存规则。
- 限制SSH尝试:更改默认端口、禁用密码登录、仅允许特定IP登录。
- 防暴力破解:配置fail2ban 针对ss服务与SSH的策略,jail.local 中添加对应filter。
- 端口混淆:使用非标准端口并配合TLS/伪装(如Haproxy或v2ray-plugin),提高被扫描检测的难度。
7.
CDN与DDoS防御策略(在台湾节点上的实践)
- CDN作用:加速静态资源、隐藏源站IP(对HTTP/HTTPS有效),对Shadowsock原生协议帮助有限。
- DDoS策略:购买带有DDoS防护的VPS或使用上游清洗服务;可在流量上游配置黑洞或限流。
- TLS/伪装:将流量伪装为HTTPS(需代理软件支持,如v2ray-plugin或tlswrap),配合域名与CDN增强隐蔽性。
- 端口分散:对外开放多个端口并动态调整,配合监控脚本自动切换异常端口。
- 监控与告警:使用基于流量阈值的告警(如Netdata/Prometheus + Alertmanager),及时发现异常流量。
8.
真实案例:台湾VPS部署示例与数据展示
- 背景:客户需求为7x24稳定翻墙服务,主要用户在东亚,选用台湾节点以降低延迟。
- VPS 选型:2 核 2GB 40GB SSD 100Mbps(样例IP 203.0.113.5,非真实分配,仅示例)。
- shadowsocks 配置(摘录):server_port=8388,method=chacha20-ietf-poly1305,password=ProdP@ss2026。
- 性能测试(iperf3 本地到台湾VPS):带宽峰值测得 95 Mbps(单线程TCP),延迟平均 28 ms。
- 运维:配置自动快照周期为每周一凌晨 03:00,保留最近 4 个快照;启用 Fail2ban 并设置触发阈值为 5 次/10 分钟。
| 项 | 示例/数值 | 说明 |
| IP(示例) | 203.0.113.5 | 文档保留地址,实际替换 |
| CPU / 内存 | 2核 / 2GB | 推荐入门配置 |
| 带宽 | 100 Mbps | 建议≥100Mbps |
| Shadowsocks端口 | 8388 | 可自定义 |
| 加密方式 | chacha20-ietf-poly1305 | 推荐 |
9.
常见问题与故障排查
- 无法连接:检查服务器端shadowsocks进程是否运行,查看systemctl status与日志。
- 端口被过滤:确认VPS提供商是否对高风险端口(如常见代理端口)做封禁,必要时切换端口。
- 高延迟/丢包:使用ping/traceroute/iperf3排查链路,考虑更换到带宽/抗DDoS更好的节点。
- 被攻击时的应急:临时下线受攻击端口,启用上游清洗或切换至同机房另一个IP并更新DNS(TTL低优先)。
- 日志排查:利用 journalctl -u shadowsocks-libev -f 实时跟踪;结合fail2ban日志分析入侵尝试。
10.
运维建议与总结
- 定期更新:保持系统与shadowsocks软件更新,修复已知漏洞。
- 最小权限:仅开放必要端口,使用SSH密钥并禁用root密码登录。
- 多层防护:结合VPS自带的基础DDoS保护、Fail2ban、CDN伪装与流量监控。
- 可扩展性:若用户量上升,考虑横向扩展多台台湾或邻近地区VPS并使用负载均衡。
- 合规提示:确保使用符合当地法律法规与服务提供商条款的用途和流量形态。
来源:shadowsock台湾服务器搭建与配置全流程图文教程