1. 选择日本CN2线路VPS的要点
- 先问清楚供应商是否明确标注“CN2”或“CN2 GT/CT”且能提供路由测试(Looking Glass或测试IP)。
- 要求提供日本机房、机型(CPU/内存/硬盘)与带宽上行下行指标。优先选择可退款试用或按小时计费的套餐。
- 看AS号与骨干链路:供应商应能告知出口ASN(如到中国电信的直连链路),用来判断是否是真正的CN2线路。
2. 购买与系统初始化(从下单到能远程操作)
- 下单时选择常用镜像(Debian/Ubuntu/CentOS),建议用Ubuntu LTS便于后续安装工具。
- 下单后获取IP、用户名、密码或SSH密钥。首次登录:ssh root@IP。若是Windows面板,先启用SSH。
- 基本系统硬化:更新软件 apt update && apt -y upgrade;创建普通用户并禁用root密码登录(adduser youruser;usermod -aG sudo youruser)。
3. 安装常用测试与监控工具(必备命令)
- 安装:apt install -y iperf3 mtr-tiny traceroute tcpdump iftop vnstat speedtest-cli htop。
- 启动vnstat用于长期流量统计:apt install -y vnstat && systemctl enable --now vnstat。初始化网卡:vnstat -u -i eth0(替换为实际网卡)。
4. 实测CN2线路的落地链路与延迟(详细步骤)
- 使用mtr判断路由:mtr -rw -c 100 目标IP(如中国某电信IP),观察中间跃点丢包与时延突变,CN2通常在到达中国网关前延迟稳定。
- traceroute 对比:traceroute -T -p 80 目标IP(TCP traceroute可模拟HTTP端口)。若看到到达中国电信相关ASN且跳数较少,可能为CN2直连。
- 使用bgp工具在线核验:访问bgp.he.net或https://bgpview.io 输入你的IP看路径ASN与公告。
5. 速度测试实操(iperf3/speedtest)
- iperf3测试(需对端有iperf3服务器):iperf3 -c SERVER_IP -P 4 -t 30 -i 5。参数说明:-P 并发流,-t 测试时长。记录平均带宽和抖动。
- 对公网速用speedtest-cli:speedtest-cli --server SERVER_ID(先用speedtest-cli --list筛选日本/中国服务器),或直接 speedtest-cli --json 保存结果。
- 多时段测试(高峰/非高峰、不同时间):建议每天做3-4个时间点,每次至少30秒,取均值判断线路稳定性。
6. 流量控制策略概览(为何要限速与分流)
- 场景:多用户共享VPS、避免单连接占满带宽、保证重要业务优先。常用策略:全局限速(wondershaper)、精细化HTB分流(tc + iptables mark)、应用层限速(nginx limit_rate)。
- 先确认上游带宽峰值(供应商给出的带宽),再留出头部余量(一般留10%-20%余量防止突发)。
7. 使用tc + HTB做精细化带宽控制(详细命令示例)
- 初始化根队列:tc qdisc add dev eth0 root handle 1: htb default 30。
- 建立主类与子类(假设总带宽100mbit):tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit;tc class add dev eth0 parent 1:1 classid 1:10 htb rate 60mbit ceil 100mbit;tc class add dev eth0 parent 1:1 classid 1:20 htb rate 30mbit ceil 50mbit。
- 用iptables给流量打标并用tc filter匹配:iptables -t mangle -A PREROUTING -s 10.0.0.0/24 -j MARK --set-mark 10;tc filter add dev eth0 parent 1: protocol ip handle 10 fw flowid 1:10。
- 小贴士:先在测试网段试验,观察vnstat/iftop变化;记得保存脚本并开机执行。
8. 简单易用的限速工具(wondershaper与nginx限速)
- 安装wondershaper:apt install -y wondershaper;限速示例:wondershaper eth0 51200 51200(单位kbps,上传下载均50Mbps)。删除:wondershaper clear eth0。
- 如果是HTTP服务,用nginx做每连接/每IP限速:在location中加入 limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 10; limit_rate 1m;。
9. 监控、日志与自动化恢复策略
- 定时测速脚本:用crontab每小时执行iperf3或speedtest并写入CSV,便于长期分析。示例脚本保存到 /usr/local/bin/speedtest_cron.sh 并在crontab里调用。
- 警报:结合Prometheus + node_exporter或简单的邮件脚本(检测丢包阈值、延迟阈值)触发报警。
- 自动恢复:若tc配置出错可通过系统启动脚本恢复默认配置,或通过cloud-init脚本在重启时重新加载限速规则。
10. 问:如何确认我买到的日本VPS是真正走CN2线路?
- 测试方法:用mtr对比到中国电信IP的路径,观察是否在到达中国前跳数少且延迟稳定;用bgp.he.net或bgpview查看该IP的出口ASN与公告,若链路到达电信相关ASN且供应商声明CN2,则可能是真CN2。也可要求供应商提供Looking Glass测试或线路报告。
11. 答:确认CN2的实操要点
- 实操总结:多时段用mtr和iperf3测试、查看BGP公告、向供应商索要测试IP与路由证明。若需要最高可信度,可临时购买按小时计费方案做多点对比测试,或者要求供应商把目标IP路由到指定中国电信出口进行验证。
12. 问:在VPS上用tc限速会影响延迟吗?
- 简短回答:会有一定影响,但正确配置HTB与fq_codel可以在保证带宽分配的同时降低队列延迟。
13. 答:如何在保证低延迟下做带宽控制
- 建议配置:在类和队列上使用 fq_codel 或 cake 做队列管理(tc qdisc add dev eth0 root fq_codel),对延迟敏感的类设置较高优先权并配合小队列;避免过度使用较大的buffer,以减少缓冲区膨胀导致的高延迟。
14. 问:有没有简单脚本可以一键部署监控与限速?
- 简短回答:有,通常把tc配置、vnstat初始化、iperf/speedtest脚本与crontab放到一个部署脚本中即可实现一键化,但需按实际网卡与带宽调整参数。
15. 答:一键部署注意事项与示例思路
- 注意点:脚本需判断网卡名(eth0/ens3),备份当前tc/iptables规则,做好回滚;示例步骤:1) 检测网卡并初始化vnstat;2) 加载tc/htb规则模板并替换带宽数值;3) 注册定时测速任务并保存日志;4) 输出部署报告与回滚命令。
来源:cn2线路 vps租用在日本的实战案例 包括测速和流量控制经验