Приветствую Всех!Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному не могу. Использую классификацию на основе марок, очереди формирую на eth интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается... если выдать абоненту айпи без PPPoE то все работает. Кто имеет опыт в шейпинге такого рода, помогите... горю...
За ранее благодарен.
Да... не реальная задача наверное для линукса... т.к. когда пакет попадает на ppp интерфейс метка слетает после чего пакет направляется в ethernet канал... и соответственно в его очередь...
>Да... не реальная задача наверное для линукса... т.к. когда пакет попадает на
>ppp интерфейс метка слетает после чего пакет направляется в ethernet канал...
>и соответственно в его очередь...
ip link set imq0 up
iptables -t mangle -I POSTROUTING -o ppp+ -j IMQ --todev 0очереди формируй на imq0 интерфейсе
Как вариант: делай запуск шейпера ip-up там и номер интерфейса узнаешь и ии юзера и тд. У меня работает
>>Да... не реальная задача наверное для линукса... т.к. когда пакет попадает на
>>ppp интерфейс метка слетает после чего пакет направляется в ethernet канал...
>>и соответственно в его очередь...
>ip link set imq0 up
>iptables -t mangle -I POSTROUTING -o ppp+ -j IMQ --todev 0
>
>очереди формируй на imq0 интерфейсеnrvalex, а откуда уверенность что пакеты c ppp интерфейса, направляясь на eth интерфейс, попадают в iptables опять?
>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:"
>>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+?
>Так, а не проще ли тогда марки назначать после POSTROUTING с интерфейсов
>ppp+?можно на eth но это ebtables
http://ebtables.sourceforge.net/examples/example5.html
>Приветствую Всех!
>
>Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том
>что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному
>не могу. Использую классификацию на основе марок, очереди формирую на eth
>интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается...
>если выдать абоненту айпи без PPPoE то все работает. Кто имеет
>опыт в шейпинге такого рода, помогите... горю...
>
>За ранее благодарен.
а ты используй radius и к имени клиента прилепляй скрипт фильтра и будет
тебе счастье
>>Приветствую Всех!
>>
>>Народ не получается шейпить каналы абонентов подключенных по PPPoE. Проблема в том
>>что ppp интерфейсы у них постоянно разные, т.е. привязаться к конкретному
>>не могу. Использую классификацию на основе марок, очереди формирую на eth
>>интерфейсе (трафик абонентов всеже проходит через eth). И ничего не получается...
>>если выдать абоненту айпи без PPPoE то все работает. Кто имеет
>>опыт в шейпинге такого рода, помогите... горю...
>>
>>За ранее благодарен.
>а ты используй radius и к имени клиента прилепляй скрипт фильтра и
>будет
>тебе счастьес радиусом в базе еще придется и скорость прописывать...
>Приветствую Всех!
>
>Народ не получается шейпить каналы абонентов подключенных по 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
>>Приветствую Всех!
>>
>>Народ не получается шейпить каналы абонентов подключенных по 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