加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用tc模拟慢速连接

发布时间:2020-12-13 18:08:36 所属栏目:Linux 来源:网络整理
导读:我有一个 linux盒子(Centos 5.5),我想在其上限制网络流量.我有一个应用程序,我们分发给客户端,我想在256Mbit /秒的最小建议带宽上进行测试.到目前为止,我看到的tc教程似乎允许你根据某些标准限制带宽,但我想限制所有情况下的带宽(往/返所有IP地址,无论IP头是
我有一个 linux盒子(Centos 5.5),我想在其上限制网络流量.我有一个应用程序,我们分发给客户端,我想在256Mbit /秒的最小建议带宽上进行测试.到目前为止,我看到的tc教程似乎允许你根据某些标准限制带宽,但我想限制所有情况下的带宽(往/返所有IP地址,无论IP头是什么样的,等等).

一个教程建议我使用:

tc filter add dev eth0 protocol ip parent 10: prio 2 flowid 10:2

但是我收到以下错误:

Unknown filter "flowid",hence option 10:2 is unparsable

关于如何在所有情况下限制进出eth0的带宽的任何想法?

解决方法

如果要对所有出站流量应用限制,则根本不需要过滤器.只需将您的qdisc添加到接口根句柄,如下所示:
tc qdisc add dev eth0 root handle 1: tbf rate 256mbit latency 1ms burst 1540

如果你想塑造/警告入站流量,那就有点复杂了.你需要使用例如一个IFB接口:

modprobe ifb
ip link set dev ifb0 up
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
#  ^- this is a dummy filter,match u32 0 0 matches all traffic
tc qdisc add dev ifb0 root handle 1: tbf rate 256mbit latency 1ms burst 1540

这是一种不同的方法,使用两个简单的过滤器:

tc qdisc add dev eth0 ingress
tc filter add dev eth0 root         protocol ip u32 match u32 0 0 police rate 256mbit burst 10k drop flowid :1
tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 police rate 256mbit burst 10k drop flowid :1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读