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

Linux 如何对某个 IP 进行上传与下载的限速。

  •  
  •   Shadowxxx · 5 天前 · 1203 次点击

    如题,linux 如何对某个 IP 进行上传与下载的限速。

    13 条回复    2024-12-29 09:28:02 +08:00
    Yien
        1
    Yien  
       5 天前
    TC
    tool2dx
        2
    tool2dx  
       5 天前
    if (ip == block_ip) then drop_package_random();

    UDP 不好限速,只能随机掉包。
    Shadowxxx
        3
    Shadowxxx  
    OP
       5 天前
    @Yien 我知道 tc ,具体点。
    GeekGao
        4
    GeekGao  
       5 天前   ❤️ 1
    Yien
        5
    Yien  
       5 天前
    tc qdisc add dev eth0 root handle 1: htb default 30
    tc class add dev eth0 parent 1: classid 1:1 htb rate 2Mbps ceil 2Mbps
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2Mbps ceil 2Mbps
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.100 flowid 1:10
    Shadowxxx
        6
    Shadowxxx  
    OP
       5 天前
    @Yien 上传和下载都能限制?
    wangyzj
        7
    wangyzj  
       5 天前
    @Yien #1 正解
    Shadowxxx
        8
    Shadowxxx  
    OP
       5 天前
    @wangyzj 没法限制下载的。
    Shadowxxx
        9
    Shadowxxx  
    OP
       4 天前
    谁能指导下怎么限制下行速度
    PTLin
        10
    PTLin  
       4 天前
    这问题挺感兴趣特意查了下。
    一般只能对发送队列进行整形,对接收方向的整形没意义,所以想要限制下载速度需要模拟一个虚拟的发送设备,对这个发送设备限流,然后进行重定向。
    具体做法首先就是要有 ifb 功能,可以 build 在内核中或者编译成模块,然后使用以下命令。
    modprobe ifb
    ip link add dev ifb0 up type ifb
    tc qdisc add dev eth0 handle ffff: ingress
    tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
    tc qdisc add dev ifb0 root handle 1: htb default 10
    tc class add dev ifb0 parent 1: classid 1:1 htb rate 1000mbit
    tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit
    piero66
        11
    piero66  
       4 天前
    tc + ifb
    Shadowxxx
        12
    Shadowxxx  
    OP
       3 天前
    @PTLin 我都试过了,效果并不好。
    DefoliationM
        13
    DefoliationM  
       3 天前 via Android
    新建一个 tun 网卡,要限速的路由到 tun 网卡,限速逻辑自己写。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2713 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:14 · PVG 19:14 · LAX 03:14 · JFK 06:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.