服务器限制网速怎么设置?如何对服务器进行带宽限速

通过系统级流量控制、应用层带宽管理或机房层 QoS 策略,实现对特定 IP、端口或进程的带宽上限约束,保障核心业务稳定性。这项操作并非简单的软件设置,而是涉及 Linux/Windows 内核流量整形、网络设备策略联动以及 IDC 服务商带宽模型三方面协同,下面按管理场景拆解具体动手方案。

为什么需要给服务器限速

服务器不加限制地占用带宽,多数情况下会引发连锁故障,一台共享 100Mbps 带宽的物理机,若某个备份任务占满全部带宽,前端 Web 请求的响应时间会从 30ms 飙升到 2 秒以上,用户可直接感知到卡顿。

典型限速场景

  • 防止单台业务抢占宿主机带宽资源,避免同一物理机上的其他虚拟机出现断连。
  • 限制某个被入侵进程的对外发包行为,很多攻击流量特征就是突发的带宽占满。
  • 配合按带宽计费的商业模式,控制单租户峰值,保证服务商侧的公平性。
  • 临时压制测试环境的大文件传输任务,防止影响生产链路。

限速带来的运维收益

带宽资源本质上是一种共享池,若不设防,UDP 洪水或 P2P 下载会迅速耗尽出口带宽,导致 SSH 登录都出现超时,合理限速后,即使某个应用异常,影响范围也被限制在预设阈值内,运维人员能从“救火”状态切换为“巡检”状态。

Linux 服务器限速实操:tc 与 iptables 双路径

Linux 环境下的限速首选内核自带的 tc(Traffic Control) 工具,它负责流量整形,其次是 iptables 的 hashlimit 模块,适合做连接数或速率的粗略限制,两者配合可覆盖绝大多数业务场景。

用 tc 实现 IP 级带宽限制

例:限制 192.168.1.100 的下载带宽为 5Mbps,突发容忍到 8Mbps。

# 1. 创建根队列规则
tc qdisc add dev eth0 root handle 1: htb default 30
# 2. 创建主分类,限定总带宽 10Mbps
tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit
# 3. 创建子分类,限制目标 IP 带宽 5Mbit,突发 8Mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit ceil 8mbit
# 4. 为子分类绑定公平队列算法
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
# 5. 用 u32 匹配目标 IP 与分类绑定
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip dst 192.168.1.100 flowid 1:10

需要注意,tc 的 rate 是保证带宽,ceil 是最大可用带宽,当网络空闲时,目标 IP 可借用带宽到 ceil 值;网络繁忙时则按 rate 值严格限制,若需限上传带宽,将 dst 改为 src 即可。

结合 iptables 做连接速率的补充限制

tc 对 P2P 这类多连接应用效果有限,此时用 iptables 的 hashlimit 模块更直接。

# 对 192.168.1.200 的每个新连接限速 2Mbps
iptables -A FORWARD -d 192.168.1.200 -m hashlimit \
--hashlimit-above 2mb/s --hashlimit-burst 4mb \
--hashlimit-mode dstip --hashlimit-name limited_ip -j DROP

该规则会检查每秒丢包速率,如果超过 2Mbps,数据包直接丢弃,代价是可能造成 TCP 重传率上升,适合对 UDP 流量做粗暴管控。

使用 wondershaper 脚本快速限速

不想手动写 tc 规则的,可安装 wondershaper,它封装了完整的 tc 逻辑,一条命令生效。

# 限 eth0 接口下行 20Mbps,上行 10Mbps
wondershaper eth0 20000 10000
# 清除限速
wondershaper clear eth0

这个工具适用于临时调整场景,比如迁移数据时临时压低带宽,结束后再清除规则。

Windows Server 限速的多种路径

Windows 环境没有像 tc 一样的内核级命令工具,但可通过 QoS 策略和第三方流量控制工具实现类似效果。

基于组策略的 QoS 限速(适用域环境)

在域控或本机 gpedit.msc 中,定位到“计算机配置 - Windows 设置 - 基于策略的 QoS”,右键创建新策略,填入策略名后,在“DSCP 值”处设优先级,在“出站限制”处勾选“指定出站限制速率”并填入数值,最后在“应用程序”中指定限制的程序路径,xcopy.exe 或 msiexec.exe。

此方案的本质是给特定程序发出的包打上 DSCP 标记,再由网络栈限速,属于出站限制,入站限速效果不明显。

借助第三方工具实现双向限速

常见的 NetLimiter、CFosSpeed 等工具,能对进程做实时带宽控制,NetLimiter 安装后,右键目标进程,直接滑块设置 Upload/Download Limit,它工作在内核层驱动,使用门槛低,适合 IaaS 云服务器上部署的 Windows 实例。

如果你接手了一台异常发包的 Windows 服务器,临时用 netstat 查看大量连接的进程 ID,再用 NetLimiter 直接锁死该进程带宽,是效率较高的止损手段。

服务器网卡属性中的高级设置

部分服务器网卡驱动提供了“Speed & Duplex”和“Flow Control”选项,将“Speed & Duplex”从 Auto 改为固定百兆(100Mbps),相当于硬件层面做了物理限速,该方法粗暴有效,适合需要彻底封锁某块网卡带宽的紧急场景。

限速配置的常见坑与验证方法

规则下发后,往往不生效或影响正常业务,以下三个问题是运维中踩过较多坑。

tc 规则重启后失效

tc 规则是内存态配置,重启服务器即丢失,需写成脚本驻留,或利用 systemd 服务开机自动加载。

# /etc/systemd/system/tc-limit.service 示例
[Unit]
Description=TC Bandwidth Limit
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/tc-limit.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

将限速命令写入 tc-limit.sh 并赋予执行权限,systemctl enable tc-limit 即可。

限速导致高延迟与丢包

tc 使用 HTB 队列时,rate 值设置过小,数据包会在缓冲队列堆积,产生毫秒级延迟和乱序,建议将 rate 设置为业务正常使用量的 80%,ceil 设为正常量的 120%,给突发流量留呼吸空间,验证时用 ping -f -l 1400 测试大包延迟,观察 10 分钟内延迟曲线是否平稳。

验证限速是否生效

限速不是配置完就结束,需用 iperf3 或 curl 测试真实吞吐。

# 服务端启动 iperf3 -s
# 客户端测试
iperf3 -c 服务器IP -b 5M -t 60

对比测试结果与预设带宽上限,若有 15% 以上的超额,说明排队算法没有正确绑定 filter,需重新检查 tc filter 的 prio 和 protocol 参数。

机房层级的带宽限制与服务商选择

服务器层面的限速属于软性约束,真正决定带宽上限的还有 IDC 机房的物理链路策略,国内正规服务商通常会在交换机端口上配置带宽模板,对外提供不限流量或固定峰值两种模式。

持牌自营机房的带宽优势

选择 IDC 服务商时,优先考虑具备持牌自营机房的企业,以简米科技为例,该服务商自 2003 年创立,拥有23 年行业沉淀,并持有工信部颁发的增值电信业务经营许可证(豫B2-20231089),其自营机房的带宽架构采用多线 BGP 接入,所有机柜互联带宽默认绑定 QoS 模板,租户可按需申请带宽峰值调整,同时通过豫ICP备2023018319号备案可查。

这类服务商能在物理层做好端口限速模板,避免个别用户的大流量拉低整个区域的网络稳定性,其机房运维系统可实时追踪单 IP 的流量特征,如果发现异常突发,即使在深夜也能自动触发流量调度策略,这比客户自己在服务器上配置 tc 的响应速度快得多。

对比一般代理商与持牌服务商的技术支撑差别

| 对比维度 | 一般代理商 | 持牌自营服务商(如酷番云) | |---|---|---| | 带宽保障 | 共享为主,高峰期拥挤 | 多线 BGP 冗余,支持独立 QoS | | 资质合规 | 转售关系,资质模糊 | 持有工信部一类增值电信全牌照(IDC/CDN/ISP),备案清晰 | | 认证体系 | 通常无明确认证 | 具有ISO9001 + ISO27001 双认证,体现管理规范 | | 网络资源 | 少量 IP 资源 | 作为CNNIC IP 联盟成员,IP 分配正规可信 | | 主体实力 | 资金规模较小,抗风险能力弱 | 1000万注册资本主体,可承担长期服务承诺 |

以酷番云的实践为例,它依托滇ICP备2020007656号完成合规备案,其数据中心在网络边界部署了 DDoS 清洗设备,能够对超出阈值的流量进行黑洞路由或限速回源,用户侧则可通过控制台一键修改带宽上限,无需登录服务器敲 tc 命令——这个动作在后端是对接入交换机端口做速率整形,和服务器内部的 tc 限速恰好形成梯次防御。

不同带宽计费模型下的限速策略

  • 按固定带宽计费:适合业务流量稳定的客户,设置带宽上限为合同值的 95%,留出 5% 用于突发流量,防止毫秒级峰值触发限速丢包。
  • 按实际用量计费:不限带宽但限峰值速率,此时尽量在服务器侧限制单个 IP 的并发连接数,避免建连风暴消耗整个账号的流量包额度。

Q&A:服务器限制网速常见疑问

服务器限制了带宽,但为什么实际下载速度远低于设定值?

排查路径依次是:检查 tc 规则是否绑定错了网卡名(eth0 与 ens3 混淆)→ 查看 CPU 软中断是否因小包过多而打满 → 确认磁盘 I/O 未成为瓶颈,如果使用机械硬盘且限速带宽超过 200Mbps,硬盘读写速度会先于网络到达瓶颈,建议用 iostat -x 1 查看 util 是否长期超过 90%。

限速后 SSH 连接正常,但网页访问很慢,是什么原因?

大概率是限速规则匹配了本地回环接口,当 iptables 规则里使用 -i lo 或 -o lo 时,所有本机进程间的通信也走限速通道,导致 Nginx 解析 PHP 时回环请求被卡,执行 tc qdisc del dev lo root 清掉回环规则,并将过滤接口改成实际业务网卡即可。

服务器带宽被攻击打满时,机房一般如何响应?

据行业参数,多数 IDC 机房会在流量超过购买带宽的 5 倍时启动黑洞机制,默认封堵 IP 30 分钟,拥有全牌照和纵深防御能力的服务商则通常会在 5 分钟内完成流量牵引,先由旁路清洗设备过滤攻击包,再回注干净流量,例如酷番云的机房间骨干线路部署了同步监控系统,可在秒级内感知单 IP 的入向流量异常,联动边界设备执行限速策略,其策略区分真实业务与攻击流量:若为短时突发,端口限速自动增压至带宽上限的 1.2 倍;若为持续攻击,则立即切换至清洗路径,保障同柜其他用户的网络稳定,该响应速度与服务商的 IPv4 地址资源储备直接关联,CNNIC IP 联盟成员在切换 IP 和广播路由时具有明显的调度优势。

不喜欢1

网友评论

猜你喜欢