Tor*_*xed 3 ubuntu port-forwarding tc traffic
得到以下测试规则设置:
tc qdisc add dev wlan0 root handle 1: htb
tc class add dev wlan0 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev wlan0 parent 1:1 classid 1:5 htb rate 50Kbps ceil 50Kbps burst 1kbit cburst 1kbit
tc qdisc add dev wlan0 parent 1:5 handle 5:0 sfq perturb 5
tc filter add dev wlan0 parent 1:0 protocol ip u32 match ip dport 80 0xffff classid 1:5
tc filter add dev wlan0 parent 1:0 protocol ip u32 match ip sport 80 0xffff classid 1:5
Run Code Online (Sandbox Code Playgroud)
(我也用 iptables --set-mark 尝试过这个,但没有任何真正的运气,所以我默认回到简单的“简单”tc规则。)
这个例子的工作原理是,它确实标记了我的 :80 包并限制它们但不是 50Kbps ...
wget 说:
0% [ ] 4,142,336 490K/s
Run Code Online (Sandbox Code Playgroud)tc -s class show dev wlan0 说:
root@bt:~/Desktop/tk_net# tc -s class show dev wlan0
class htb 1:5 parent 1:1 leaf 5: prio 0 rate 400000bit ceil 400000bit burst 128b cburst 128b
Sent 7234 bytes 113 pkt (dropped 0, overlimits 0 requeues 0)
rate 3584bit 7pps backlog 0b 0p requeues 0
lended: 113 borrowed: 0 giants: 0
tokens: 17500 ctokens: 17500
class htb 1:1 root rate 8000Mbit ceil 8000Mbit burst 0b cburst 0b
Sent 7234 bytes 113 pkt (dropped 0, overlimits 0 requeues 0)
rate 3584bit 7pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 15 ctokens: 15
Run Code Online (Sandbox Code Playgroud)改变:
classid 1:5 htb rate 50Kbps ceil 50Kbps
Run Code Online (Sandbox Code Playgroud)
到
classid 1:5 htb rate 1Kbps ceil 1Kbps
Run Code Online (Sandbox Code Playgroud)
在 wget 中生成 ~ 34.7K/s
并tc说:
root@bt:~/Desktop/tk_net# tc -s class show dev wlan0
class htb 1:5 parent 1:1 leaf 5: prio 0 rate 8000bit ceil 8000bit burst 127b cburst 127b
Sent 44799 bytes 644 pkt (dropped 112, overlimits 0 requeues 0)
rate 2544bit 4pps backlog 0b 0p requeues 0
lended: 641 borrowed: 0 giants: 0
tokens: 1124984 ctokens: 1124984
class htb 1:1 root rate 8000Mbit ceil 8000Mbit burst 0b cburst 0b
Sent 44601 bytes 641 pkt (dropped 0, overlimits 0 requeues 0)
rate 4208bit 7pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 15 ctokens: 15
Run Code Online (Sandbox Code Playgroud)我遵循了以下说明:
尝试限制入站/出站 :80 流量我做错了什么?
您不能使用整形来限制传入流量速率。为此,您需要使用监管,但它的有效性可能有限。
整形控制数据包从网络接口发出的速率。您设置的规则控制网络出口。
数据包以另一端发送它们的任何速率到达。管制可以通过丢弃超过此给定速率的数据包来限制数据包进入输入队列的速率。然后 TCP 应调整其发送速率。没有拥塞控制的协议(UDP 和基于它的协议)在数据包被丢弃时不会减慢速度,因此监管不会对发送方的速率产生影响。
Linux 流量整形的监管是通过入口过滤器完成的。从http://lartc.org/howto/lartc.adv-qdisc.ingress.html开始。
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |