V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
V2EX  ›  Linux

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

  •  
  •   Yingc · 15 天前 · 869 次点击

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

    8 回复  |  直到 2018-01-09 17:35:13 +08:00
        1
    tammy   15 天前 via Android
    开机场的麻烦花钱外包吧
        2
    Yingc   15 天前
    @tammy 机场的源码里,早就有限速策略的了,我还何苦用这些限速?不自己没事找事吗?
    我的这个不是机场的,我问的是否能实现。并且我也知道 iptables 早就可以实现,只是我想知道 iotables + TC 的。
    由于我找了很多资料,大多数 TC 用在内网,或者只针对单个 IP。我觉得你也不怎么样。
        3
    Yingc   15 天前
    @tammy 这是送给你的,不用找外包了。https://www.jianshu.com/p/4831387cee90
        4
    azh7138m   15 天前
    这个没啥意思的的,iptables 的 hashlimit 就能做,还有突发速率和平局分别设定,你拿 docker 跑的话,其实有限速的 api 可以用啊,为啥用 iptables ?
        6
    topbandit   15 天前
    hashlimit 就可以实现
        7
    Yingc   14 天前
    @topbandit 谢谢,这我知道的,只是我想看看大伙对 TC 这个是不是和我想的一样,果然。这个不适合。
        8
    Yingc   14 天前
    @azh7138m 谢谢指点。
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   3190 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 70ms · UTC 05:47 · PVG 13:47 · LAX 21:47 · JFK 00:47
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1