Questions tagged «tc»

3
Tc:入口管制和ifb镜像
我正在尝试按此处编写的那样在 Linux网关上设置流量整形。由于我具有多个LAN接口,因此需要自定义脚本。因此,为了塑造LAN端,我打算创建一个ifb伪设备,如下所示: modprobe ifb ip link set dev ifb0 up /sbin/tc qdisc add dev $WAN_INTERFACE ingress /sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0 上述要点回购中的脚本具有以下几行: /sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress /sbin/tc filter add dev $WAN_INTERFACE …

4
使用tc将数据包延迟到单个IP地址
我是使用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
将队列规则重置为默认的pfifo_fast?
我正在尝试暂时设置一个限速队列规则,然后稍后将其删除: # /sbin/tc qdisc add dev eth1 root tbf rate 600kbit latency 50ms burst 1540 # /sbin/tc qdisc del dev eth1 root 不幸的是,这完全消除了队列约束,并阻止了删除队列后传出数据的传输。 我希望能够将队列规则重置为默认规则: qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 …
13 linux  tc 

5
tc u32 —如何在最近的内核中匹配L2协议?
我有一个很好的成型器,带有哈希过滤,是在linux桥上构建的。简而言之,对于br0连接接口external和internal物理接口,VLAN标记的数据包是“透明”桥接的(我的意思是,那里没有VLAN接口)。 现在,不同的内核执行不同的操作。我可能对确切的内核版本范围有误,请原谅。谢谢。 2.6.26 因此,在debian中,2.6.26及更高版本(我相信最多为2.6.32)---可行: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 flowid 1:200 在这里,“内核”将“协议”字段中的两个字节与0x8100匹配,但是将ip数据包的开头计为“零位置”(对不起,我的英语不好意思,如果我不太清楚的话)。 2.6.32 同样,在debian(我还没有构建香草内核)中,2.6.32-5 ---这可行: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 at 20 …

2
Linux TC类/过滤器编号
我目前正在为ISP级公司开发一种流量整形解决方案,但遇到了一个有趣的(有点哲学上的)问题。 寻找系统应该处理的端点数量(大约2万个),我有点担心当我需要对更多用户的流量进行策略/调整时会发生什么。由于我目前在整个网络中使用HFSC整形树(请参阅tc-hfsc,与众所周知的HTB大多相同,但较冷的东西),因此,我需要使用更多的ClassID(显然,对于每个用户,至少要使用一个ClassID)网络)。我发现的问题是TC ClassID是有限的-它们是16位数字,这使我最大可能受此解决方案影响的64k用户。 同样,如果我想有效地管理TC过滤器(例如,不使用“全部刷新”),则需要能够删除或修改单个过滤器条目。(我正在使用类似于LARTC [1]中的哈希表的东西)。同样,似乎唯一适用的方法是使用单独的优先级对所有过滤器进行编号(tc filter add dev ... prio 1)。没有其他参数可用于此目的,遗憾的是,prio也是仅16位的。 我的问题是:是否存在某种扩大可用“标识符空间”的好方法,例如用于“ tc类”命令的32位clsid和用于“ tc过滤器”的32位优先级(或任何其他修改句柄)命令? 非常感谢, -mk (顺便说一句,我希望这不会出现在“ 64k用户应该对每个人都足够”的情况下...)

2
与Linux tc过滤器u32匹配的数据包数据有效载荷不一致-有人可以解释吗?
我只想提出一些建议,因为我真的不明白-为什么-是这种情况。 当服务器向其发出常规GET请求时,“ HTTP”响应的TCPDUMP输出(tcpdump -s0 -XXnni eth0 tcp端口80)进一步向下。我想做的是使用Linux u32 tc过滤器匹配TCP ack数据包的内容,查找字符串'HTTP / 1。[01] TCP ack数据包的数据有效负载中的200“(换句话说,寻找典型的“ HTTP / 1.0 200 OK”响应或“ HTTP / 1.1 200 OK”响应)。 这是tc filter命令的一个片段-这可能有助于将内容放在上下文中: tc filter add dev eth0 parent ffff: protocol ip u32 \ match ip protocol 6 0xff \ match ip sport 80 0xffff \ match …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.