V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Shadowxxx
V2EX  ›  Linux

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

  •  
  •   Shadowxxx · Dec 27, 2024 · 2597 views
    This topic created in 487 days ago, the information mentioned may be changed or developed.

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

    13 replies    2024-12-29 09:28:02 +08:00
    Yien
        1
    Yien  
       Dec 27, 2024
    TC
    tool2dx
        2
    tool2dx  
       Dec 27, 2024
    if (ip == block_ip) then drop_package_random();

    UDP 不好限速,只能随机掉包。
    Shadowxxx
        3
    Shadowxxx  
    OP
       Dec 27, 2024
    @Yien 我知道 tc ,具体点。
    R4rvZ6agNVWr56V0
        4
    R4rvZ6agNVWr56V0  
       Dec 27, 2024   ❤️ 1
    Yien
        5
    Yien  
       Dec 27, 2024
    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
       Dec 27, 2024
    @Yien 上传和下载都能限制?
    wangyzj
        7
    wangyzj  
       Dec 27, 2024
    @Yien #1 正解
    Shadowxxx
        8
    Shadowxxx  
    OP
       Dec 27, 2024
    @wangyzj 没法限制下载的。
    Shadowxxx
        9
    Shadowxxx  
    OP
       Dec 28, 2024
    谁能指导下怎么限制下行速度
    PTLin
        10
    PTLin  
       Dec 28, 2024
    这问题挺感兴趣特意查了下。
    一般只能对发送队列进行整形,对接收方向的整形没意义,所以想要限制下载速度需要模拟一个虚拟的发送设备,对这个发送设备限流,然后进行重定向。
    具体做法首先就是要有 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  
       Dec 28, 2024
    tc + ifb
    Shadowxxx
        12
    Shadowxxx  
    OP
       Dec 28, 2024
    @PTLin 我都试过了,效果并不好。
    DefoliationM
        13
    DefoliationM  
       Dec 29, 2024 via Android
    新建一个 tun 网卡,要限速的路由到 tun 网卡,限速逻辑自己写。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3258 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 14:10 · PVG 22:10 · LAX 07:10 · JFK 10:10
    ♥ Do have faith in what you're doing.