我有 freeradius 2.2.6。只有在第一次连接时,客户端才会发送访问请求和记账请求。后续连接仅发送记账请求!无论客户端如何连接,此问题仅发生在某些智能手机上(所有其他设备都可以正常工作)。
rad_recv: Accounting-Request packet from host 192.168.100.110 port 56137, id=246, length=165
Acct-Session-Id = "386D43F9-0000002C"
Acct-Status-Type = Start
Acct-Authentic = RADIUS
User-Name = "test"
NAS-IP-Address = 192.168.100.110
Vendor-29671-Attr-1 = 0x53797345646974
NAS-Port = 0
Called-Station-Id = "00-18-0A-7A-91-3C:Netweek"
Calling-Station-Id = "78-4B-87-67-A9-1C"
Framed-IP-Address = 192.168.1.33
NAS-Port-Type = Wireless-802.11
Connect-Info = "CONNECT 0Mbps 802.11b"
# Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default
+group preacct {
++[preprocess] = ok
[acct_unique] WARNING: Attribute NAS-Identifier was not found in request, unique ID MAY be inconsistent
[acct_unique] Hashing 'NAS-Port = 0,,NAS-IP-Address = 192.168.100.110,Acct-Session-Id = "386D43F9-0000002C",User-Name = "test"'
[acct_unique] Acct-Unique-Session-ID = "53e7d607084daacb".
++[acct_unique] = ok
+} # group preacct = ok
# Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default
+group accounting {
[detail] expand: %{Packet-Src-IP-Address} -> 192.168.100.110
[detail] expand: /usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /usr/local/var/log/radius/radacct/192.168.100.110/detail-20150812
[detail] /usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/192.168.100.110/detail-20150812
[detail] expand: %t -> Wed Aug 12 16:26:50 2015
++[detail] = ok
[sql] expand: %{User-Name} -> test
[sql] sql_set_user escaped user --> 'test'
[sql] expand: %{Acct-Delay-Time} ->
[sql] ... expanding second conditional
[sql] 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, xascendsessionsvrkey) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}',
[sql] expand: /usr/local/var/log/radius/sqltrace.sql -> /usr/local/var/log/radius/sqltrace.sql
rlm_sql (sql): Reserving sql socket id: 27
rlm_sql_mysql: query: 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, xascendsessionsvrkey) VALUES ('386D43F9-0000002C', '53e7d607084daacb', 'test', '', '192.168.100.110', '0', 'Wireless-802.11', '2015-08-12 16:26:50', NULL, '0', 'RADIUS', 'CONNECT 0Mbps 802.11b', '', '0', '0', '00-18-0A-7A-91-3C:Netweek', '78-4B-87-67-A9-1C', '', '', '', '192.168.1.33', '0', '0', '')
rlm_sql (sql): Released sql socket id: 27
++[sql] = ok
++? if (noop)
? Evaluating (noop) -> FALSE
++? if (noop) -> FALSE
[sql_log] Processing sql_log_accounting
[sql_log] expand: %{User-Name} -> test
[sql_log] expand: %{%{User-Name}:-DEFAULT} -> test
[sql_log] sql_set_user escaped user --> 'test'
[sql_log] expand: INSERT INTO radacct (AcctSessionId, UserName, NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, AcctSessionTime, AcctTerminateCause) VALUES ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', '%{Framed-IP-Address}', '%S', '0', '0', ''); -> INSERT INTO radacct (AcctSessionId, UserName, NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, AcctSessionTime, AcctTerminateCause) VALUES ('386D43F9-0000002C', 'test', '192.168.100.110', '192.168.1.33', '2015-08-12 16:26:50', '0', '0', '');
[sql_log] expand: /usr/local/var/log/radius/radacct/sql-relay -> /usr/local/var/log/radius/radacct/sql-relay
++[sql_log] = ok
++[exec] = noop
[attr_filter.accounting_response] expand: %{User-Name} -> test
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] = updated
+} # group accounting = updated
Sending Accounting-Response of id 246 to 192.168.100.110 port 56137
Finished request 3.
Cleaning up request 3 ID 246 with timestamp +451
Going to the next request
Ready to process requests.
问题在于,这样的跳转控制表 radgroupreply 和 radgroupcheck,我在其中设置了各种控制(包括 Simultaneous-Use = 1)。
你知道吗?谢谢。