设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 203|回复: 0

Linux centos 模拟网络丢包与延迟的方法

[复制链接]
 成长值: 28750

签到天数: 3797 天

[LV.Master]伴坛终老

发表于 2022/1/5 04:17 | 显示全部楼层 |阅读模式 |Google Chrome 96.0.4664.110|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
Linux centos 模拟网络丢包与延迟的方法

模拟丢包
下面命令可以模拟丢包,从 eth0 网口出去的包将随机丢失 3%:
  1. sudo tc qdisc add dev eth0 root netem loss 3%
复制代码

模拟延迟
下面命令,从 eth0 网口出去的包将延迟 140ms:
  1. sudo tc qdisc add dev eth0 root netem delay 140ms
复制代码

特定场景下的丢包和延迟
注意,上面我们介绍的命令,是针对整个 eth0 网口起作用的,也就是说,只要是从 eth0 出去的所有的包,都会产生随机丢包或者延迟。但有时候,我们只想让丢包和延迟作用于某个目的地址,那要怎么做呢?
  1. sudo tc qdisc add dev eth0 root handle 1: prio
  2. sudo tc qdisc add dev eth0 parent 1:3 handle 30: netem loss 3% delay 140ms
  3. sudo tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 199.91.72.192 match ip dport 36000 0xffff flowid 1:3
复制代码

上面的命令,我们告诉 tc,对发往 199.91.72.192:36000 的网络包产生 3% 的丢包和 140ms 的延迟,而发往其它目的地址的网络包将不受影响。

删除规则
好了,模拟完丢包和延迟之后,要记得删除掉规则:
  1. sudo tc qdisc del dev eth0 root
复制代码


欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2022/5/27 04:29 , Processed in 0.334052 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表