VPS 出问题的时候,大多数人的第一反应是「被墙了」。但真正让你连不上或者变慢的,至少有四条完全不同的链路:GFW 的封锁、服务商的配额限速、服务商的 fair-use 限流,以及 abuse 投诉之后的强制处置。这四条链路的判定方法、证据要求和处理路径没有任何重叠,用错方向的代价按天算——我见过有人拿着 mtr 图跟客服争论「你们的上游在干扰我」,而客服后台里躺着的是「你这个月跑了 3.2TB,套餐配额 1TB」。
下面只处理后面三条,也就是服务商侧的三类处置:限速、停机、投诉。GFW 封锁的判定与换 IP 是另一套流程,这里只在分诊表里点到为止。文中命令我都在一台 Linux 机器上真跑过,输出原样贴出;凡是会随时间和地区变化的取值(出口 IP、延迟、被限到的具体速率),只给判据不给固定数字——那些数字明天就变了,写死了反而误导。
一、先分清四件事:被墙、被限速、被停机、被投诉
四件事的现象很像(都是「连不上」或「变慢」),但责任侧完全不同。先按下表对号,不要跳过这一步直接开工单:
| 现象 | 快速判定 | 责任侧 | 处理路径 |
|---|---|---|---|
| 境外能通、境内全不通;traceroute 出不了境 | 换一条境外网络访问同一 IP,立刻通 | GFW 封锁(服务商无感) | 换 IP、换协议、加中转,属于另一套流程 |
| 能连上,但速率长期压在同一个整数附近 | 连续三次测速都停在 9~10 Mbps 一类的整数值 | 服务商配额限速 | 查计费口径 → 工单要解释或升级套餐 |
| 实例直接关机,SSH 拒绝连接 | 控制台显示 suspended / unpaid / abuse | 服务商停机 | 先查账单与事件日志,再决定是缴费还是申辩 |
| 收到 abuse 邮件、商家要求限期处理 | 邮件里有 abuse@ 发件地址与 deadline | 投诉处置 | 止血 → 取证 → 回工单(本文第四节到第七节) |
第一分钟做三件事,顺序别乱:
1. 从境外视角确认这台机器还活着。在本机执行 curl -s https://ipinfo.io/json,返回里的 org 字段会直接告诉你这个 IP 属于哪家云、哪个 AS。我这儿随手查一个公共 DNS,返回 "org": "AS15169 Google LLC"——这个字段是判断「机房 IP 还是住宅 IP」最省事的手段,也是后面第四节解释 abuse 归属时的关键证据。
2. 从第二个视角确认是「全不通」还是「你这条线路不通」。手机热点、公司的另一条宽带、或者一台境外小鸡,任选其一。只有单向证据时,任何结论都站不住。
3. 打开商家面板看三样东西:当月已用流量(含重置日)、CPU/网络曲线、账单与事件记录。这三样是你后面所有论证的事实底盘,客服看的就是它们。
如果你手边没有第二个视角,还有一个更快的办法:拿一份现成订阅在同一台电脑、同一条宽带上连一次。订阅通、VPS 不通,问题就在 VPS 侧或它那条线路上;两个都不通,问题在本机或宽带。做这类分诊时我会常留一份订阅当对照出口,自由猫这类 IEPL 专线的价值不在便宜,而在于「它也不通吗」这个答案足够干净——它不经过你那条自建线路,一次对照就能把审查、配额、本地故障三件事切开。
二、流量配额:三种算法、三类后果
「1TB 流量」在三个商家可能是三件不同的事。下单前把这一栏读成下面三种口径之一,能省掉后面所有争论:
| 计费口径 | 怎么算 | 条款里的常见写法 | 坑在哪 |
|---|---|---|---|
| 单向(只计一侧) | 只统计出站字节,入站不计 | 「1TB 出站流量」 | 反向代理、中转、做下载站时口径反转,你以为的「不算」其实算在另一侧 |
| 双向(出入合计) | 入站 + 出站都进账单 | 「1TB 流量」不提方向 | 中转机最狠:进一次出一次,标称 500GB 的中转实际吃掉 1TB 配额 |
| 按带宽不按总量 | 只看峰值速率,不看总量 | 「100Mbps 不限流量」 | 不限流量但留着 fair use 条款,长期跑满照样被限(见第三节) |
超了配额之后,商家的处置基本落在三类里:限速到固定值直到下个重置日(最常见,通常是 1~10 Mbps 这种整数)、按 GB 超额计费(多见于大厂云)、直接暂停实例到重置日或要求升级套餐。你被限到多少,取决于条款而不是客服心情,所以工单里问的第一个问题应该是「我被限在哪个值、依据哪一条」,而不是「为什么变慢了」。
取证靠 vnstat,它读的是网卡字节,和面板的计费字节必然有差:
vnstat -m # 按月看总量,判断有没有撞配额
vnstat -d # 按天看,找峰值那天在干什么
vnstat -l # 实时速率,判断是「被限在固定值」还是「线路本身抖」
vnstat --json # 喂给脚本做告警,字段稳定好解析
没装的话 apt install vnstat && systemctl enable --now vnstat,跑满一个完整计费周期再比对。差异在 10% 以内是正常口径差(重传、被 drop 的包、统计时间点不同);差到两倍就去查有没有倍率、是不是双向、是不是把入站算了两遍。这一步别省——很多「商家偷跑流量」的指控,最后都是自己按单向算了而条款是双向。
如果你把 vnstat 的月度总量拉出来,发现自己每个月其实只跑几十 GB,那这道题可以整个删掉:与其为一台随时可能被限速的机器做配额管理,不如把出口交给成品订阅——瑶瑶领先的小流量档是 384GB / ¥9.9,比一次超额计费的金额还低。我通常建议先用 vnstat 看满一个月的真实用量,数字落在 60~120GB 的人,根本不需要自建这套运维。
三、CPU、连接数与 fair use:六个最容易踩的触发点
配额是明面上的限制,fair use 是暗面上的。商家不会给你一条「CPU 超过 X 就限速」的公式,但下面六种特征在几乎所有上游的风控规则里都算异常:
| 触发点 | 服务商看到什么 | 自查命令 | 处置 |
|---|---|---|---|
| vCPU 长期贴满 | 负载曲线连续数小时 100%,影响同宿主邻居 | uptime、top -bn1 | head -15 | 错峰跑、限核、该升配就升配 |
| 并发连接数暴涨 | 会话数远超同档位平均水平 | ss -s、ss -Htn state established | wc -l | 关掉开放代理、加认证、connlimit 限流 |
| 磁盘 IO 打满 | iowait 高、宿主盘被拖慢 | iostat -x 1(需 sysstat) | 限速写入、换盘、别在同一盘跑备份 |
| 出站 25 端口发信 | 垃圾邮件投诉、黑名单命中 | ss -Htnp state established '( dport = :25 )' | 关掉,邮件走专门的发信服务 |
| 对外扫描/爆破流量 | 上游 IDS 告警、受害方投诉 | journalctl -u ssh | grep -c "Failed password" | 换端口 + 密钥登录 + fail2ban |
| UDP 大流量/反射 | 被当成 DDoS 参与者 | tc -s qdisc show dev eth0、ss -uan | wc -l | 关掉开放的 DNS/NTP/chargen 服务 |
这里有个高频误判值得单独说。很多人跑一次 ss -s,看到第一行四位数就以为「连接数爆了」,赶紧去升级套餐。我在写这篇时在本机(Linux 6.17.0-29-generic,8 核)跑了一遍,输出是这样:
$ ss -s
Total: 1058
TCP: 28 (estab 10, closed 1, orphaned 0, timewait 1)
Transport Total IP IPv6
RAW 1 0 1
UDP 15 12 3
TCP 27 15 12
INET 43 27 16
FRAG 0 0 0
Total: 1058 是「已分配过的套接字数量」的累计口径,包含监听、TIME_WAIT、UDP 和已经关闭但还在队列里的条目;当前真正并发的 TCP 连接只有 estab 10。一个跑了几个小时的开机机器上,这个数字上千是完全正常的。判断并发要看 estab 或 ss -Htn state established | wc -l(-H 去掉表头,别把表头那一行也算成一条连接)。你的机器如果 estab 长期几千上万,那才是真的异常。
限速本身的取证在 tc 上:tc -s qdisc show dev eth0 会显示队列的 dropped、backlog 和是否被套了 tbf/htb 规则。如果你自己没配过限速规则,这里却出现了规则,说明是宿主侧在限——这种情况直接把输出贴进工单,比任何描述都有用。
四、abuse 投诉与黑名单:和「被墙」是两套完全不同的系统
先把一件事说清楚,因为它是最常见的混淆:IP 被 GFW 封,服务商侧毫无感知,账单照扣;IP 被 abuse 投诉,是有人向你的服务商举报这个 IP 在干坏事,服务商按条款处置,轻则封端口限速,重则停机解约不退费。两者唯一的交集是「这个 IP 不能用了」,除此之外没有任何关系。所以拿「我这是被墙了」去回应 abuse 工单,等于答非所问,只会让对方按流程走完停机。
| abuse 类型 | 典型来源 | 服务商处置 | 你该做的 |
|---|---|---|---|
| 开放代理被当跳板 | 扫描器发现无认证的 socks/http 端口 | 封端口、限期整改 | 加认证、只监听本地、套 TLS 并改端口 |
| 弱口令被入侵后对外爆破 | 上游 IDS、受害方投诉 | 停机直到处理完毕 | 重装系统 + 密钥登录 + 改 SSH 端口 |
| 垃圾邮件 / 25 端口发信 | Spamhaus 等黑名单回传 | 封 25、严重时停机 | 关掉 25 出站,需要发信就用专门服务 |
| UDP 反射(DNS/NTP 放大) | 上游清洗系统 | 空路由(null route)、暂停实例 | 关掉对外开放的递归解析与时间服务 |
| 版权投诉(流媒体中转、下载) | 版权方按 IP 归属发函 | 转通知、限期删除 | 停止该用途,或换到条款允许的商家 |
两个查询动作要会:看 IP 归属用 curl -s https://ipinfo.io/<ip>/json,org/asn 字段直接暴露机房属性;看邮件黑名单用 Spamhaus 的 ZEN 查询(它是 SBL、XBL、PBL 三张表的合成视图),入口在 check.spamhaus.org。但请注意一个关键边界:Spamhaus 这类黑名单影响的是你发信会不会被拒收、网站会不会被部分企业网拦,它不影响你翻墙能不能连通。被 Spamhaus 收录的人通常先发现「邮件发不出去」,而不是「节点连不上」——这两件事不要互相解释。
真的收到 abuse 邮件,处置顺序不能换,换了就会在「边查边跑」的过程中把证据搅乱:
第一步,断。systemctl stop 掉对外服务,别一边被投诉一边继续跑。绝大多数条款要求「立即停止」,态度也是处置轻重的一部分。
第二步,查。四类痕迹:登录记录 last -20、异常进程 ps aux --sort=-%cpu | head、监听端口 ss -tlnp、定时任务 crontab -l 与 ls /etc/cron.*。挖矿木马和扫描器几乎都在这四处留下痕迹。
第三步,清。能重装就重装。手工清理的可靠性远低于重装,而重装的时间成本在这种场景里几乎可以忽略。
第四步,报。带着证据回工单:做了什么、什么时候做的、现在状态如何、下一步怎么防。这套四步走完,多数商家会解除限制而不是直接解约。
这轮下来最值得反思的其实是「我为什么要自己当这个运维」。如果这台机器只是你自己的出口,就没必要在上面开多用户面板、留开放端口、装一堆用不上的服务——每多一个对外开放的入口,被投诉的概率就往上抬一档。把出口交给成品订阅(比如 SS-ID 这种固定 5 台、纯 IEPL 的方案),自建机器只保留最小权限和最少端口,这类邮件基本就与你无关了。
五、兜底架构:别让一台 VPS 当唯一出口
限速、停机、被封的共同点是「突然发生,且不给你准备时间」。所以真正的解法不是把每一类问题都修好,而是默认它一定会发生,提前留好第二出口。三层结构够用:
第一层,主出口:自建节点,性能与自主性最好,但单点。第二层,备用出口:一份独立订阅,跟自建的 IP、线路、协议全不重叠——这条最重要,因为自建出问题时你往往连查资料的工具都没有。第三层,应急:手机热点 + 已装好的客户端配置,用来在最坏情况下把工单发出去。
光有备用还不够,得演练过。五步,找个小时走一遍,总共十几分钟:
① 备用订阅装进第二个客户端(不要和主客户端共用一份配置目录,否则改错一起坏);② 给客户端做一个「全走备用」的策略组,别依赖自动测速帮你切;③ 把这条策略的快捷键或菜单入口记住,事后写在备忘里;④ 切换后手动清一次 DNS 缓存,否则你会对着正确的配置测出错误的失败;⑤ 掐表——目标 5 分钟内恢复上网,超过就说明哪里还依赖着自建那台机器。
选备用出口时,如果自建的用途是日常浏览,价格和流量是主要维度;如果是跨境业务、多账号这类对 IP 类型敏感的场景,IP 属性比价格重要——自建机房 IP 一旦被目标站点判定为数据中心地址,业务侧立刻受影响,这时候只有住宅/原生 IP 档能顶上。站内主推的四家按用途大致可以这样对照(数据取自本站导航库 2026-10-25 快照,只列月付档的范围):
| 档位 | 月费区间 | 流量区间 | 设备 | 线路特征 |
|---|---|---|---|---|
| 入门大流量档 | ¥9.9 – ¥72 | 384GB – 3072GB | 3 – 24 台 | 阶梯定价,流量翻倍价格翻倍 |
| 固定流量 IEPL 档 | ¥20 – ¥85 | 100GB – 600GB | 固定 5 台 | 全线 IEPL 专线,含新疆线路 |
| 住宅/原生 IP 档 | ¥9.9 – ¥50(另有一次性档) | 50GB – 200GB | 4 台 | 原生 IP 与住宅 IP 分档,适合业务侧 |
| 中高流量不限台数档 | ¥19.9 – ¥59.9(另有一次性大流量档 ¥65 – ¥439) | 200GB – 1000GB | 10 台至不限 | SS-Obfs / Trojan Plus,家庭多设备 |
上表四档分别对应站内主推的四家机场,其中住宅 IP 这一档是自建最难替代的一层:你可以自己搭协议、自己调线路,但你没办法把自己的机房 IP 变成住宅 IP。对做跨境业务的人来说,仙路湾这类把原生 IP 与住宅 IP 分开卖的方案,更适合放在备用层而不是当主力——它解决的是「IP 被判定」这类自建解决不了的问题,而不是速度。
六、账单与账号风控:五种最容易被停机的账单情况
停机里有一半跟技术无关,纯粹是钱的问题,而钱的问题最容易在周末和节假日发作:
| 情况 | 现象 | 处置 |
|---|---|---|
| 卡被拒 / 3DS 验证失败 | 账单页显示 unpaid,实例仍在跑 | 换支付方式重试;别等奖期结束 |
| 第三方支付通道维护 | 想付但页面报通道错误 | 提前备一种备用支付方式,别在到期当天才付 |
| 逾期宽限期用尽 | 实例关机,数据保留一段时间 | 宽限期内续费可恢复;过期后多为销毁,别赌 |
| 退款窗口过期 | 申请被拒,理由是超出条款期限 | 下单时把退款条款读一遍并截图留存 |
| 实名 / KYC 未完成 | 面板提示需验证,到期停服 | 按商家流程补资料;不接受就走迁移预案 |
三条经验:账期别压在月底(月底是各商家账单系统最忙的时候,也是支付通道最容易出问题的时候);年付折扣再香也要看商家寿命,预付一年等于给对方的经营风险做无息贷款,这一点在机场侧和 VPS 侧同样成立;同一账号别跑全部业务,主力机、备用机、测试机分开账号,一次风控不至于全灭。
七、工单怎么写才有人管:五份证据与一份模板
客服一天看几百条工单,决定他认真读还是模板回复的,往往只有前两行。五份东西带上,命中率会明显不同:
① 时间戳与时区:写「10-24 21:30 (UTC+8)」,不要写「昨天晚上」。② 文本形式的命令输出:截图能看不能搜,纯文本可以复制进内部系统。③ 双向证据:境外视角 + 国内视角各一条,说明「不是我这边的单点故障」。④ 影响面:单端口、整机、还是所有用户,直接决定对方派哪一级处理。⑤ 你要什么:换 IP、解除限速、解释配额算法、还是退款——一句话说清,别让对方猜。
标题:[Throttle] node-sg01 — 出站速率被限制在约 10Mbps — 2026-10-24 21:30 (UTC+8)
1. 现象:连续三次测速(21:30 / 21:45 / 22:00)速率稳定在 9.6~10.1Mbps,
此前同一时段为 200Mbps 量级;同日 14:00 前正常。
2. 时间线:
10-24 14:00 前正常 → 20:50 起速率台阶式下降到 10Mbps
3. 证据:
- 面板当月用量:已用 812GB / 配额 1000GB(未超)
- vnstat -m 同期统计:798GB(差 1.7%)
- tc -s qdisc show dev eth0 输出见附文(无本地限速规则)
- 境外另一节点到该机 iperf3 结果见附文
4. 已排查:本机无 tc 规则、无 iptables 限速、邻居同机房机器正常
5. 请求:请确认是否触发 fair-use 限速,若已限速请告知依据条款与解除条件
三个反例,看到就改:「我的服务器不能用了,赶紧处理」——没有现象、没有时间、没有请求,只能拿到模板回复;一次报十个问题——客服只会挑最省事的那个回;上来就谈退款和差评——把技术问题变成商务冲突,处理级别反而降低。
发出之后的跟进也有节奏。第一封给 24 小时;没回音就在同一张单里追加一条补充信息(新的复现时间、新的命令输出),不要另开新单——重复开单在多数工单系统里会被合并,优先级反而更低。48 小时仍无实质回复,再升级到商家的 abuse 邮箱或「升级处理」入口,把「现象、时间线、证据、已排查、请求」五段压缩成一段重发。这期间真正该动手的只有一件事:把备用出口切好,别让业务停着等回复。工单的胜负常常不在措辞,而在你是否已经把自己的可用性保住。
八、把限速挡在门外的四件日常设置
1. 流量告警。撞配额之前先收到通知,比事后申辩有用得多。用 cron 跑一个阈值脚本就够(vnstat --json 的字段很稳定):
#!/bin/sh
# /usr/local/bin/quota-alert.sh —— 当月用量超过配额的 80% 就提醒
LIMIT_GB=1000
USED=$(vnstat --json m 1 | grep -o '"bytes":[0-9]*' | head -1 | cut -d: -f2)
[ -z "$USED" ] && exit 0
GB=$((USED / 1073741824))
[ "$GB" -ge $((LIMIT_GB * 8 / 10)) ] && echo "quota: ${GB}GB / ${LIMIT_GB}GB" | mail -s "vps quota 80%" you@example.com
2. 并发连接上限。给对外服务加一道硬闸,避免被当成跳板时无限放大:
# 每个来源 IP 最多 50 条到本地 443 的并发连接
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 \
--connlimit-mask 32 -j REJECT --reject-with tcp-reset
3. 日志轮转。日志把磁盘写满是「实例异常」里最冤的一类,也是很多人第一次遇到停机时的真实原因。给自建服务单独一份策略:
# /etc/logrotate.d/proxy
/var/log/sing-box.log {
daily
rotate 7
size 50M
missingok
notifempty
compress
copytruncate
}
4. 自动更新与健康检查。升级本身有风险,但不升级的后果是被已知漏洞打穿后收 abuse 邮件。容器化部署的场景可以走带健康检查的 Compose 方案,具体做法与自愈配置见 Docker Compose 一键部署科学上网网关的做法。
顺带补一句:想把这类问题一次查干净,最好的方式还是从「症状」倒推。晚高峰慢和全天慢是两回事,前者属于线路与拥塞,判读方法见 自建节点晚高峰分段排障;而「IP 到底是被墙还是被限速」,第一步该走的是 VPS 被墙后的诊断与救活。安全侧的基础加固(端口、密钥、fail2ban)见 VPS 安全加固与防封——它恰好是降低 abuse 概率最直接的一环。
九、常见问题
Q1:被限速之后换个端口有用吗?
没用。配额限速按实例或按账号计,不看端口;换端口只对「端口被单独针控」这类封锁有效。先分清是哪一类,再决定要不要动配置。
Q2:客服说 CPU 占用高要我升级套餐,是真的吗?
有可能真、也有可能只是销售话术。判据很简单:把你的 uptime 与 top 输出贴进工单,让对方指出哪一段时间贴满、贴了多久。如果对方给不出时间段,那更像话术;如果给得出,先看那段时间你在跑什么,再决定升配还是错峰。
Q3:IP 进了 Spamhaus,会影响翻墙吗?
不会直接影响连通性。Spamhaus 是邮件与信誉体系,影响的是发信被拒、部分站点风控;翻墙连不上是另一套机制。但两者常常同时出现——因为被入侵的机器既会发垃圾邮件也会被判成肉鸡。
Q4:商家能看出我在跑代理吗?
能看到流量特征(连接数、包大小分布、长期满速),但看不到内容。所以「能不能看出」这件事不必纠结,真正决定你会不会被处置的是:有没有开放无认证端口、有没有被投诉、有没有长期跑满 fair-use 边界。
Q5:月付还是年付?
自建节点建议月付或季付。你的成本里有很大一块是「迁移成本」,而年付把迁移成本变成了沉没成本——商家停机、线路变差、被墙封段时,你都失去了用脚投票的能力。要折扣就用季付换一点,别用一年换。
Q6:被停机的数据还能拿回来吗?
看条款,通常是「宽限期内可恢复,过期销毁」。所以真正需要保的是配置与证书,不是整盘镜像。备份该备哪几样、换机怎么重建,见 自建节点备份与迁移清单。真的走到「商家不给数据」那一步,你的恢复能力完全取决于备份是否在另一家商家手里。
推荐阅读
如果你还在挑商家,自建节点选机房与下单前验机那篇把地区、机房与回程线路的判据讲得更细;要算自建到底值不值,12 个月总持有成本账本给了三档用量的盈亏平衡点;而「一个人到底要不要自己开机场」这种边界问题,自建节点不等于自建机场把带宽账与风险摊开算过一遍。