在企业或家庭网络环境中,合理分配带宽资源、防止个别用户或应用占用过多网络资源是非常重要的。CentOS 作为一款稳定的企业级 Linux 发行版,提供了强大的网络流量整形(Traffic Shaping)功能。本文将从零开始,详细讲解如何在 CentOS 系统中使用 tc(Traffic Control)命令进行 CentOS流量整形,帮助你轻松实现 网络带宽控制 和 CentOS限速教程 中的核心操作。
网络流量整形是一种通过限制、排队或调度数据包来控制网络带宽使用的技术。它可以帮助你:
在 CentOS 7/8/Stream 中,tc 命令通常包含在 iproute 软件包中。大多数系统默认已安装,若未安装,请执行以下命令:
# 检查是否已安装 tcwhich tc# 若未安装,执行以下命令sudo yum install -y iproute# CentOS 8 / Stream 用户可使用 dnfsudo dnf install -y iproute
在使用 tc 时,你需要理解三个核心概念:
假设你的服务器外网接口是 eth0,你想限制 IP 地址 192.168.1.100 的下载速度不超过 1Mbps(即 1000kbps)。
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 1000kbit ceil 1000kbit
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.100 flowid 1:1
以上命令完成了对 192.168.1.100 的下载限速。注意:dst 表示目标地址(即本机接收的数据),因此这是限制“下载”速度;若要限制“上传”,应使用 src 并作用于内网接口(如 eth2)。
你可以随时查看当前的流量控制规则:
tc qdisc show dev eth0tc class show dev eth0tc filter show dev eth0
若要清除所有规则,执行:
sudo tc qdisc del dev eth0 root
上述命令重启后会失效。建议将命令写入启动脚本,例如 /etc/rc.local(CentOS 7)或 systemd 服务(CentOS 8+)。
# 编辑 rc.local(确保有执行权限)echo 'tc qdisc add dev eth0 root handle 1: htb default 30' >> /etc/rc.d/rc.localecho 'tc class add dev eth0 parent 1: classid 1:1 htb rate 1000kbit ceil 1000kbit' >> /etc/rc.d/rc.localecho 'tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.100 flowid 1:1' >> /etc/rc.d/rc.localchmod +x /etc/rc.d/rc.local 通过本文,你已经掌握了在 CentOS 系统中使用 tc 命令进行 CentOS流量整形 的基本方法。无论是做 网络带宽控制、限制 P2P 下载,还是保障关键业务,tc 都是一个强大而灵活的工具。虽然初学者可能觉得 tc 命令复杂,但只要理解了 qdisc、class 和 filter 的关系,配合本文的 CentOS限速教程,就能快速上手。同时,掌握 tc命令使用 技巧,将极大提升你在 Linux 网络管理方面的专业能力。
提示:实际部署前请在测试环境验证,避免影响生产网络。如有疑问,可结合 man tc 查阅官方文档。
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125639.html