The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"tc - шейпинг входяшего трафика"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Квоты, ограничения, QoS / Linux)
Изначальное сообщение [ Отслеживать ]

"tc - шейпинг входяшего трафика"  +/
Сообщение от bill (??) on 31-Май-12, 12:31 
Есть клиенты, которые подключаются к серверу по VPN.
Клиенту назначается соответствующий интерфейс ppp0, ppp1 ... pppN.
Необходимо ограничить исходящий трафик от клиента, т.е. для pppN это входящий трафик.

Делаю следующим образом:
testserver:/ # tc qdisc add dev ppp0 handle ffff: ingress
testserver:/ # tc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 512kbit burst 12k drop flowid :1
RTNETLINK answers: No such file or directory
We have an error talking to the kernel

На второй строке получаю ошибку(см. выше).
Не могу понять на что ругается. По всем букварям пишут так.
В чем я ошибся? Помогите кто знает!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "tc - шейпинг входяшего трафика"  +/
Сообщение от Аноним (??) on 31-Май-12, 14:00 
>[оверквотинг удален]
> Делаю следующим образом:
> testserver:/ # tc qdisc add dev ppp0 handle ffff: ingress
> testserver:/ # tc filter add dev ppp0 parent ffff: protocol ip prio
> 50 u32 match ip src 0.0.0.0/0 police rate 512kbit burst 12k
> drop flowid :1
> RTNETLINK answers: No such file or directory
> We have an error talking to the kernel
> На второй строке получаю ошибку(см. выше).
> Не могу понять на что ругается. По всем букварям пишут так.
> В чем я ошибся? Помогите кто знает!

как вариант есть вот такой вот ip-up.local скрипт (100% рабочий)

#!/usr/bin/perl

use DBI;
require("/usr/local/dt_billing/bin/dbaccess.pm");

my $framed_ip = $ENV{'PPP_REMOTE'};
my $iface = $ENV{'PPP_IFACE'};


my $sql = $dbh->prepare("SELECT speed_rate, login FROM inet_dynamic_ip_services WHERE framed_ip = '$framed_ip'");
$sql->execute;
my @res = $sql->fetchrow_array;

my $speed_rate = $res[0];
my $speed_rate_up = $res[0];
my $burst = $speed_rate;
my $burst_up = $speed_rate_up;
my $login = $res[1];


if (($speed_rate == "0") or ($speed_rate == "")) {
exit(1);
}

system ("/sbin/tc qdisc del dev ".$iface." root");
system ("/sbin/tc qdisc add dev ".$iface." root tbf rate ".$speed_rate."kbit latency 100ms burst ".$burst."kbit");
system ("/sbin/tc qdisc del dev ".$iface." handle ffff: ingress");
system ("/sbin/tc qdisc add dev ".$iface." handle ffff: ingress");
system ("/sbin/tc filter add dev ".$iface." parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ".$speed_rate_up."kbit burst ".$burst_up."kbit drop flowid :1");


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "tc - шейпинг входяшего трафика"  +/
Сообщение от LSTemp (ok) on 01-Июн-12, 07:01 
>[оверквотинг удален]
> Делаю следующим образом:
> testserver:/ # tc qdisc add dev ppp0 handle ffff: ingress
> testserver:/ # tc filter add dev ppp0 parent ffff: protocol ip prio
> 50 u32 match ip src 0.0.0.0/0 police rate 512kbit burst 12k
> drop flowid :1
> RTNETLINK answers: No such file or directory
> We have an error talking to the kernel
> На второй строке получаю ошибку(см. выше).
> Не могу понять на что ругается. По всем букварям пишут так.
> В чем я ошибся? Помогите кто знает!

1) на сколько помню/знаю tc только с физическими интерфейсами работает (ppp к таковым не относится)

2) рубите трафик от ppp-клиентов на Вашем исходящем интерфейсе

ОС-то хоть какая? И эти ррр-клиенты просто доступ в инет получают или как (структура сети не ясна)?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "tc - шейпинг входяшего трафика"  +/
Сообщение от PavelR (ok) on 01-Июн-12, 08:43 

> 1) на сколько помню/знаю tc только с физическими интерфейсами работает (ppp к
> таковым не относится)

я шейпил уходящий в ppp трафик без проблем.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "tc - шейпинг входяшего трафика"  +/
Сообщение от bill (??) on 01-Июн-12, 09:26 
> 1) на сколько помню/знаю tc только с физическими интерфейсами работает (ppp к
> таковым не относится)
> 2) рубите трафик от ppp-клиентов на Вашем исходящем интерфейсе
> ОС-то хоть какая? И эти ррр-клиенты просто доступ в инет получают или
> как (структура сети не ясна)?

ОС - SLES 11. Да, сервер является шлюзом в инет.
На ppp интерфейсах резать трафик можно, проверено.
Задача решена. Может кому будет полезно, опишу в чем было дело.
В конфиге ведра опция CONFIG_NET_ACT_POLICE должна быть включена(модуль называется act_police). Как выяснилось она влияет на конструкцию "police rate". Без этого модуля ведро ругается на неизвестный параметр. "Вон оно чё Михалыч"(с).
Всем спасибо за помощь.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "tc - шейпинг входяшего трафика"  +/
Сообщение от LSTemp (ok) on 02-Июн-12, 00:26 
>> 1) на сколько помню/знаю tc только с физическими интерфейсами работает (ppp к
>> таковым не относится)
>> 2) рубите трафик от ppp-клиентов на Вашем исходящем интерфейсе
>> ОС-то хоть какая? И эти ррр-клиенты просто доступ в инет получают или
>> как (структура сети не ясна)?
> ОС - SLES 11. Да, сервер является шлюзом в инет.
> На ppp интерфейсах резать трафик можно, проверено.

можно, но только как на отдельном виртуальном интерфейсе с жестко заданными в определенный момент времени (как правило поднятие интерфейса) ограничениями. динамически распределять всю доступную ширину физического канала м/ду активными в данный момент ppp-пользователями (которые подключаются/отключаются, качают/не качают) не получится при таком подходе. можно IMQ юзать или парсить трафик (если он не шифруется) на физическом интерфейсе.

> Задача решена. Может кому будет полезно, опишу в чем было дело.
> В конфиге ведра опция CONFIG_NET_ACT_POLICE должна быть включена(модуль называется act_police).
> Как выяснилось она влияет на конструкцию "police rate". Без этого модуля
> ведро ругается на неизвестный параметр. "Вон оно чё Михалыч"(с).
> Всем спасибо за помощь.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру