linkupdown

Модуль для подсчета трафика в локальной сети
Ответить
Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

linkupdown

Сообщение Shturm_N »

Столкнулся с проблеммой. У абонентов не поднимаются шейпера.
Содержимое соответствующих параметров в конфиге:

Код: Выделить всё

conf{IPN_FW_START_RULE}="/usr/bin/sudo /sbin/iptables -t nat -I PREROUTING -s %IP/%MASK -j ACCEPT;
/usr/bin/sudo /sbin/iptables -I FORWARD -t filter -s %IP -d 0/0 -j ACCEPT;
/usr/bin/sudo /sbin/iptables -I FORWARD -t filter -s 0/0 -d %IP -j ACCEPT;
/usr/bin/sudo /sbin/iptables -A POSTROUTING -t nat -s %IP -j MASQUERADE;
/usr/bin/sudo /usr/abills/libexec/linkupdown ipn up eth0 %LOGIN %IP";                                                                                                                                                             
$conf{IPN_FW_STOP_RULE}="/usr/bin/sudo /sbin/iptables -t nat -D PREROUTING -s %IP/%MASK -j ACCEPT;
/usr/bin/sudo /sbin/iptables -t nat -D POSTROUTING -s %IP -j MASQUERADE;
/usr/bin/sudo /sbin/iptables -t filter -D FORWARD -s 0/0 -d %IP -j ACCEPT;
/usr/bin/sudo /sbin/iptables -t filter -D FORWARD -s %IP -d 0/0 -j ACCEPT;
/usr/bin/sudo /usr/abills/libexec/linkupdown ipn down eth0 %LOGIN %IP"; 
Вот что происходит при ручном запуске:

Код: Выделить всё

root@billing:/etc# /usr/bin/sudo /usr/abills/libexec/linkupdown ipn up eth0 test 10.10.10.10
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
Подскажите, пожалуйста, где я напутал?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: linkupdown

Сообщение ~AsmodeuS~ »

/usr/abills/libexec/linkupdown ipn up eth0 test 10.10.10.10 debug

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Код: Выделить всё

root@billing:/usr/abills/libexec# /usr/abills/libexec/linkupdown ipn up eth0 test 10.10.10.10 debug
Count:  0 Remain Time: 0
Day: 0 Session_start: 58422 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  1 Remain Time: 27978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  2 Remain Time: 114378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  3 Remain Time: 200778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  4 Remain Time: 287178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  5 Remain Time: 373578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  6 Remain Time: 459978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  7 Remain Time: 546378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  8 Remain Time: 632778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  9 Remain Time: 719178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  10 Remain Time: 805578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  11 Remain Time: 891978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  12 Remain Time: 978378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  13 Remain Time: 1064778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  14 Remain Time: 1151178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  15 Remain Time: 1237578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  16 Remain Time: 1323978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  17 Remain Time: 1410378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  18 Remain Time: 1496778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  19 Remain Time: 1583178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  20 Remain Time: 1669578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  21 Remain Time: 1755978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  22 Remain Time: 1842378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  23 Remain Time: 1928778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  24 Remain Time: 2015178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  25 Remain Time: 2101578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  26 Remain Time: 2187978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  27 Remain Time: 2274378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  28 Remain Time: 2360778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  29 Remain Time: 2447178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  30 Remain Time: 2533578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  31 Remain Time: 2619978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  32 Remain Time: 2706378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  33 Remain Time: 2792778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  34 Remain Time: 2879178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  35 Remain Time: 2965578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  36 Remain Time: 3051978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  37 Remain Time: 3138378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  38 Remain Time: 3224778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  39 Remain Time: 3311178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  40 Remain Time: 3397578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  41 Remain Time: 3483978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  42 Remain Time: 3570378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  43 Remain Time: 3656778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  44 Remain Time: 3743178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  45 Remain Time: 3829578
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  46 Remain Time: 3915978
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  47 Remain Time: 4002378
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  48 Remain Time: 4088778
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
Count:  49 Remain Time: 4175178
Day: 0 Session_start: 0 => Int Begin: 0 End: 86400 Int ID: 2
 <<!=
TT, 2
TIME_PRICE, 0
FIRST_INTERVAL, 2
Expresion:================================

END: =====================================
/sbin/tc filter del dev eth0 protocol ip parent 1: prio 5021
/sbin/tc filter del dev eth0 protocol ip parent ffff: prio 5020
/sbin/tc class del dev eth0 parent 1: classid 1:4e21
/sbin/tc class add dev eth0 parent 1: classid 1:4e21 htb rate 512Kbit
/sbin/tc filter add dev eth0 protocol ip parent 1: prio 5021 u32 match ip src 0.0.0.0/0 match ip dst 10.10.10.10 flowid 1:4e21
/sbin/tc filter add dev eth0 protocol ip parent ffff: prio 5020 u32 match ip src 10.10.10.10 match ip dst 0.0.0.0/0 police rate 512Kbit burst 12k drop flowid 1:

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Каналы на пользователей так и не режутся. В конфиг добавил getif, как рекомендовано в соседней ветке.

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Добавил логирование. Валит следующее:

Код: Выделить всё

2011-11-30 18:50:01 Error: 256/ '/sbin/tc filter del dev  protocol ip parent 1: prio 5005'
2011-11-30 18:50:01 Error: 256/Неприменимый к данному устройству ioctl '/sbin/tc filter del dev  protocol ip parent ffff: prio 5004'
2011-11-30 18:50:01 Error: 256/Неприменимый к данному устройству ioctl '/sbin/tc class del dev  parent 1: classid 1:4e32' 

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: linkupdown

Сообщение ~AsmodeuS~ »

обновите билинг

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Обновил. Сейчас в лог падает:

Код: Выделить всё

sed: -e выражение #1, символ 7: незавершенная команда `s'
Expresion:================================

END:
=====================================

/sbin/tc filter del dev  protocol ip parent 1: prio 5125
/sbin/tc filter del dev  protocol ip parent ffff: prio 5124
/sbin/tc class del dev  parent 1: classid 1:4e34
/sbin/tc class add dev  parent 1: classid 1:4e34 htb rate 512Kbit
/sbin/tc filter add dev  protocol ip parent 1: prio 5125 u32 match ip src 0.0.0.0/0 match ip dst 10.10.10.52 flowid 1:4e34
/sbin/tc filter add dev  protocol ip parent ffff: prio 5124 u32 match ip src 10.10.10.52 match ip dst 0.0.0.0/0 police rate 512Kbit burst 12k drop flowid 1:
Но абонент получает не ограниченную полосу.
Я вообще правильно параметр в конфиг прописал?

Код: Выделить всё

$conf{IPN_FW_START_RULE}="/usr/bin/sudo /sbin/iptables -t nat -I PREROUTING -s %IP/%MASK -j ACCEPT;
/usr/bin/sudo /sbin/iptables -I FORWARD -t filter -s %IP -d 0/0 -j ACCEPT;
/usr/bin/sudo /sbin/iptables -I FORWARD -t filter -s 0/0 -d %IP -j ACCEPT;
/usr/bin/sudo /sbin/iptables -A POSTROUTING -t nat -s %IP -j MASQUERADE;
/usr/bin/sudo /usr/abills/libexec/linkupdown ipn up getif %LOGIN %IP debug > /tmp/ipn.log"; 

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Заменил строку:

Код: Выделить всё

$INTERFACE = `/sbin/ip route get $CLIENT_IP | head -1 | sed s/.*dev // |awk '{ print \$1 }'`;
на

Код: Выделить всё

$INTERFACE = `/sbin/ip route get $CLIENT_IP | head -1 | cut -f3 -d" "`;
теперь получаю:

Код: Выделить всё

root@billing:/usr/abills/libexec# /usr/bin/sudo /usr/abills/libexec/linkupdown ipn up getif sht 10.10.10.52 debug
Expresion:================================

END: =====================================
/sbin/tc filter del dev eth0 protocol ip parent 1: prio 5125
/sbin/tc filter del dev eth0 protocol ip parent ffff: prio 5124
/sbin/tc class del dev eth0 parent 1: classid 1:4e34
/sbin/tc class add dev eth0 parent 1: classid 1:4e34 htb rate 512Kbit
/sbin/tc filter add dev eth0 protocol ip parent 1: prio 5125 u32 match ip src 0.0.0.0/0 match ip dst 10.10.10.52 flowid 1:4e34
/sbin/tc filter add dev eth0 protocol ip parent ffff: prio 5124 u32 match ip src 10.10.10.52 match ip dst 0.0.0.0/0 police rate 512Kbit burst 12k drop flowid 1:
Но полоса у абонентов не ограничена.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: linkupdown

Сообщение ~AsmodeuS~ »

обновите еще раз

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Обновил. Но linkupdown, насколько я вижу не изменился.
Ситуация прежняя.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: linkupdown

Сообщение ~AsmodeuS~ »

заведите такого абонента в демо

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Пользователь 222. Только не нашел сервера доступа для ipn - выбрал первый попавшийся.

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

У меня совсем закончились идеи.

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Проблема в том, что шейпера не создаются на интерфейсе. Вроде скрипты выполняются. По толмудам синтаксис правилный. Но шейперов на интерфейсе нет.

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: linkupdown

Сообщение Shturm_N »

Сегодня дошли руки до этого сервера. Насколько я понимаю проблемма в linkupdown.
Пока не придумаю чтонибуть получше, сделал такой костыль:

Код: Выделить всё

root@billing:/etc/rc.d/init.d# cat /etc/rc.d/init.d/shaper.sh |grep -v "#"
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc del dev eth0 ingress

/sbin/tc qdisc add dev eth0 root handle 1: htb
/sbin/tc qdisc add dev eth0 handle ffff: ingress
В конфиге при этом такой параметр:

Код: Выделить всё

$conf{IPN_FW_START_RULE}="/usr/bin/sudo /sbin/iptables -t nat -I PREROUTING -s %IP/%MASK -j ACCEPT;
/usr/bin/sudo /sbin/iptables -I FORWARD -t filter -s %IP -d 0/0 -j ACCEPT;
/usr/bin/sudo /sbin/iptables -I FORWARD -t filter -s 0/0 -d %IP -j ACCEPT;
/usr/bin/sudo /sbin/iptables -A POSTROUTING -t nat -s %IP -j MASQUERADE;
/usr/bin/sudo /usr/abills/libexec/linkupdown ipn up eth0 %LOGIN %IP OS=Linux debug >> /tmp/ipn.log;
cat /tmp/ipn.log |grep /sbin/tc | sh";

Ответить