linux – 使用tc为出站UDP数据包添加延迟

linux – 使用tc为出站UDP数据包添加延迟,第1张

概述我想在tc中使用fw过滤器对出站UDP数据包施加任意延迟;但是,我无法让过滤器正常工作: tc qdisc add dev eth0 root handle 1: priotc qdisc add dev eth0 parent 1:3 handle 30: netem delay 200mstc filter add dev eth0 parent 1:0 protocol ip prio 我想在tc中使用fw过滤器对出站UDP数据包施加任意延迟;但是,我无法让过滤器正常工作:
tc qdisc add dev eth0 root handle 1: priotc qdisc add dev eth0 parent 1:3 handle 30: netem delay 200mstc filter add dev eth0 parent 1:0 protocol ip prio 3 handle 1 fw flowID 1:3iptables -A PREROUTING -i eth0 -t mangle -p udp -j MARK --set-mark 1

如果我使用以下u32过滤器,我会得到所需的效果:

tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip dport 53 0xffff flowID 1:3

我不想使用u32过滤器,更令人不安的是我无法让–ttl-set或–set-tos manglers在Ubuntu 10.04中工作.

这两者可能完全不相关,但我担心数据包没有被iptables标记.我一直无法找到测试标记的方法.

解决方法 我用iptables的另一个功能而不是–set-mark结束了解决我的问题:
iptables -t mangle -A POSTROUTING -o eth0 -p udp -j CLASSIFY --set-class 1:3

在希望完成这个看似简单的任务之前,我希望这可以帮助某些人在tc的复杂性上努力工作.

编辑:

安迪史密斯是对的,我应该一直在标记POSTROUTING链!以下规则应与–set-mark一起使用:

iptables -A POSTROUTING -t mangle -p udp -j MARK --set-mark 1
总结

以上是内存溢出为你收集整理的linux – 使用tc为出站UDP数据包添加延迟全部内容,希望文章能够帮你解决linux – 使用tc为出站UDP数据包添加延迟所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1038632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存