Linux模拟弱网的两种方式

TC

用于模拟丢包和延时

注:命令中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%)

延时

# 廷时100ms
tc qdisc add dev eth0 root netem delay 100ms 
# 廷时100ms ± 10ms
tc qdisc add dev eth0 root netem delay 100ms 10ms 
# 廷时100ms 25%概率以±10ms波动延迟
tc qdisc add dev eth0 root netem delay 100ms 10ms 25% 

最大带宽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

wondershaper

用于限制带宽

安装 wondershaper

sudo apt-get install wondershaper

设置带宽

# 命令规则 
sudo wondershaper <interface> <download-rate> <upload-rate> 
# 例子:将 eth0 的最大下载/上传带宽分别设定为 1000Kbit/s 和 500Kbit/s: 
sudo wondershaper enth0 1000 500 
# 清除带宽设置 
sudo wondershaper clean enth0