你可以使用 tc(Traffic Control)命令设置网络接口的丢包率为 50%。以下是具体操作步骤和命令示例,适用于 Linux 环境下对某个网卡接口(如 eth0)模拟 50% 丢包场景:
✅ 1. 设置 50% 丢包率
sudo tc qdisc add dev eth0 root netem loss 50%
eth0:你的网络接口名称,视具体主机可能是eth0、ens33、enp0s3等,用ip a或ifconfig查看。netem loss 50%:模拟 50% 丢包率。
🔁 2. 如果之前已经添加过 tc 配置(再添加会报错)
先删除旧规则:
sudo tc qdisc del dev eth0 root
再重新添加:
sudo tc qdisc add dev eth0 root netem loss 50%

🔍 3. 查看当前设置
tc qdisc show dev eth0
输出示例:
qdisc netem 8001: root refcnt 2 limit 1000 loss 50%
🧹 4. 清除丢包模拟设置
恢复正常网络:
sudo tc qdisc del dev eth0 root
📌 可选扩展:只对特定 IP 设置丢包
如果你只想对某个目标 IP 进行丢包,可以配合 iptables + tc filter 实现,复杂度较高,我也可以一步步帮你写。
是否需要我写成一个脚本来动态切换丢包(开/关)或者加入延迟、抖动、带宽限制等模拟参数?可以继续扩展。


1215

被折叠的 条评论
为什么被折叠?



