forum.bitel.ru
http://forum.bitel.ru/

C pppd не приходят update пакеты, Acct-Status-Type=3 отсутст
http://forum.bitel.ru/viewtopic.php?f=5&t=1919
Страница 1 из 1

Автор:  dvgorsky [ 17 фев 2009, 16:17 ]
Заголовок сообщения:  C pppd не приходят update пакеты, Acct-Status-Type=3 отсутст

Данная проблема была описана в http://bgbilling.ru/forum/viewtopic.php ... statustype , но задачи у меня не решает.
Значит версии покетов:
pppd version 2.4.4
pptpd v1.3.4
Биллинг 4.5
Система UBUNTU 8.04 TLS

Обнаружил что в словаре (dictionary) radiusclient отсутствует VALUE Acct-Status-Type Update 3 в секции Status Type, добавил, но пакетов номер 3 так и нет.

Вывод radius.log:
INFO 17.02.2009 12:08:12 AUTH:
Type=AUTHENTICATION_REQUEST
Attributes:
User-Name=test
CHAP-Password=Öz%D]ož‘®kä-“ã—
NAS-IP-Address=10.1.2.50
NAS-Port=5
Service-Type=2
Framed-Protocol=1
Calling-Station-Id=10.1.2.62
CHAP-Challenge=ªüBº¿}ûzÀᬛ¥&JCíg

INFO 17.02.2009 12:08:13 RESPONSE:
Type=AUTHENTICATION_ACCEPT
Process time:100
Attributes:
Acct-Interim-Interval=60
Service-Type=2
Framed-Protocol=1
Framed-IP-Address=10.190.190.99

INFO 17.02.2009 12:08:13 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=test
NAS-IP-Address=10.1.2.50
NAS-Port=5
Service-Type=2
Framed-Protocol=1
Framed-IP-Address=10.190.190.99
Acct-Status-Type=1
Acct-Delay-Time=0
NAS-Port-Type=0
Calling-Station-Id=10.1.2.62
Acct-Session-Id=499A7E7D287200
Acct-Authentic=1

INFO 17.02.2009 12:08:13 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

INFO 17.02.2009 12:13:19 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=test
NAS-IP-Address=10.1.2.50
NAS-Port=5
Service-Type=2
Framed-Protocol=1
Framed-IP-Address=10.190.190.99
Acct-Input-Octets=7418
Acct-Output-Octets=35084
Acct-Status-Type=2
Acct-Delay-Time=0
Acct-Session-Time=66
Acct-Input-Packets=81
Acct-Session-Id=499A7E7D287200
Acct-Authentic=1
Acct-Terminate-Cause=1
Acct-Output-Packets=89
Calling-Station-Id=10.1.2.62
NAS-Port-Type=0

INFO 17.02.2009 12:13:19 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

Помогите пожалуйста разобраться в решении данной задачи. Спасибо!

Автор:  Администратор [ 18 фев 2009, 18:30 ]
Заголовок сообщения: 

В /var/log/messages что идет по ходу соединения? Может ошибки какие? Конфигурации выложите pppd, pptpd.

Автор:  dvgorsky [ 18 фев 2009, 21:19 ]
Заголовок сообщения:  Конфиги

/var/log/messages
Feb 18 17:55:10 rs pppd[25932]: Plugin radius.so loaded.
Feb 18 17:55:10 rs pppd[25932]: RADIUS plugin initialized.
Feb 18 17:55:10 rs pppd[25932]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Feb 18 17:55:10 rs pppd[25932]: pppd 2.4.4 started by root, uid 0
Feb 18 17:55:10 rs pppd[25932]: Using interface ppp0
Feb 18 17:55:10 rs pppd[25932]: Connect: ppp0 <--> /dev/pts/4
Feb 18 17:55:10 rs pppd[25932]: rc_avpair_gen: received unknown attribute 85 of length 4: 0x0000003C
Feb 18 17:55:10 rs pppd[25932]: local IP address 10.190.190.1
Feb 18 17:55:10 rs pppd[25932]: remote IP address 10.190.190.99
#############работа################и отключаемся:
Feb 18 17:57:09 rs pppd[25932]: LCP terminated by peer (^G~^EY^@<M-Mt^@^@^@^@)
Feb 18 17:57:09 rs pppd[25932]: Connect time 2.0 minutes.
Feb 18 17:57:09 rs pppd[25932]: Sent 2197 bytes, received 3033 bytes.
Feb 18 17:57:10 rs pppd[25932]: Modem hangup
Feb 18 17:57:10 rs pppd[25932]: Connection terminated.
Feb 18 17:57:10 rs pppd[25932]: Exit.

##############################

ptpd.conf

option /etc/ppp/pptpd-options
logwtmp
localip 10.190.190.1
remoteip 10.190.190.10-99,10.190.190.100

#################################

ooptions (pptpd-options)

root@rs:/etc/ppp# grep -v ^# pptpd-options | grep -v ^$
name pptpd
refuse-pap
require-chap
require-mschap
ms-dns 10.1.2.50
proxyarp
nodefaultroute
lock
nobsdcomp
mtu 1500
default-mru
lcp-echo-interval 30
lcp-echo-failure 5
ipcp-accept-local
ipcp-accept-remote
deflate 0ptions (pptpd-options)

root@rs:/etc/ppp# grep -v ^# pptpd-options | grep -v ^$
name pptpd
refuse-pap
require-chap
require-mschap
ms-dns 10.1.2.50
proxyarp
nodefaultroute
lock
nobsdcomp
mtu 1500
default-mru
lcp-echo-interval 30
lcp-echo-failure 5
ipcp-accept-local
ipcp-accept-remote
deflate 0
plugin radius.so

#############################
options

asyncmap 0
noauth
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

################################
конф модуля dialup

#вендоры - производители оборудования и их коды
vendors=9=Cisco;2011=Huawei;2021=Unix PPP;529=Lucent;6618=Quintum;529=Ascend;311=Microsoft;12341=MPD;14988=Mikrotik
#минимальная и максимальная длина пароля
password.length.min=5
password.length.max=10
#длина автоматически генерируемого пароля
password.length.auto=6
#допустимые в пароле символы
password.chars=1234567890QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuioplkjhgfdsazxcvbnm
#сколько лет отображать в просмотре сессий через web
showyears=5
#XSL для печати и отправки на почту сессий
xslt.1=dialup_login_sessions.xsl
reportTitle.1=Отчет по сессиям DialUp
#XSL для печати и отправки на почту наработки по логинам
xslt.2=dialup_login_amount.xsl
reportTitle.2=Отчет по наработке на логины DialUp
#коды услуг, не затрагиваемых при перерасчете, например, если услуга используется для занесения наработки скриптом
#service.recalc.ignore=

#в просмотре сессий в на Web странице кол-во выводимых на странице сессий
show.sessions.on.page=25
#пункты Web - меню
web.menuItem1=Просмотр сессий DialUp
web.menuItem2=Наработка по логинам DialUp
web.menuItem3=Cмена пароля на логины DialUp
web.menuItem4=Учетные периоды
web.menuItem5=Управление динамическим ДНС
#граница некарточных логинов
top.nocard.login=10000
#адрес и порт управления RADIUS сервера для возможности завершения сессий в мониторе модуля
#адрес должен совпадать с адресом где стоит RADIUS сервер, порт с admin.port из radius.properties
radius.manage=127.0.0.1:1955

############### опции RADIUS сервера #######################
#1 - проверять наличие в договоре всех требуемых услуг при авторизации, иначе ошибка авторизации "Услуга запрещена"
check.service=0
#код модуля "карточки", 0 - модуль "карточки" не используется
card.module.id=0
#количество одновременных сессий, разрешенных карточным логинам
#card.login.session.count=1
#интервал, с которым запускается проверяльщик
killer.sleep=10
#время в сек., через которое происходит пересчет
update.time=60
#время в сек., через которое проверяется необходимость пересчета
run.sleep=3
#глобальный пул адресов
pools.global=192.168.169.3-192.168.170.0;192.168.150.0
#для DialUP - режим работы
#1 - режим UPDATE - пересчет во время прохождения UPDATE пакетов
#2 - режим CHECKER - пересчет по таймеру, UPDATE пакеты используются для получения
#информации о трафике
dialup.workmode=1
#для режима UPDATE - время после последнего UDPATE пакета, по истечении которого сессия считается неактивной
#(не учитывается в подсчете числа одновременных соединений)
max.update.timeout=120
#сколько максимально секунд соединение в статусе wait ждет Start пакета
max.wait.timeout=120
#параметры отсылальщика ошибок (в данной версии не используется)
#mailer.period=1800
#mailer.to=???
#разрешение пользователям без определенной группы REALM ов использовать группу default
realmgr.default=default
#частота отправки Update пакетов
realm.default=Acct-Interim-Interval=60
#Атрибуты радиуса доступные в списке атрибутов в редактировании логина
radius.attributes=Service-Type;Framed-Protocol;Framed-IP-Address;Framed-IP-Netmask;Framed-Routing;Filter-Id;Framed-MTU;Framed-Compression;Login-IP-Host;Login-Service;Login-TCP-Port;Old-Password;Reply-Message;Callback-Number;Callback-Id;Expiration;Framed-Route;Framed-IPX-Network;State;Class;Session-Timeout;Idle-Timeout;Termination-Action;NAS-Identifier;Proxy-State;Framed-Pool
#Наборы атрибутов, доступные при редактировании логина
#attrset.1.title=
#attrset.1.attributes=
#игнорировать длительность соединения в Acct-Session-Time атрибуте с NASа, вычислять самостоятельно
#ignore.acct.session.time=1

############Конф NAS######################

#телефоны по портам, * - все порты (если параметр не указан, вызываемый номер берется из Calling-Station-Id)
#nas.port_phone.*=900111
#числовые коды услуг времени, трафика входящего и исходящего
nas.port_time.default.*=1
nas.port_traffic.default.*=2:RADIN;3:RADOUT
#разрешение активировать все типы карточек на этом NASе
card.activate.service=0
#поддержка CallBack (1-включите)
callback.support=0
#принудительный разрыв соединений на границе месяца
month.break=1
#интервал между посылками на проверку либо сброс соедиенения
nas.inspector.sleep_time=60
#максимальное число попыток сброса соединения
nas.inspector.kill.max_messages=5
#Unix PPP
snmp.version=2
#возможные значения 2.4.2 и 2.4.3, для 2.4.4 указывается версия 2.4.3
pppd.version=2.4.3
nas.inspector.class=bitel.billing.server.processor.SNMPNASConnectionInspectorType2
nas.inspector.snmp.kill.oid=1.3.6.1.4.1.2021.255.1
nas.inspector.snmp.check.oid=1.3.6.1.4.1.2021.255


#Универсальный инспектор для всех NASов с поддержкой PoD и Account-Update пакетов,
#использовать только в режиме обсчета update
##dialup.workmode=1
##nas.inspector.class=bitel.billing.server.processor.PoDNASConnectionInspector
##nas.inspector.pod.host=10.1.2.50
##nas.inspector.pod.port=1813
##nas.inspector.pod.secret=512534
#перечисление атрибутов, необходимых в PoD пакете, если пустое - высылаются все атрибуты
##nas.inspector.pod.attributes=User-Name;Framed-IP-Address;Acct-Session-Id;NAS-Port

#Универсальный инспектор, вызывающий для проверки и разрыва соединения внешний скрипт с набором параметров командной строки
##nas.inspector.class=bitel.billing.server.processor.ScriptNASConnectionInspector
#путь к внешнему скрипту проверки, если код выполнения будет 1 - абонент активен, если другой - неактивен
#требуемые параметры командной строки указываются после имени скрипта следующим образом ${NAS_IP} ${NAS_ID} ${USER_LOGIN} ${USER_SESSION} ${USER_PORT}
#например, /usr/local/check.pl ${NAS_IP} ${USER_PORT}
##nas.inspector.check.command=
#путь к внешнему разрыва соединения
#требуемые параметры командной строки указываются после имени скрипта следующим образом ${NAS_IP} ${NAS_ID} ${USER_LOGIN} ${USER_SESSION} ${USER_PORT}
#например, /usr/local/kill.pl ${NAS_IP} ${USER_PORT}
##nas.inspector.kill.command=

причем выделенный участок в конфигурации НАСа может быть закомментирован вместе с остальными ниже указанными вариантами, но коннект успешно произойдет и клиент получит ip адрес указанный в атрибутах радиуса в договоре (глоб+локал)! То есть получается билинг не использует конфиг НАСА, или частично?
SNMP я пока не устанавливаю...

Автор:  dvgorsky [ 19 фев 2009, 01:56 ]
Заголовок сообщения: 

И подозреваю также radiusclient ....

Автор:  Администратор [ 20 фев 2009, 13:47 ]
Заголовок сообщения: 

Код:
Feb 18 17:55:10 rs pppd[25932]: rc_avpair_gen: received unknown attribute 85 of length 4: 0x0000003C

Атрибут этот как раз и есть Acct-Interim-Interval. Скорее всего, он не прописан в словарях (dictionary) радиус-клиента. Попробуйте добавить. Он имеет тип 32х разрядное целое.

Автор:  dvgorsky [ 20 фев 2009, 18:20 ]
Заголовок сообщения: 

Огромное спасибо!
Вот этого пареметра и недоставало в радиус-словаре: ATTRIBUTE Acct-Interim-Interval 85 integer
Перехожу к настройке автоключения по завершению денег на счете клиента! :P

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/