1

Temat: [mało znane pakiety] ratelimit

W repozytorium OpenWrt można znaleźć się setki pakietów. Niektóre są mało znane, choć realizują ciekawe funkcje. Jednym z nich jest ratelimit.

Właściwie to oszukuję już na początku tego opisu. Pakiet jest mało znany bo dopiero pojawił się oficjalnie w repo openwrt (nie jest dostępny w bieżącym wydaniu stabilnym, jest tylko w 24.10-SNAPSHOT oraz wersji rozwojowej), i powstał jako część nowego projektu uspot. Ale nie ma problemów żeby go używać niezależnie.

Sam pakiet służy do dynamicznego limitowania przepustowości internetu dla użytkowników. Mamy co prawda już taki pakiet jak nft-qos który z powodzeniem stosuję w obrazach mifi, który opiera się na innej zasadzie (wykorzystuje nftables), ale co szkodzi mieć inną alternatywę.

Instalacja
opkg update
opkg install ratelimit

Jak już wspomniałem, jest on tylko w wersji rozwojowej OpenWrt, więc jeżeli ktoś obecnie używa wydania stabilnego to musi poczekać do następnego wydania.

Limitowanie klienta

Szybki przykład: chcemy klienta o adresie MAC 01:02:03:04:05:06 podłączonego do lanu przyciąć do 2Mbps. Robimy:

ubus call ratelimit client_set '{"device":"br-lan","address":"01:02:03:04:05:06","rate":"2mbit"}'

Cała magia dzieje się pod spodem wykorzystując tc/ifb, natychmiastowo wprowadzając odpowiednie kolejki do systemu i limitując tego klienta do podanego limitu.

Status

Można sprawdzić stan kolejek wołając

ubus call ratelimit dump
{
    "defaults": {
        
    },
    "devices": {
        "br-lan": {
            "name": "br-lan",
            "clients": {
                "01:02:03:04:05:06: {
                    "address": "01:02:03:04:05:06",
                    "id": 0,
                    "data": {
                        "rate_ingress": "2mbit",
                        "rate_egress": "2mbit"
                    }
                }
            },
            "client_order": [
                {
                    "address": "01:02:03:04:05:06",
                    "id": 0,
                    "data": {
                        "rate_ingress": "2mbit",
                        "rate_egress": "2mbit"
                    }
                }
            ]
        }
    }
}

Więcej przykładów można znaleźć na stronie projektu: https://github.com/f00b4r0/ratelimit

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

2

Odp: [mało znane pakiety] ratelimit

Ciekawy pakiet, działa podobnie jak kolejki  -queues - w mikrotiku.

Dom : router https://i.imgur.com/IuB6Zwy.png | TP-LINK T1700G-28TQ |Zyxel XGS-1210-12 | 6x Ruckus r310 unleashed  + Ruckus icx7150-c12p | Truenas scale 124TB 25Gb| Xpenology 12TB | apc smart ups 750 lcd smile 100Mb/s - 25Gb/s
Podróżne : GL.Inet MT3000  +1TB hdd
Działka : rb260gs 1j wdm 1Gb+ ruckus r310 + nb m5 + kilka kamer ip  + panel 285Wp + lifepo4 12v 60Ah .