1.
项目概述与目标
• 目标:在
韩国VPS上搭建稳定的Shadowsocks(ss)多用户接入,并对每个用户进行精细流量配额与带宽控制。
• 场景:远程办公、开发人员VPN、按用户计费代理服务。
• 要求:每用户月度流量限制、实时带宽控制、抗DDoS与域名与CDN配合。
• 指标:目标RPS≥200、总出站带宽100Mbps、单用户峰值控制在20Mbps以内。
• 约束:VPS公网带宽通常由机房限定(例如100Mbps共享或1Gbps峰值),需做流量调度。
2.
部署环境与服务器配置示例
• 推荐OS:Ubuntu 20.04 LTS(内核建议>=5.4以利于nf_tables/conntrack)。
• Korea VPS常见规格示例:4 vCPU / 8GB RAM / 80GB NVMe / 公网带宽100Mbps(简配月流量上限3TB)。
• 系统调优建议:net.core.somaxconn=1024、net.ipv4.tcp_tw_reuse=1、conntrack max=262144。
• 软件栈:shadowsocks-libev + ss-manager(或使用shadowsocks-manager) + iptables/nft + tc。
• 存储与监控:使用Prometheus + Grafana监控流量、使用InfluxDB记录月度流量统计(每用户分表)。
3.
ss多用户管理配置与流量计量
• 多用户方式:使用ss-libev的多端口模式(port_password)或ss-manager实现端口映射管理。
• 示例port_password片段(JSON形式示意):{"mode":"tcp_and_udp","port_password":{"10001":"passwdA","10002":"passwdB","10003":"passwdC"}}。
• 流量计量:通过iptables -j ACCOUNT或conntrack结合nfacct进行每端口字节计费采集。
• 实时统计:每小时cron脚本读取/proc/net/nf_conntrack或nfacct数据并写入InfluxDB,触发超额告警。
• 表格示例(用户流量与配额):
| 端口 | 用户 | 月配额(GB) | 当月已用(GB) |
| 10001 | alice | 500 | 120 |
| 10002 | bob | 200 | 198 |
| 10003 | team | 1000 | 600 |
4.
带宽限速与流量调度实现(tc+iptables示例)
• 思路:通过iptables对目的端口打mark,然后用tc基于fw mark做HTB分配带宽。
• 标记端口示例命令:iptables -t mangle -A PREROUTING -p tcp --dport 10001 -j MARK --set-mark 11。
• tc创建根队列与子类示例:tc qdisc add dev eth0 root handle 1: htb default 30;tc class add ... rate 20mbit ceil 20mbit(每用户)。
• 绑定filter:tc filter add dev eth0 parent 1: protocol ip handle 11 fw classid 1:11。
• 示例目标:总带宽100Mbps,分配为用户A20Mbps、用户B15Mbps、保留突发空间30Mbps给CDN回源。
5.
CDN与DDoS防御协同策略
• 静态内容:将静态域名交由CDN(如Cloudflare、Akamai或国内合作)减轻VPS带宽压力。
• DDoS防护:对接具备清洗能力的上游(BGP Anycast或专业清洗节点)以应对大流量攻击。
• VPS端防御:启用fail2ban、connlimit与rate-limit规则,调整net.netfilter文件减少SYN洪泛风险。
• 应急策略:设置黑洞路由阈值、自动化检测异常流量并临时关闭被攻击端口或切换到备用IP。
• 域名/DNS策略:使用冗余DNS、短TTL及DNS记录轮换(在攻击时切换到清洗节点IP)。
6.
真实案例(中型SaaS公司在首尔部署)
• 背景:一中型SaaS公司在首尔租3台VPS做出口加速与员工ss接入,业务峰值需支持250并发。
• 节点配置:每台VPS规格4vCPU/8GB/100Mbps,月流量上限3TB,总预算约每台月付$40。
• 实施:使用ss-manager分配30个端口,每用户月配额100~500GB,使用nfacct做精准计费。
• 效果:通过HTB限速将突发流量抑制在总线100Mbps内,月均带宽利用率75%,未触及机房流量上限。
• 运维建议:结合Prometheus报警(单端口流量突增阈值10Mbps持续5分钟报警),并对超额用户自动限速或发送账单通知。
来源:韩国vps主机 ss 多用户管理与流量分配的实用解决方案