Перейти к содержимому
Калькуляторы

urm

Пользователи
  • Публикации

    1
  • Зарегистрирован

  • Посещение

О urm

  • Звание
    Абитуриент
    Абитуриент

Контакты

  • ICQ
    Array
  1. Всем привет, кто сможет подскажите. Вообщем проблема такая! крутится у меня Freradius + mysql, есть много сетевого оборудования разного и ни где не проблем с аккаунтиком кроме huawei ne16 Ну это короче магистральный маршрутизатор. Ну так вот при разъединения сессии телнет железка посылает радиусу Acct-Status-Type = Stop и в базу она прописывается новой строкой а не обновляет ту что уже была при старте сессии и в результате в таблице аккаунтинка две записи. Одна нормальная и одна сессия остается открытой пока ручками с базы не удалишь ID HotSpot Username IP Address Start Time Stop Time Total Time Upload (Bytes) Download (Bytes) 197 c_rinat 10.1.0.123 2010-09-07 10:13:59 0 seconds 0 198 c_rinat 10.1.0.123 2010-09-07 10:14:00 2010-09-07 10:14:16 16 seconds 0 B 0 B User-Request И как добиться что бы не зависали эти сессии я уже устал себе голову ломать, получается так что радиус первый раз обновляет (в дебаге выделено жырным) и потом еще раз почемуто вставляет аккаунтинк данные вот и поевляеться вторая запись и почему так происходит я не пойму. К примеру если смотреть дебаг на дргой железке то UPDATE radacct SET и все ок, а тут же нет Вот дебаг rad_recv: Accounting-Request packet from host 10.50.1.1 port 1812, id=49, length=295 User-Name = "c_rinat" NAS-Port = 0 Framed-IP-Address = 10.1.0.123 Filter-Id = "65535@255" NAS-Identifier = "NE16_AUP" Acct-Status-Type = Stop Acct-Delay-Time = 0 Acct-Input-Octets = 0 Acct-Output-Octets = 0 Acct-Session-Id = "NE16 Acct-Authentic = RADIUS Acct-Session-Time = 16 Acct-Input-Packets = 0 Acct-Output-Packets = 0 Acct-Terminate-Cause = User-Request Acct-Input-Gigawords = 0 Acct-Output-Gigawords = 0 Event-Timestamp = "Sep 7 2010 16:15:50 YEKST" NAS-Port-Type = Virtual NAS-Port-Id = "slot=0;subslot=0;port=0;vlanid=0" Huawei-IPHost-Addr = "10.1.0.123 ff:ff:ff:ff:ff:ff" Huawei-Attr-1 = 0x00000000 Huawei-Input-Average-Rate = 0 Huawei-Attr-4 = 0x00000000 Huawei-Output-Average-Rate = 0 Huawei-Priority = 255 Huawei-Connect-ID = 6000 NAS-IP-Address = 10.50.1.1 +- entering group preacct ++[preprocess] returns ok rlm_acct_unique: Hashing 'Framed-IP-Address = 10.1.0.123,NAS-Port = 0,Client-IP-Address = 10.50.1.1,NAS-IP-Address = 10.50.1.1,Acct-Session-Id = "NE16_A2010090710153400011ce0aae07c7b06000",User-Name = "c_rinat"' rlm_acct_unique: Acct-Unique-Session-ID = "924de87a6d2db155". ++[acct_unique] returns ok rlm_realm: No '@' in User-Name = "c_rinat", looking up realm NULL rlm_realm: No such realm "NULL" ++[suffix] returns noop ++[files] returns noop +- entering group accounting ++[unix] returns ok expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp expand: %{User-Name} -> c_rinat ++[radutmp] returns ok expand: %{User-Name} -> c_rinat rlm_sql (sql): sql_set_user escaped user --> 'c_rinat' expand: %{Acct-Input-Gigawords} -> 0 expand: %{Acct-Input-Octets} -> 0 expand: %{Acct-Output-Gigawords} -> 0 expand: %{Acct-Output-Octets} -> 0 expand: %{Acct-Delay-Time} -> 0 expand: UPDATE radacct SET acctstoptime = '%S', acctsessiontime = '%{Acct-Session-Time}', acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}', acctstopdelay = '%{%{Acct-Delay-Time}:-0}', connectinfo_stop = '%{Connect-Info}' WHERE acctsessionid = '%{Acct-Session-Id}' AND username = '%{SQL-User-Name}' AND nasipaddress = '%{NAS-IP-Address}' -> UPDATE radacct SET acctstoptime = '2010-09-07 10:14:16', acctsessiontime = '16', acctinputoctets = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0', acctterminatecause = 'User-Request', acctstopdelay = '0', connectinfo_stop = '' WHERE acctsessionid = 'NE16_A2010090710153400011ce0aae07c7b06000' AND username = 'c_rinat' AND nasipaddress = '10.50.1.1' rlm_sql (sql): Reserving sql socket id: 3 expand: %{Acct-Session-Time} -> 16 expand: %{Acct-Delay-Time} -> 0 expand: %{Acct-Input-Gigawords} -> 0 expand: %{Acct-Input-Octets} -> 0 expand: %{Acct-Output-Gigawords} -> 0 expand: %{Acct-Output-Octets} -> 0 expand: %{Acct-Delay-Time} -> 0 expand: INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S', INTERVAL (%{%{Acct-Session-Time}:-0} + %{%{Acct-Delay-Time}:-0}) SECOND), '%S', '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{%{Acct-Delay-Time}:-0}') -> INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay) VALUES ('NE16_A2010090710153400011ce0aae07c7b06000', '924de87a6d2db155', 'c_rinat', '', '10.50.1.1', '0', 'Virtual', DATE_SUB('2010-09-07 10:14:16', INTERVAL (16 + 0) SECOND), '2010-09-07 10:14:16', '16', 'RADIUS', '', '', '0' << 32 | '0', '0' << 32 | '0', '', '', 'User-Request', '', '', '10.1.0.123', '0', '0') rlm_sql (sql): Released sql socket id: 3 ++ returns ok