Модуль для подсчета трафика в локальной сети
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Пн ноя 21, 2011 1:10 pm
Столкнулся с проблеммой. У абонентов не поднимаются шейпера.
Содержимое соответствующих параметров в конфиге:
Код: Выделить всё
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
Контактная информация:
Сообщение
~AsmodeuS~ » Пн ноя 21, 2011 1:51 pm
/usr/abills/libexec/linkupdown ipn up eth0 test 10.10.10.10 debug
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Пн ноя 21, 2011 2:15 pm
Код: Выделить всё
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
Контактная информация:
Сообщение
Shturm_N » Ср ноя 30, 2011 9:17 am
Каналы на пользователей так и не режутся. В конфиг добавил getif, как рекомендовано в соседней ветке.
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Ср ноя 30, 2011 4:53 pm
Добавил логирование. Валит следующее:
Код: Выделить всё
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'
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Пт дек 09, 2011 12:48 pm
Обновил. Сейчас в лог падает:
Код: Выделить всё
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
Контактная информация:
Сообщение
Shturm_N » Вт дек 13, 2011 9:05 am
Заменил строку:
Код: Выделить всё
$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
Контактная информация:
Сообщение
~AsmodeuS~ » Ср дек 14, 2011 8:16 am
обновите еще раз
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Ср дек 14, 2011 11:53 am
Обновил. Но linkupdown, насколько я вижу не изменился.
Ситуация прежняя.
~AsmodeuS~
Site Admin
Сообщения: 5746 Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:
Сообщение
~AsmodeuS~ » Ср дек 14, 2011 2:35 pm
заведите такого абонента в демо
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Ср дек 14, 2011 4:48 pm
Пользователь 222. Только не нашел сервера доступа для ipn - выбрал первый попавшийся.
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Пн дек 19, 2011 9:50 pm
У меня совсем закончились идеи.
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Вт дек 20, 2011 11:18 am
Проблема в том, что шейпера не создаются на интерфейсе. Вроде скрипты выполняются. По толмудам синтаксис правилный. Но шейперов на интерфейсе нет.
Shturm_N
Сообщения: 141 Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:
Сообщение
Shturm_N » Вс дек 25, 2011 3:44 pm
Сегодня дошли руки до этого сервера. Насколько я понимаю проблемма в 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";