技术解析

iptables+tc,能否针对每个来源 IP 单独公平限速?
0
2021-06-24 19:28:54
idczone

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 而作出单独限制,但目前我就想问下,我以上的能否实现,或者给几个关键词,我去查下资料。


开机场的麻烦花钱外包吧

机场的源码里,早就有限速策略的了,我还何苦用这些限速?不自己没事找事吗?
我的这个不是机场的,我问的是否能实现。并且我也知道 iptables 早就可以实现,只是我想知道 iotables + TC 的。
由于我找了很多资料,大多数 TC 用在内网,或者只针对单个 IP。我觉得你也不怎么样。

这是送给你的,不用找外包了。https://www.jianshu.com/p/4831387cee90

这个没啥意思的的,iptables 的 hashlimit 就能做,还有突发速率和平局分别设定,你拿 docker 跑的话,其实有限速的 api 可以用啊,为啥用 iptables ?

http://ipset.netfilter.org/iptables-extensions.man.html
补一个链接

hashlimit 就可以实现

谢谢,这我知道的,只是我想看看大伙对 TC 这个是不是和我想的一样,果然。这个不适合。

谢谢指点。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服