URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61099
[ Назад ]

Исходное сообщение
"HTB и PPPoE"

Отправлено Alexd , 20-Окт-05 13:17 
Приветствую Всех!

Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному не могу. Использую классификацию на основе марок, очереди формирую на eth интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается... если выдать абоненту айпи без PPPoE то все работает. Кто имеет опыт в шейпинге такого рода, помогите... горю...

За ранее благодарен.


Содержание

Сообщения в этом обсуждении
"HTB и PPPoE"
Отправлено Alexd , 20-Окт-05 14:00 
Да... не реальная задача наверное для линукса... т.к. когда пакет попадает на ppp интерфейс метка слетает после чего пакет направляется в ethernet канал... и соответственно в его очередь...

"HTB и PPPoE"
Отправлено nrvalex , 20-Окт-05 14:52 
>Да... не реальная задача наверное для линукса... т.к. когда пакет попадает на
>ppp интерфейс метка слетает после чего пакет направляется в ethernet канал...
>и соответственно в его очередь...
ip link set imq0 up
iptables -t mangle -I POSTROUTING -o ppp+ -j IMQ --todev 0

очереди формируй на imq0 интерфейсе


"HTB и PPPoE"
Отправлено den , 20-Окт-05 15:19 
Как вариант: делай запуск шейпера ip-up там и номер интерфейса узнаешь и ии юзера и тд. У меня работает

"HTB и PPPoE"
Отправлено Alexd , 20-Окт-05 15:52 
>>Да... не реальная задача наверное для линукса... т.к. когда пакет попадает на
>>ppp интерфейс метка слетает после чего пакет направляется в ethernet канал...
>>и соответственно в его очередь...
>ip link set imq0 up
>iptables -t mangle -I POSTROUTING -o ppp+ -j IMQ --todev 0
>
>очереди формируй на imq0 интерфейсе

nrvalex, а откуда уверенность что пакеты c ppp интерфейса, направляясь на eth интерфейс, попадают в iptables опять?


"HTB и PPPoE"
Отправлено nrvalex , 20-Окт-05 17:33 
>nrvalex, а откуда уверенность что пакеты c ppp интерфейса,
> направляясь на eth
>интерфейс, попадают в iptables опять?

http://www.docum.org/docum.org/kptd/
http://www.opennet.me/docs/RUS/iptables/#TRAVERSINGOFTABLES
есть сомнения?  проверь
iptables -t mangle -I POSTROUTING  -o ppp0 -j LOG --log-prefix "OUT ppp0:"


"HTB и PPPoE"
Отправлено Alexd , 20-Окт-05 17:40 
>>nrvalex, а откуда уверенность что пакеты c ppp интерфейса,
>> направляясь на eth
>>интерфейс, попадают в iptables опять?
>
>http://www.docum.org/docum.org/kptd/
>http://www.opennet.me/docs/RUS/iptables/#TRAVERSINGOFTABLES
>есть сомнения?  проверь
>iptables -t mangle -I POSTROUTING  -o ppp0 -j LOG --log-prefix "OUT
>ppp0:"

Так, а не проще ли тогда марки назначать после POSTROUTING с интерфейсов ppp+?


"HTB и PPPoE"
Отправлено nrvalex , 20-Окт-05 19:24 
>Так, а не проще ли тогда марки назначать после POSTROUTING с интерфейсов
>ppp+?

можно на eth но это ebtables
http://ebtables.sourceforge.net/examples/example5.html



"HTB и PPPoE"
Отправлено Z0termaNN , 21-Окт-05 15:05 
>Приветствую Всех!
>
>Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том
>что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному
>не могу. Использую классификацию на основе марок, очереди формирую на eth
>интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается...
>если выдать абоненту айпи без PPPoE то все работает. Кто имеет
>опыт в шейпинге такого рода, помогите... горю...
>
>За ранее благодарен.
а ты используй radius и к имени клиента прилепляй скрипт фильтра и будет
тебе счастье


"HTB и PPPoE"
Отправлено Alexd , 21-Окт-05 15:11 
>>Приветствую Всех!
>>
>>Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том
>>что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному
>>не могу. Использую классификацию на основе марок, очереди формирую на eth
>>интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается...
>>если выдать абоненту айпи без PPPoE то все работает. Кто имеет
>>опыт в шейпинге такого рода, помогите... горю...
>>
>>За ранее благодарен.
>а ты используй radius и к имени клиента прилепляй скрипт фильтра и
>будет
>тебе счастье

с радиусом в базе еще придется и скорость прописывать...


"HTB и PPPoE"
Отправлено DM , 22-Окт-05 12:56 
>Приветствую Всех!
>
>Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том
>что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному
>не могу. Использую классификацию на основе марок, очереди формирую на eth
>интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается...
>если выдать абоненту айпи без PPPoE то все работает. Кто имеет
>опыт в шейпинге такого рода, помогите... горю...
>
>За ранее благодарен.

если нет радиуса, то можно по-другому:
когда поднимается интерфейс то в /etc/ip-up скрипте присутствует  переменная $IFNAME - это и есть имя интерфейся - посмотри винимательно на этот скрипт

вставляешь туда что-то типа этого:

/sbin/tc qdisc add dev $IFNAME root handle 1 htb default 30 r2q 1
/sbin/tc class add dev $IFNAME parent 1: classid 1:2 htb rate $RATE ceil $CEIL prio 5
/sbin/tc qdisc add dev $IFNAME parent 1:2 handle 10 sfq perturb 10
/sbin/tc filter add dev $IFNAME parent 1:0 protocol ip prio 100 u32 match ip dst $IPREMOTE  classid 1:2



"HTB и PPPoE"
Отправлено DM , 22-Окт-05 12:58 
>>Приветствую Всех!
>>
>>Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том
>>что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному
>>не могу. Использую классификацию на основе марок, очереди формирую на eth
>>интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается...
>>если выдать абоненту айпи без PPPoE то все работает. Кто имеет
>>опыт в шейпинге такого рода, помогите... горю...
>>
>>За ранее благодарен.
>
>если нет радиуса, то можно по-другому:
>когда поднимается интерфейс то в /etc/ip-up скрипте присутствует  переменная $IFNAME -
>это и есть имя интерфейся - посмотри винимательно на этот скрипт
>
>
>вставляешь туда что-то типа этого:
>
> /sbin/tc qdisc add dev $IFNAME root handle 1 htb default 30
>r2q 1
> /sbin/tc class add dev $IFNAME parent 1: classid 1:2 htb rate
>$RATE ceil $CEIL prio 5
> /sbin/tc qdisc add dev $IFNAME parent 1:2 handle 10 sfq perturb
>10
> /sbin/tc filter add dev $IFNAME parent 1:0 protocol ip prio 100
>u32 match ip dst $IPREMOTE  classid 1:2

упс, я имел ввиду /etc/ppp/ip-up