Linux 中使用 tc 进行流量管理。具体命令的使用请参考 tc 的 man 手册。
本文简单记录一下使用 tc 模拟延时和丢包的命令。
1. 延时(1)设置延时
- # tc qdisc add dev eth0 root netem delay 30ms
上面的命令实现了给 eth0 口发包时添加 30ms 的延时。
(2)显示延时的设置
结果如下:
- [root@Kernel-Test test]# tc qdisc show
-
qdisc pfifo_fast 0: dev eth1 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
-
qdisc netem 8003: dev eth0 root limit 1000 delay 30.0ms
(3)修改延时
- # tc qdisc change dev eth0 root netem delay 40ms
(4)删除延时的配置
- # tc qdisc del dev eth0 root netem delay 40ms
2. 丢包设置丢包命令如下:
- # tc qdisc add dev eth0 root netem loss 10%
如果你是通过 SSH 登陆设备进行配置丢包的话,配置完这条命令就会感觉到机器访问时有点一卡一卡的。这说明,设备已经开始丢包了,可以通过具体抓包查看。
其他诸如修改、查看、删除的命令,都可以参考上面延时的设置。
最后一点需要注意的是,这两个命令应该都是控制的网卡出口的流量。如果想控制网卡入口的流量,应该是需要确认内核是否明确支持了,如果不支持的话,就需要修改内核配置文件,并重新编译内核。
参考链接:
阅读(2207) | 评论(0) | 转发(0) |