最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 网络故障模拟实战:利用 tc 模拟网络链路延迟的方法
时间:2026-07-03 10:10:00 编辑:袖梨 来源:一聚教程网
Linux下用tc模拟网络延迟的核心是利用内核netem模块在网卡出口注入可控延迟,支持固定延迟、抖动、丢包等组合场景,并需注意远程操作安全防护。
Linux 下用 tc 模拟网络链路延迟,核心就是利用内核自带的 netem 模块配合 tc 工具,在指定网卡的出口方向注入可控延迟。它不依赖第三方软件,生效快、精度高,且能贴近真实网络波动特性。
确认环境与网卡设备
先确保系统支持 netem:
- 运行
lsmod | grep netem,有输出说明模块已加载 - 若无输出,尝试
modprobe sch_netem手动加载 - 用
ip link show或ip addr查出实际网卡名(如eth0、ens33、enp0s3),后续命令中需准确替换
设置基础固定延迟
这是最常用也最直观的模拟方式,所有发往该网卡的 outbound 流量统一增加指定延迟:
-
sudo tc qdisc add dev eth0 root netem delay 100ms—— 添加 100 毫秒固定延迟 - 验证:执行
ping -c 4 baidu.com,观察平均时间是否明显上升(注意:只影响本机发出的包,不影响收到的响应) - 清除规则:
sudo tc qdisc del dev eth0 root
模拟真实网络抖动
纯固定延迟不够真实。公网延迟通常围绕基准值随机波动,可用抖动参数模拟:
-
sudo tc qdisc replace dev eth0 root netem delay 100ms 20ms—— 延迟在 80–120ms 之间均匀分布 - 加相关性更贴合实际:
delay 100ms 20ms 30%表示相邻数据包延迟变化倾向一致,适合模拟短时拥塞 - 进阶选正态分布:
delay 100ms 20ms distribution normal,比均匀分布更符合实测延迟分布规律
组合场景与安全防护
生产测试常需叠加多种异常。同时要注意远程操作风险:
- 延迟 + 丢包组合:
sudo tc qdisc replace dev eth0 root netem delay 150ms 30ms loss 2% - 为防 SSH 断连,建议提前设置自动恢复:
echo "sudo tc qdisc del dev eth0 root" | at now + 5 minutes - 查看当前配置:
sudo tc qdisc show dev eth0;查统计详情加-s参数
相关文章
- hdfs hive怎样保障数据可靠性 07-03
- hdfs hive怎样处理大数据量 07-03
- hdfs hive如何实现数据同步 07-03
- hive外部表的维护方式有哪些 07-03
- hive外部表适用于哪些业务场景 07-03
- 《心动小镇》海洋餐具配方位置介绍 07-03