Назад | Перейти на главную страницу

максимальный лимит загрузки

Я пишу программное обеспечение для управления пропускной способностью в Linux. Я использую TC для формирования полосы пропускания, и он работал нормально. Я хочу на время ограничить полосу пропускания пользователя. Например:

Как лучше всего это сделать?

Вы можете добавить правило iptables для каждого IP-адреса и использовать его для подсчета трафика, прошедшего через правило. Просто добавьте 2 правила для каждого IP:

 iptables -A FORWARD -s <ip>
 iptables -A FORWARD -d <ip>

И тогда вы можете получить результаты с iptables -nv -L FOWARD это вернет что-то вроде этого:

# iptables -nvL FORWARD
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24    state RELATED,ESTABLISHED

Это ноль, но bytes колонка даст вам то, что вы хотите клянусь :)

После этого все, что вам нужно, это cron задание, чтобы сохранить эти значения и проверить, не превышают ли они выделенные байты на этой неделе, затем измените правила, чтобы заблокировать трафик или использовать tc чтобы ограничить их пропускную способность или что-то еще.

В модуль квот iptables тоже может быть весьма полезным.