linux tc命令进行网络限速、丢包、延迟设置(简单使用)

linux自带tc命令
版本不是很低的linux系统都自带tc
如果你的系统不带这个命令,建议使用类似括号中的命令进行安装 (yum -y install iproute)

TC 中使用下列的缩写表示相应的速率
Kbps:kiIobytes per second,即 “千字节每秒”
Mbps:megabytes per second,即 “兆字节每秒 ”
Kbit:kilobits per second,即 “千比特每秒”
Mbit:megabits per second,即 “兆比特每秒”

对eth0网卡限制带宽
tc qdisc add dev eth0 root tbf rate 500Kbit latency 50ms burst 15kb
#将eth0网卡限速到500Kbit/s,15bk的buffer,TBF最多产生50ms的延迟
#tbf是Token Bucket Filter的简写,适合于把流速降低到某个值

对eth0网卡进行延迟设置
tc qdisc add dev eth0 root netem delay 150ms
#设置eth0包延迟 150ms
tc qdisc change dev eth0 root netem delay 150ms 10ms
#设置eth0包延迟 150ms ± 10ms
tc qdisc change dev eth0 root netem delay 150ms 10ms 25%
#设置eth0包延迟 150ms ± 10ms,下一个随机元素取决于上一个的25%(约)
tc qdisc change dev eth0 root netem gap 5 delay 10ms
#设置eth0包延迟每5个包有一个包延迟10ms

ping该主机看延迟的网速

设置eth0丢包率
tc qdisc add dev eth0 root netem loss 50%
#设置eth0丢包率为50%

在另一台主机上对该主机进行长ping,检查丢包率

列出已有的策略
tc -s qdisc ls dev eth0
tc -q qdisc ls dev eth0
tc qdisc del dev eth0 root

解除eth0网卡的限制
#tc qdisc del dev eth root

启动时自动加载带宽限制策略
需要加什么样的限制就把命令

vim /etc/rc.local
加入:
/sbin/tc qdisc add dev eth0 root tbf rate 500kbit latency 50ms burst 15kb
保存后执行下面的命令后生效:
source /etc/rc.local

速度测试
git clone https://github.com/sivel/speedtest-cli.git
#进入到speedtest-cli目录
cd speedtest-cli/
./speedtest.py
Retrieving speedtest.net configuration...
Testing from China Telecom (117.*.*.*)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by 安徽移动5G (Hefei) [320.38 km]: 18.698 ms
Testing download speed................................................................................
Download: 213.36 Mbit/s
Testing upload speed................................................................................................
Upload: 35.82 Mbit/s

 

posted @   牧之丨  阅读(3047)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2018-06-05 linux安装mysql5.7.19
2018-06-05 Red Hat 7.2 RPM安装Mysql 5.7.12
2018-06-05 mysql安装-CentOS6下解压安装mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
2018-06-05 mysql 查看当前使用的配置文件my.cnf的方法
2018-06-05 mysql 数据库磁盘占用量统计
2018-06-05 linux tar.gz zip 解压缩 压缩命令
2018-06-05 [Linux] - xxx 不在 sudoers 文件中。此事将被报告。
点击右上角即可分享
微信分享提示