Linux模拟弱网丢包、延时和限制带宽

569 阅读1分钟

Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制。通过tc命令我们可以模拟弱网进行测试。

note:命令中eth0是需要模拟弱网的网卡,可通过ifconfig查看。

以下是一些常用命令:

查看规则信息
  • tc -s qdisc ls dev eth0
  • tc qdisc show
删除规则
  • tc qdisc del dev eth0 root
丢包率
  • tc qdisc add dev eth0 root netem loss 10% : 丢包率为10%
  • tc qdisc add dev eth0 root netem loss 10% 30% : 丢包率为范围(10%- 30%)
延时
  • tc qdisc add dev eth0 root netem delay 100ms :廷时100ms
  • tc qdisc add dev eth0 root netem delay 100ms 10ms :廷时100ms ± 10ms
  • tc qdisc add dev eth0 root netem delay 100ms 10ms 25% :廷时100ms 25%概率以±10ms波动延迟
最大带宽1Mbit
  • tc qdisc add dev enp0s8 root handle 1: htb default 1
  • tc class add dev enp0s8 parent 1:0 classid 1:1 htb rate 1Mbit