Удаление ip-адреса из услуги при отключении ppp-сессии

Технические вопросы по UTM 5.0
aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Удаление ip-адреса из услуги при отключении ppp-сессии

Сообщение aphy »

Кто сталкивался со следующей проблемой:
pppoe+utm_radius
utm версии 5,2,1-003

При подключении клиента ppp к серверу выдается динамический ip-адрес из пула. Когда клиент отключается ip-адрес из таблицы не удаляется.

вот лог radius_main.log
?Debug : Dec 08 17:17:36 RADIUS Stream[plugin]: Ping reply received
?Debug : Dec 08 17:17:36 StreamConnection: Message id <0x202f>, handler returns 0
?Debug : Dec 08 17:17:39 RADIUS DBA: No interim update enabled session <1> found. Leave untouched.
?Debug : Dec 08 17:17:39 RADIUS DBA: No interim update enabled session <5> found. Leave untouched.
?Debug : Dec 08 17:17:41 RADIUS Stream[plugin]: Ping reply received
?Debug : Dec 08 17:17:41 StreamConnection: Message id <0x202f>, handler returns 0
?Debug : Dec 08 17:17:41 RadiusSocket: RADIUS packet successfully received
?Debug : Dec 08 17:17:41 RadiusSocket: RADIUS raw data obtained
?Debug : Dec 08 17:17:41 RADIUS Packet: Size <139>; HDR.Size <139>
?Debug : Dec 08 17:17:41 AcctServer: Recv...
?Debug : Dec 08 17:17:41 AcctServer: Packet from <127.0.0.1> packet dump: RPacket:
Code: 4; ID: 78
<Vendor: 0; Attr: 1>[4]: 74657374
<Vendor: 0; Attr: 4>[4]: 7f000001
<Vendor: 0; Attr: 5>[4]: 00000000
<Vendor: 0; Attr: 6>[4]: 00000002
<Vendor: 0; Attr: 7>[4]: 00000001
<Vendor: 0; Attr: 8>[4]: 0a0a0a42
<Vendor: 0; Attr: 31>[17]: 30303a30433a32393a44453a44393a3443
<Vendor: 0; Attr: 40>[4]: 00000002
<Vendor: 0; Attr: 41>[4]: 00000000
<Vendor: 0; Attr: 42>[4]: 01bcd4f9
<Vendor: 0; Attr: 43>[4]: 00000021
<Vendor: 0; Attr: 44>[14]: 3435373932383336324238353030
<Vendor: 0; Attr: 45>[4]: 00000001
<Vendor: 0; Attr: 46>[4]: 0000219f
<Vendor: 0; Attr: 49>[4]: 00000001
<Vendor: 0; Attr: 61>[4]: 00000000

?Debug : Dec 08 17:17:41 RADIUS DBA: NAS found. Data size <0>
?Debug : Dec 08 17:17:41 AcctServer: Acct packet with session ID: 457928362B8500
?Debug : Dec 08 17:17:41 RADIUS DBA: NAS found. Data size <0>
?Debug : Dec 08 17:17:41 AcctServer: Acct-Stop packet
?Debug : Dec 08 17:17:41 RADIUS DBA: Session erase ... login type <4>
?Debug : Dec 08 17:17:41 RADIUS DBA: login type login_pool or login_named_pool
?Debug : Dec 08 17:17:41 RADIUS IPPool: Released <a0a0a42>
?Debug : Dec 08 17:17:41 RADIUS DBA: login type login_dialup or login_named_pool
Info : Dec 08 17:17:41 UT: session_addon <0>
Info : Dec 08 17:17:41 UT: session_addon <0>
Info : Dec 08 17:17:41 UT: tarification for slink 12, tr_id 1, mult 0.000000, next 1165576661
Info : Dec 08 17:17:41 UT: tarification for slink 12, tr_id 1, mult 0.000000, next 1165576661
Info : Dec 08 17:17:41 UT: cost info:
Info : Dec 08 17:17:41 UT: cost info:
Info : Dec 08 17:17:41 UT: type 0 deny 0 base_cost 1.000000 size 8607 tr_id 1 mult 0.000000 added 0 sum 0.000000
Info : Dec 08 17:17:41 UT: type 0 deny 0 base_cost 1.000000 size 8607 tr_id 1 mult 0.000000 added 0 sum 0.000000
?Debug : Dec 08 17:17:41 RADIUS DBA: Dialup Discount: TR ID 1: 0.000 for 8607 sec
?Debug : Dec 08 17:17:41 RADIUS Stream[plugin]: finish log id <5>
?Debug : Dec 08 17:17:41 AcctServer: Reply packet dump: RPacket:
Code: 5; ID: 78

?Debug : Dec 08 17:17:41 RadiusSocket: Moving RADIUS packet into send queue
?Debug : Dec 08 17:17:41 AcctServer: Next...
?Debug : Dec 08 17:17:41 RadiusSocket: Waiting for RADIUS raw data
?Debug : Dec 08 17:17:41 RADIUS Stream[plugin]: Account <1> with balance <15619.800>
?Debug : Dec 08 17:17:41 StreamConnection: Message id <0x2003>, handler returns 0
?Debug : Dec 08 17:17:41 RadiusSocket: RADIUS raw data sent
?Debug : Dec 08 17:17:46 RADIUS Stream[plugin]: Ping reply received
tcpdump -vvni lo port 1812 or port 1813

17:19:55.537687 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 17, length: 167) 127.0.0.1.32776 > 127.0.0.1.radius-acct: RADIUS, length: 139
Accounting Request (4), id: 0x51, Authenticator: 593ffae2fea1607bc65feb16f1f15183
Accounting Session ID Attribute (44), length: 16, Value: 45794A53302F00
0x0000: 3435 3739 3441 3533 3330 3246 3030
Username Attribute (1), length: 6, Value: test
0x0000: 7465 7374
Accounting Status Attribute (40), length: 6, Value: Stop
0x0000: 0000 0002
Service Type Attribute (6), length: 6, Value: Framed
0x0000: 0000 0002
17:19:55.588757 IP (tos 0x0, ttl 64, id 8, offset 0, flags [DF], proto 17, length: 48) 127.0.0.1.radius-acct > 127.0.0.1.32776: [bad udp cksum 800e!] RADIUS, length: 20
Accounting Response (5), id: 0x51, Authenticator: 8ae709ada9049fd44d88368936a6d05b
Подскажите где грабли?

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

Помогите хоть кто-нибудь, плиз :(

mva
Сообщения: 175
Зарегистрирован: Чт фев 03, 2005 10:08
Откуда: Ural

Сообщение mva »

radius_max_session_age выставлен в какое значение?

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

Простите за глупые вопросы :oops: , но где должен быть указан данный параметр, и что он обозначает

mva
Сообщения: 175
Зарегистрирован: Чт фев 03, 2005 10:08
Откуда: Ural

Сообщение mva »

в админке в настройках добавь и значение поставь 86400
проверь

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

Сделала в options->Settings List, как Вы и сказали, но ситуация не меняется.Подскажите, как быть

mva
Сообщения: 175
Зарегистрирован: Чт фев 03, 2005 10:08
Откуда: Ural

Сообщение mva »

17:19:55.588757 IP (tos 0x0, ttl 64, id 8, offset 0, flags [DF], proto 17, length: 48) 127.0.0.1.radius-acct > 127.0.0.1.32776: [bad udp cksum 800e!] RADIUS,


^^^^

Попробуй радиус без SSL запустить, все равно на одной машине с ядром
radius_ssl_type=none
В конфиге радиуса

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

Все равно не получается. :cry:

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

Лог радиуса при отключении:

Debug : Dec 15 12:50:53 AcctServer: Recv...
?Debug : Dec 15 12:50:53 AcctServer: Packet from <127.0.0.1> packet dump: RPacket:
Code: 4; ID: 137
<Vendor: 0; Attr: 1>[4]: 74657374
<Vendor: 0; Attr: 4>[4]: 7f000001
<Vendor: 0; Attr: 5>[4]: 00000000
<Vendor: 0; Attr: 6>[4]: 00000002
<Vendor: 0; Attr: 7>[4]: 00000001
<Vendor: 0; Attr: 8>[4]: 0a090901
<Vendor: 0; Attr: 31>[17]: 30303a30433a32393a44453a44393a3443
<Vendor: 0; Attr: 40>[4]: 00000002
<Vendor: 0; Attr: 41>[4]: 00000000
<Vendor: 0; Attr: 42>[4]: 000004e4
<Vendor: 0; Attr: 43>[4]: 00000021
<Vendor: 0; Attr: 44>[14]: 3435383234354246363635413030
<Vendor: 0; Attr: 45>[4]: 00000001
<Vendor: 0; Attr: 46>[4]: 0000000e
<Vendor: 0; Attr: 49>[4]: 00000001
<Vendor: 0; Attr: 61>[4]: 00000000

?Debug : Dec 15 12:50:53 RADIUS DBA: NAS found. Data size <0>
?Debug : Dec 15 12:50:53 AcctServer: Acct packet with session ID: 458245BF665A00
?Debug : Dec 15 12:50:53 RADIUS DBA: NAS found. Data size <0>
?Debug : Dec 15 12:50:53 AcctServer: Acct-Stop packet
?Debug : Dec 15 12:50:53 RADIUS DBA: Session erase ... login type <4>
?Debug : Dec 15 12:50:53 RADIUS DBA: login type login_pool or login_named_pool
?Debug : Dec 15 12:50:53 RADIUS IPPool: Released <a090901>
?Debug : Dec 15 12:50:53 RADIUS DBA: login type login_dialup or login_named_pool
Info : Dec 15 12:50:53 UT: session_addon <0>
Info : Dec 15 12:50:53 UT: session_addon <0>
Info : Dec 15 12:50:53 UT: tarification for slink 6, tr_id 1, mult 0.000000, next 1166165453
Info : Dec 15 12:50:53 UT: tarification for slink 6, tr_id 1, mult 0.000000, next 1166165453
Info : Dec 15 12:50:53 UT: cost info:
Info : Dec 15 12:50:53 UT: cost info:
Info : Dec 15 12:50:53 UT: type 0 deny 0 base_cost 1.000000 size 14 tr_id 1 mult 0.000000 added 0 sum 0.000000
Info : Dec 15 12:50:53 UT: type 0 deny 0 base_cost 1.000000 size 14 tr_id 1 mult 0.000000 added 0 sum 0.000000
?Debug : Dec 15 12:50:53 RADIUS DBA: Dialup Discount: TR ID 1: 0.000 for 14 sec
?Debug : Dec 15 12:50:53 RADIUS Stream[plugin]: finish log id <2>
?Debug : Dec 15 12:50:53 AcctServer: Reply packet dump: RPacket:
Code: 5; ID: 137

?Debug : Dec 15 12:50:53 RadiusSocket: Moving RADIUS packet into send queue
?Debug : Dec 15 12:50:53 AcctServer: Next...

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

Подскажите, где грабли, плиз

mva
Сообщения: 175
Зарегистрирован: Чт фев 03, 2005 10:08
Откуда: Ural

Сообщение mva »

вроде все нормально у меня вот логи:

?Debug : Dec 14 12:53:31 RADIUS DBA: NAS found. Data size <0>
?Debug : Dec 14 12:53:31 AcctServer: Acct packet with session ID: 500729431
?Debug : Dec 14 12:53:31 RADIUS DBA: NAS found. Data size <0>
?Debug : Dec 14 12:53:31 AcctServer: Acct-Stop packet
?Debug : Dec 14 12:53:31 RADIUS DBA: Session erase ... login type <4>
?Debug : Dec 14 12:53:31 RADIUS DBA: login type login_pool or login_named_pool
?Debug : Dec 14 12:53:31 RADIUS IPPool: Released <50fb9148>
?Debug : Dec 14 12:53:31 RADIUS DBA: login type login_dialup or login_named_pool
Info : Dec 14 12:53:31 UT: session_addon <0>
Info : Dec 14 12:53:31 UT: tarification for slink 1414, tr_id 2, mult 21.000000, next 1166082810
Info : Dec 14 12:53:31 UT: cost info:
Info : Dec 14 12:53:31 UT: type 0 deny 0 base_cost 1.000000 size 1023 tr_id 2 mult 21.000000 ad
ded 0 sum 0.000000
?Debug : Dec 14 12:53:31 RADIUS DBA: Dialup Discount: TR ID 2: 5.968 for 1023 sec
?Debug : Dec 14 12:53:31 RADIUS Stream[plugin]: finish log id <103>
?Debug : Dec 14 12:53:31 AcctServer: Reply packet dump: RPacket:
Code: 5; ID: 28


Только у тебя строцки почему то дублируются

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

И ip-адрес удаляется из таблицы в услуге "передача ip-traffic'а"? Не знаешь, случаем, почему дублируются?

aphy
Сообщения: 11
Зарегистрирован: Чт ноя 23, 2006 09:26

Сообщение aphy »

И в базу идут вот такие запросы:
INSERT INTO dhs_sessions_detail(dhs_sess_id,disc_per_id,slink_id,recv_date,account_id,trange_id,duration,base_cost,sum_cost) VALUES('15','1','6','1166167901','1','1','8','1','0')

UPDATE accounts SET balance='5000' WHERE id = '1'

INSERT INTO discount_transactions_all(account_id,incoming_rest,outgoing_rest,discount,discount_without_tax,discount_with_tax,service_id,service_type,slink_id,discount_date,comment,discount_period_id) VALUES('1','5000','5000','0','0','0','5','5','6','1166167901','Dialup Discount','1')

UPDATE dtagg_hotspot SET discounted='0.000000',discounted_without_tax='0.000000', session_time='12719', recv_bytes='0' WHERE id='1'

UPDATE dhs_sessions_log SET account_id='1', slink_id='6', last_update_date='1166167901', Acct_Status_Type='2', Acct_Input_Packets ='0', Acct_Input_Octets ='1252', Acct_Input_Gigawords ='0', Acct_Output_Packets ='0', Acct_Output_Octets ='33', Acct_Output_Gigawords ='0', Acct_Terminate_Cause='0', Acct_Session_Time ='8' WHERE id='15'

SELECT value FROM utm5_settings WHERE variable='radius_do_accounting'

Аватара пользователя
marvin
Сообщения: 77
Зарегистрирован: Сб мар 24, 2007 11:18
Откуда: Нижняя Тура

Сообщение marvin »

Приходится констатировать факт - услуга Коммутируемый доступ в применении к динамическим IP-адресам до сих пор (версия 5.2.1-004) не работоспособна!

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Re: Удаление ip-адреса из услуги при отключении ppp-сессии

Сообщение mikkey finn »

aphy писал(а):Кто сталкивался со следующей проблемой:
pppoe+utm_radius
utm версии 5,2,1-003

При подключении клиента ppp к серверу выдается динамический ip-адрес из пула. Когда клиент отключается ip-адрес из таблицы не удаляется.

Подскажите где грабли?
Буду цитировать хотлайн по памяти:
Когда юзер подключается и из пула запрашивается динамический адрес, биллинг проверяет по своей базе, какой адрес он может выдать. Если запрашивается обновление адреса при подключении(у меня именно такое и было), биллинг должен проверить, используется ли обновляемый адрес кем-нибудь в данный момент, или нет. Если не используется, но уже занят, то у предыдущего пользователя он отвязывается и привязывается новому.
Засада, с которой столкнулся. Правила, вписанные в фаервол на этот динамический адрес НЕ удаляются при отвязке адреса у предыдущего юзера. Допустим, правило вписалось для пользователя id=1 под номером 5001, когда этот адрес получит пользователь с id=123 и будет дергать состояние инета, то будут меняться уже правила 5123, а правило 5001 для этого же IP как было так и останется.
При изначальной политике фаервола "Open/Allow all" и правилах отключения вида "Deny from UIP/UBITS to any" выключение инета на учетке с id=1 не даст больше никому работать с этим IP. Для политики закрытого фаервола все-равно остается засада вида "пользователь оставил включенным инет, пакет в фаерволе идет до первого совпадения." Если же NAS умеет сам еще управлять фаерволом(mpd+ipfw например), то можно немного уйти от этой проблемы, но костыли...

Ответить