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

以上介绍的都是比较简单的限制,如果需要了解更多,可以看下面这个链接
#https://blog.csdn.net/hexf9632/article/details/118568933---------Linux 下 TC 命令原理及详解

你可能感兴趣的:(测试工具,linux,网络,bash)