Не разрывается PPTPD-сессия при достижении 0-вого баланса.

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

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

скорее всего не прописана програма разрыва соединения

проверет кнопку хенгап в мониторинге


при режиме DEBUG_LOG в файл abills.log попадают данные о работе дисконект программы

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

~AsmodeuS~ писал(а):скорее всего не прописана програма разрыва соединения

проверет кнопку хенгап в мониторинге

при режиме DEBUG_LOG в файл abills.log попадают данные о работе дисконект программы
1. Не уверен.
2. При нажатии кнопы [H] не происходит отключения юзера. То есть кнопу нажимаю, потом:
Отключен
Сервер доступа ID 1
Сервер доступа IP 127.0.0.1
Порт 1
SESSION_ID 48D4D02E305100
0
а юзер работает дальше.
3. Этот момент проверю (включю DEBUG_LOG), потестю и выложу логи.

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Сообщение NiTr0 »

pppd+pptpd у меня корректно рвут сессию по указанным интервалам времени и трафика (оверквота пару мб максимум). Без скрипта разрыва соединения - т.к. НАС вынесен на другую машину.
Как уже подсказывали, дело в том что радиус-клиент не получает атрибутов Session-Octets-Limit и Octets-Direction - очевидно, потому что в его словаре их нет. Словарь радиус-клиента и радиус-сервера - не один и тот же в общем случае ;)

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

_interocitor_ писал(а):
ran писал(а):а радиусклиента?
не совсем понял вопрос :oops:
в файле radiusclient.conf есть параметр

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

# dictionary of allowed attributes and values
# just like in the normal RADIUS distributions
dictionary      /etc/radiusclient/dictionary

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

ran писал(а):в файле radiusclient.conf есть параметр

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

# dictionary of allowed attributes and values
# just like in the normal RADIUS distributions
dictionary      /etc/radiusclient/dictionary
1. Да, этот параметр раскомментирован.
2. После ваших советов (NiTr0, ran, ~AsmodeuS~) вписал в /etc/radiusclient/radiusclient.conf
# Limit session traffic
ATTRIBUTE Session-Octets-Limit 227 integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE Octets-Direction 228 integer
# Connection Speed Limit
ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer
3. Всё это время занимался тестированием работы Abills. Вот какая ситуация.

Есть два пользователя с разными тарифами. У первого ограничения стоят только по депозиту, у второго - по депозиту и траффику. У первого соединение рвётся нормально, у второго - нет. Приведу скрины настроек тарифных планов.

User bainov с тарифом Безлимитный (у которого дисконнект проходит нормально):
Изображение

Изображение

Изображение



User cherepanov с тарифом Лимит 100 Mb (у которого дисконнект при уходе в минус не случается):

Изображение

Изображение

Изображение

Подскажите, в чём может быт проблема?

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

User cherepanov с тарифом Лимит 100 Mb
1. тарифный план абсолютно абсурдный

2. там не 100 лимит а 10 причём в одном направлении (получено)

3. /var/run/radattr.ppp? покажи

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

ran писал(а):
User cherepanov с тарифом Лимит 100 Mb
1. тарифный план абсолютно абсурдный

2. там не 100 лимит а 10 причём в одном направлении (получено)
Это потому что на время тестирования я поставил все ограничения в 10 раз меньше, чем должно быть в работе. То есть если лимит 100, я ставлю 10, если 50 - 5, и т.д.
3. /var/run/radattr.ppp? покажи
:?: Такого я не нашёл ни в /var/run, ни где-то ещё.

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

Такого я не нашёл ни в /var/run, ни где-то ещё
этот файл создаётся плагином radattr.so pppd в момент авторизации усера через радиус и содержит соответственно радиус атрибуты, принятые радиусклиентом от радиуссервера. Им же (плагином) и удаляется при завершении соединения

ЗЫ: вместо ? номер ppp ифейса разумеется :D
ЗЫ2: у тебя ваще плагин radattr.so подгружается??? O.O

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

ran писал(а):ЗЫ2: у тебя ваще плагин radattr.so подгружается??? O.O
в конфиге pptpd-options прописано
plugin radius.so
plugin radattr.so
По идее должен подгружаться.

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

По идее должен подгружаться.
а на самом деле? добавь в опции

debug
dump

и лог пппд при подключении в студию

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

А! Всё! Я не учёл, что
RADATTR plugin removed file /var/run/radattr.ppp1.
А вот и radattr.ppp?
radattr.ppp1 писал(а):Session-Timeout 20006
PPPD-Upstream-Speed-Limit 0
Octets-Direction 0
Framed-IP-Address 10.128.128.52
Session-Octets-Limit 1048576
Framed-IP-Netmask 255.255.255.255
PPPD-Downstream-Speed-Limit 0

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

ну вот это
Session-Timeout 20006
Session-Octets-Limit 1048576
и означает что сессия должна отключиться либо через 20006 сек после подключения либо после передачи через туннель 1048576 байт

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

ran писал(а):ну вот это
Session-Timeout 20006
Session-Octets-Limit 1048576
и означает что сессия должна отключиться либо через 20006 сек после подключения либо после передачи через туннель 1048576 байт
Ок, это понятно.

Не хочу показаться дауном, но мне до сих пор непонятно, почему при переходе границы в 0
юзер не отключается, а продолжает работать. Например, приходилось вручную отключать юзера
с депозитом -3...

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

с депозитом -3
ну а дальше-то что происходит, если руцями не отключать? работает дальше до бесконечности? когда-нибудь всё же отключается? когда? при каком депозите? через какое время после перхода депозита через 0? сколько трафика передаётся после перехода через 0? на какой скорости? покакой цене?

_interocitor_
Сообщения: 20
Зарегистрирован: Чт сен 18, 2008 3:16 am

Сообщение _interocitor_ »

ran писал(а):
с депозитом -3
ну а дальше-то что происходит, если руцями не отключать? работает дальше до бесконечности? когда-нибудь всё же отключается? когда? при каком депозите? через какое время после перхода депозита через 0? сколько трафика передаётся после перехода через 0? на какой скорости? покакой цене?
В общем, предлагаешь руками не отрубать, а подождать, посмотреть логи и тогда выяснить,
в какой момент происходит или не происходит отключение. Ок, я пару дней именно так и потестирую.

Ответить