我是新手使用
tc和
netem.我想延迟发送到特定IP地址的数据包.但是,下面的命令会导致系统上的所有数据包都被延迟,而不仅仅是IP地址1.2.3.4:
tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: prio tc qdisc add dev eth0 parent 1:1 handle 2: netem delay 500ms tc filter add dev eth0 parent 1:0 protocol ip pref 55 handle ::55 u32 match ip dst 1.2.3.4 flowid 2:1
我的猜测是我需要在末尾使用某种全能过滤器来指定所有剩余的流量不应该通过netem.但我无法得到任何工作.我怎么能让这个工作?
解决方法
好的,我解决了自己的问题.事实证明,如果您执行上面的前3行(“tc qdisc”),它将延迟所有数据包,因为还没有过滤器.第4行将其更改为仅延迟来自该单个IP地址的数据包.可以添加其他过滤行以将其他IP地址添加到“延迟”列表.所以:不要在没有指向它的过滤器的情况下创建“netem delay”行.