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数据包添加延迟所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)