Ubuntu 的通信网卡默认是 ens33, 本机回环网卡是 lo
# ens33 网卡延迟增加100ms
sudo tc qdisc add dev ens33 root netem delay 100ms
# 报文延迟的时间在 100ms ± 20ms 之间(90ms - 110ms)
sudo tc qdisc add dev ens33 root netem delay 100ms 20ms
# 因为网络状况是平滑变化的,短时间里相邻报文的延迟应该是近似的而不是完全随机的.这个值是个百分比,如果为 100%,就退化到固定延迟的情况;如果是 0% 则退化到随机延迟的情况
sudo tc qdisc add dev ens33 root netem delay 100ms 20ms 50%
# distribution 参数来限制它的延迟分布模型.比如让报文延迟时间满足正态分布
sudo tc qdisc add dev ens33 root netem delay 100ms 20ms distribution normal# 发送的报文有 50% 的丢包率
sudo tc qdisc add dev ens33 root netem loss 50%
# 发送的报文有 0.3% ~ 25% 的丢包率
sudo tc qdisc add dev ens33 root netem loss 0.3% 25%# 随机产生 50% 重复的包
# tc qdisc add dev ens33 root netem loss 50% # 原错误命令
sudo tc qdisc add dev ens33 root netem duplicate 50%
# 随机产生 2% 损坏的报文(在报文的随机位置造成一个比特的错误)
sudo tc qdisc add dev ens33 root netem corrupt 2%# 固定的每隔一定数量的报文就乱序一次
sudo tc qdisc add dev ens33 root netem reorder 50% gap 3 delay 100ms
# 使用概率来选择乱序的报文
sudo tc qdisc add dev ens33 root netem reorder 50% 15% delay 300mssudo tc qdisc del dev ens33 root netemsudo tc qdisc show dev ens33