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