买了半年 VPS,我才发现自己一直用的是"假 CN2"
最近帮朋友选 VPS,他指着某家商家的套餐页面问我:"这个写着 CN2,和那个写着 CN2-GIA 有什么区别?贵一倍值得吗?"
我当时沉默了一下。
不是因为不知道怎么解释,而是因为我突然意识到——很久之前,当我第一次玩机的时候,还是个小白,被忽悠买了劣质商家的机器,自己用了半年的那台 VPS,我其实也没认真验证过它的线路。商家写的是"CN2 优化线路",我就信了。
后来我跑了一遍测试,结果是电信163。
线路这件事,比你想象的复杂
很多人买 VPS 的时候,看到商家写"CN2"就觉得没问题了。但实际上,光是电信这一家运营商,就有好几条差异巨大的线路:
电信163(AS4134),这是最普通的国际出口,便宜量大,高峰期延迟抖动明显,晚上经常跑不动。
电信CN2(AS4809),质量好一些,走的是电信自己的骨干网,但"CN2"这个词被滥用得很厉害,部分商家标注CN2实际上只是出口段用了一小段CN2,核心路由还是163。
电信CN2-GIA,才是真正的双向CN2全程,延迟低、丢包少、稳定性强——价格也是前两者的好几倍。
联通这边也是类似的情况,169普通线路、9929精品线路、CUG国际线路,性能差距同样明显。移动CMI也有自己的层级区分。
说白了,"CN2"三个字可能是你花了高价的理由,也可能是商家写来糊弄你的。
我们以前是怎么验证线路的
以前想搞清楚自己VPS走的什么路,通常有几种方法:
一是找在线测速网站跑个 SpeedTest,但那只能测带宽,完全不知道路由怎么走的。
二是自己手跑 traceroute,把每一跳的 IP 复制出来,一个个去查 ASN,判断是电信还是联通的节点。这个方法准确,但贼麻烦——光是看懂 traceroute 的输出就要花时间,而且回程路由完全看不到。
还有一个更大的问题:去程和回程走的不一定是同一条线路。你从北京访问 VPS,去程可能走 CN2,但 VPS 响应数据回来的时候,走的可能是另一条路。两条路加起来才是你实际体验到的网络质量。
大多数人只测了去程,以为线路好,实际体验却一言难尽。
如何能测得VPS的不同线路
我找了一个叫 routeprobe 的工具,专门跑在 VPS 上,用来同时测去程和回程的线路情况。
它做的事情简单说就是:
- 去程:从你的 VPS 出发,跑 traceroute 到目标地址,逐跳分析走了哪些运营商节点,自动识别是 CN2、163、9929 还是 CMI。
- 回程:借助探针网络,从目标所在地区的节点反向 traceroute 回你的 VPS,看看数据回来走的什么路。
- 两条路都测完之后,输出一份简明的结果报告,线路名称、延迟数值都直接显示出来。
最重要的是——它有一个交互式的终端面板,不需要你自己拼命令。SSH 进去,跟着提示输入,回车就能跑。不懂 traceroute 也没关系,识别逻辑都内置好了。
实际跑一下长什么样
工具启动之后是这样的界面:
VPS 工具包 - 终端面板
========================================================
上次执行: 暂无记录
1) 去程回程线路探测
测量本机到目标 IP 的去程/回程线路名称与延迟
0) 退出
选 1 之后,会依次问你目标地址(默认测中国大陆 223.5.5.5 和美国西海岸 74.82.42.42)、要不要开启第三方回程探测、最大跳数这些参数。大多数情况下一路回车用默认值就行。
跑完之后的结果大概是这样:
[线路测量结果]
测试时间: 2025-xx-xx xx:xx:xx
服务器: your-vps-hostname
--------------------------------------------------------
目标地区: 中国大陆(223.5.5.5)
去程线路: 电信CN2
去程延迟: 38.24 ms
回程线路: 电信CN2-GIA
回程延迟: 41.07 ms
--------------------------------------------------------
目标地区: 美国西海岸(74.82.42.42)
去程线路: 境外骨干
去程延迟: 156.83 ms
回程线路: 境外骨干
回程延迟: 162.10 ms
回程备注: 仅识别到境外骨干段,未能识别到入境后的国内运营商段。
--------------------------------------------------------
一眼就能看出来,去程CN2、回程CN2-GIA,这台机器对电信用户其实不错。
如果跑出来去程是"电信163"、回程是"未测",那你就知道商家说的"CN2优化"水分有多大了。
怎么用
工具用 Go 写的,单文件编译,部署起来很简单。SSH 进你的 VPS,运行下面这一行:
curl -fsSL https://raw.githubusercontent.com/luxuanzhao03/vpstools/main/onekey.sh | bash
脚本会自动检测 Go 环境,没有的话会帮你装好,然后编译并启动面板。整个过程不需要你手动配置任何东西。
如果想手动来:
git clone https://github.com/luxuanzhao03/vpstools.git
cd vpstools/tools/01-routeprobe
chmod +x bootstrap.sh
./bootstrap.sh --run-panel
不想用面板、只要输出 JSON 结果也行:
./vps-tools -targets "223.5.5.5,74.82.42.42" -out result.json
什么时候应该跑这个测试
有几个场景特别适合用这个工具:
买之前:如果商家允许退款试用期,进去第一件事就跑一遍,看看线路是不是和宣传一致。
续费之前:有些服务商会在你续费之后悄悄降级线路,或者高峰期路由变差。定期跑一次,心里有数。
对比选择:手里有两台 VPS,不知道留哪个,跑一遍线路测试,数据会说话。
排查网络问题:应用访问国内慢,不知道是 VPS 问题还是线路问题,跑一遍看看延迟和路由有没有异常。
最后说一句
线路好不好,说到底只有测了才知道。商家的宣传页只是宣传页,跑出来的数字才是真的。
这个工具代码开源在 GitHub,是不收费,有问题也欢迎提 Issue。
如果你正好在选 VPS,或者手里有几台机器想摸清楚底细,不妨进去跑一遍。结果可能会让你有点意外。