新手必读 服务器在香港用的带宽计费和流量控制实操

2026-04-30 11:52:56
当前位置: 博客 > 香港服务器

1. 配置前的准备与确认

1.1 检查合同与面板:登录机房控制面板或服务合同,确认计费方式(按带宽峰值/95th计费 或 按流量月度计费)。
1.2 确认端口速率:查看分配的端口(例如1Gbps或10Gbps)和是否支持突发(burst)。
1.3 准备登录:准备好SSH账号、root权限、机房API(如果有),并记录监控邮箱/报警手机号。

2. 在服务器上查看实时/历史流量(实操)

2.1 安装vnStat(Debian/Ubuntu示例):sudo apt update && sudo apt install vnstat -y;启动并设置接口:sudo vnstat -u -i eth0 && systemctl enable --now vnstat。
2.2 查看当前月流量:vnstat -m;查看实时速率:vnstat -l 或用 nload/iftop:sudo apt install nload iftop -y,然后运行 nload eth0。
2.3 导出数据用于计费核对:vnstat --dumpdb > /root/vnstat.db,或用 vnstat --oneline 做脚本比对。

3. 用tc做出站带宽限制(具体命令)

3.1 基本HTB限速(示例:限制eth0出站到100Mbps):
sudo tc qdisc add dev eth0 root handle 1: htb default 30
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
sudo tc class add dev eth0 parent 1:1 classid 1:30 htb rate 100mbit ceil 100mbit
3.2 按IP/端口限速(示例限速某客户端IP到20Mbps):
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 20mbit ceil 20mbit
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 203.0.113.5/32 flowid 1:10
3.3 持久化:把以上命令写入 /etc/network/if-up.d/tc-shape 或 systemd service(示例写个脚本并 chmod +x)。

4. 按流量计费时的计量与告警自动化

4.1 使用vnStat结合crontab统计:写脚本 /usr/local/bin/check_traffic.sh 检查本月已用字节(解析 vnstat -m),比较阈值(例如80%),到达阈值时发送邮件或钉钉通知。
4.2 示例告警脚本要点:解析 vnstat 输出 -> 计算字节 -> 使用 mailx 或 curl 调用通知API -> 若超额则触发限速或添加iptables规则限制新连接。
4.3 定时任务:crontab -e 添加每小时运行:0 * * * * /usr/local/bin/check_traffic.sh >/dev/null 2>&1。

5. 在机房/云面板上做带宽控制(与供应商协作)

5.1 面板设置:登录机房控制台,查找“端口限速/流量包”设置,通常可直接设置端口固定带宽或购买按流量的包年/包月。
5.2 API自动化:若机房提供API,可写脚本按流量阈值自动切换计费包或临时提升带宽(节省人工费)。示例:用 curl 调用 /v1/ports/{id}/bandwidth。
5.3 人工沟通:若不知计费细节,直接联系机房商务确认是否按95th计算、是否双向计费(部分香港机房同时计入上行/下行)。

6. 计费类型细节与95th百分位计算方法

6.1 常见计费:按月流量(GB/月)与按带宽峰值(95th)是常见两种。95th计法:采样每5分钟的带宽,去掉最高5%的样本后取峰值。
6.2 手动计算95th:用 vnstat 或 MRTG 导出每5分钟数据,排序后去掉最上面5%点,剩余最大值即为95th峰值。
6.3 排查异常:若计费高,先用历史监控找峰值时间点,再用tcpdump/iftop定位流量来源与端口,锁定后限速或封禁。

7. 问:带宽计费和流量计费哪个更省钱?

问:在香港机房,带宽计费(按95th或峰值)和按流量计费哪个更适合我?

答:答:如果访问具有稳定高并发且长期占用高带宽(例如直播、CDN源站),带宽计费(95th)通常更划算;若流量峰值低但偶有大量传输(例如不常但大文件备份),按流量计费更合算。最好根据历史vnStat数据做模拟比价。

8. 问:如何避免被机房误扣或计错流量?

问:发现账单异常,如何核对并向机房申诉?

答:答:保存服务器本地监控(vnStat/MRTG)数据作为证据,导出对应时间段流量与95th计算过程,联系机房提供详细采样列表并请求复核。平时开启日志、抓包并设置告警可提前发现异常。

9. 问:如何让服务器端限速设置在重启后依然生效?

问:我用tc限速,服务器重启后规则丢失,有什么持久化方法?

答:答:将tc命令写成脚本并放在 /etc/network/if-up.d/ 或创建 systemd service(写 Unit 文件,ExecStart 执行脚本),同时在脚本中先清理旧qdisc(tc qdisc del)再重新添加,重启后systemd会自动加载。

相关文章