iptables+tc,能否针对每个来源 IP 单独公平限速?

2018-01-08 21:34:12 +08:00
 Yingc

https://i.imgur.com/WQmnMqm.png

比如我要限制 VPS 的 5000:5500 端口,每个端口都享有单独的 12M 宽带,而不是这全部的端口共用这 12M 宽带

tc qdisc add dev eth0 root handle 1:0 htb default 99 tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1000Mbit ceil 1000Mbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate 12Mbit ceil 12Mbit prio 2 tc qdisc add dev eth0 parent 1:11 handle 10: sfq perturb 10 iptables -A OUTPUT -t mangle -p tcp --sport 5000:5500 -m recent --set --name frp --rdest -j CLASSIFY --set-class 1:11 iptables -A OUTPUT -t mangle -p udp --sport 5000:5500 -m recent --set --name frp --rdest -j CLASSIFY --set-class 1:11

我知道 iptables 的 hashlimit 和 recent 模块能匹配每个来源 IP 而作出单独限制,但目前我就想问下,我以上的能否实现,或者给几个关键词,我去查下资料。

5202 次点击
所在节点    Linux
8 条回复
tammy
2018-01-08 22:29:30 +08:00
开机场的麻烦花钱外包吧
Yingc
2018-01-08 22:36:39 +08:00
@tammy 机场的源码里,早就有限速策略的了,我还何苦用这些限速?不自己没事找事吗?
我的这个不是机场的,我问的是否能实现。并且我也知道 iptables 早就可以实现,只是我想知道 iotables + TC 的。
由于我找了很多资料,大多数 TC 用在内网,或者只针对单个 IP。我觉得你也不怎么样。
Yingc
2018-01-08 22:41:17 +08:00
@tammy 这是送给你的,不用找外包了。https://www.jianshu.com/p/4831387cee90
azh7138m
2018-01-09 00:38:18 +08:00
这个没啥意思的的,iptables 的 hashlimit 就能做,还有突发速率和平局分别设定,你拿 docker 跑的话,其实有限速的 api 可以用啊,为啥用 iptables ?
azh7138m
2018-01-09 00:38:37 +08:00
topbandit
2018-01-09 10:36:01 +08:00
hashlimit 就可以实现
Yingc
2018-01-09 15:01:54 +08:00
@topbandit 谢谢,这我知道的,只是我想看看大伙对 TC 这个是不是和我想的一样,果然。这个不适合。
Yingc
2018-01-09 17:35:13 +08:00
@azh7138m 谢谢指点。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/421179

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX