Hi.
I was running freeradius v2.1.12 on Fedora and have changed over to CentOS now (also v2.1.12).
All of a sudden I am having issues where my attribute Mikrotik-Total-Limit is no longer being sent to the Mikrotik with access-reply.
This is the radius -X excerpt
...
Found Auth-Type = PERL
# Executing group from file /etc/raddb/sites-enabled/default
+- entering group PERL {...}
rlm_perl: Added pair NAS-Port-Type = Wireless-802.11
rlm_perl: Added pair WISPr-Logoff-URL =
http://X.X.X.X/logoutrlm_perl: Added pair Acct-Session-Id = 807008e4
rlm_perl: Added pair Service-Type = Login-User
rlm_perl: Added pair Called-Station-Id = MYID
rlm_perl: Added pair Calling-Station-Id = 94:CE:2C:87:8A:84
rlm_perl: Added pair User-Name = 94:CE:2C:87:8A:84
rlm_perl: Added pair NAS-Identifier = NASNAME
rlm_perl: Added pair User-Password = password
rlm_perl: Added pair Mikrotik-Host-IP = X.X.X.X
rlm_perl: Added pair Framed-IP-Address = X.X.X.X
rlm_perl: Added pair NAS-IP-Address = X.X.X.X
rlm_perl: Added pair NAS-Port = 2154825956
rlm_perl: Added pair NAS-Port-Id = ether3 - Rooms
rlm_perl: ERROR: Failed to create pair Mikrotik-Total-Limit = 209715200
rlm_perl: Added pair Cleartext-Password = password
rlm_perl: Added pair databank = 209715200
rlm_perl: Added pair Auth-Type = PERL
++[perl] returns ok
...
Because of that the user is no longer being limited by total data usage.
It looks as if the dictionary file location has been changed BUT here is the working dictionary
Working server:
[root@localhost ~]# cat /usr/share/freeradius/dictionary.mikrotik
# -*- text -*-
#
http://www.mikrotik.com#
#
http://www.mikrotik.com/documentation//manual_2.9/dictionary#
# Do NOT follow their instructions and replace the dictionary
# in /etc/raddb with the one that they supply. It is NOT necessary.
#
# On top of that, the sample dictionary file they provide
# DOES NOT WORK. Do NOT use it.
#
# $Id$
#
VENDOR Mikrotik 14988
BEGIN-VENDOR Mikrotik
ATTRIBUTE Mikrotik-Recv-Limit 1 integer
ATTRIBUTE Mikrotik-Xmit-Limit 2 integer
# this attribute is unused
ATTRIBUTE Mikrotik-Group 3 string
ATTRIBUTE Mikrotik-Wireless-Forward 4 integer
ATTRIBUTE Mikrotik-Wireless-Skip-Dot1x 5 integer
ATTRIBUTE Mikrotik-Wireless-Enc-Algo 6 integer
ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string
ATTRIBUTE Mikrotik-Rate-Limit 8 string
ATTRIBUTE Mikrotik-Realm 9 string
ATTRIBUTE Mikrotik-Host-IP 10 ipaddr
ATTRIBUTE Mikrotik-Mark-Id 11 string
ATTRIBUTE Mikrotik-Advertise-URL 12 string
ATTRIBUTE Mikrotik-Advertise-Interval 13 integer
ATTRIBUTE Mikrotik-Recv-Limit-Gigawords 14 integer
ATTRIBUTE Mikrotik-Xmit-Limit-Gigawords 15 integer
ATTRIBUTE Mikrotik-Total-Limit 17 integer
ATTRIBUTE Mikrotik-Total-Limit-Gigawords 18 integer
# MikroTik Values
VALUE Mikrotik-Wireless-Enc-Algo No-encryption 0
VALUE Mikrotik-Wireless-Enc-Algo 40-bit-WEP 1
VALUE Mikrotik-Wireless-Enc-Algo 104-bit-WEP 2
END-VENDOR Mikrotik
Not working server:
# cat /usr/local/share/freeradius/dictionary.mikrotik
# MikroTik vendor specific dictionary
# Copyright (C) MikroTikls, SIA
#
# You may freely redistribute and use this software or any part of it in source
# and/or binary forms, with or without modification for any purposes without
# limitations, provided that you respect the following statement:
#
# This software is provided 'AS IS' without a warranty of any kind, expressed or
# implied, including, but not limited to, the implied warranty of
# merchantability and fitness for a particular purpose. In no event shall
# MikroTikls SIA be liable for direct or indirect, incidental, consequential or
# other damages that may result from the use of this software, including, but
# not limited to, loss of data, time and (or) profits.
#
# $Id: dictionary.mikrotik,v 1.7 2011/11/25 08:00:00 normis Exp $
#
# MikroTik Attributes
VENDOR Mikrotik 14988
BEGIN-VENDOR Mikrotik
ATTRIBUTE Mikrotik-Recv-Limit 1 integer
ATTRIBUTE Mikrotik-Xmit-Limit 2 integer
ATTRIBUTE Mikrotik-Group 3 string
ATTRIBUTE Mikrotik-Wireless-Forward 4 integer
ATTRIBUTE Mikrotik-Wireless-Skip-Dot1x 5 integer
ATTRIBUTE Mikrotik-Wireless-Enc-Algo 6 integer
ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string
ATTRIBUTE Mikrotik-Rate-Limit 8 string
ATTRIBUTE Mikrotik-Realm 9 string
ATTRIBUTE Mikrotik-Host-IP 10 ipaddr
ATTRIBUTE Mikrotik-Mark-Id 11 string
ATTRIBUTE Mikrotik-Advertise-URL 12 string
ATTRIBUTE Mikrotik-Advertise-Interval 13 integer
ATTRIBUTE Mikrotik-Recv-Limit-Gigawords 14 integer
ATTRIBUTE Mikrotik-Xmit-Limit-Gigawords 15 integer
ATTRIBUTE Mikrotik-Wireless-PSK 16 string
ATTRIBUTE Mikrotik-Total-Limit 17 integer
ATTRIBUTE Mikrotik-Total-Limit-Gigawords 18 integer
ATTRIBUTE Mikrotik-Address-List 19 string
ATTRIBUTE Mikrotik-Wireless-MPKey 20 string
ATTRIBUTE Mikrotik-Wireless-Comment 21 string
ATTRIBUTE Mikrotik-Delegated-IPv6-Pool 22 string
# MikroTik Values
VALUE Mikrotik-Wireless-Enc-Algo No-encryption 0
VALUE Mikrotik-Wireless-Enc-Algo 40-bit-WEP 1
VALUE Mikrotik-Wireless-Enc-Algo 104-bit-WEP 2
VALUE Mikrotik-Wireless-Enc-Algo AES-CCM 3
VALUE Mikrotik-Wireless-Enc-Algo TKIP 4
END-VENDOR Mikrotik
What i have noticed is that if I add "ATTRIBUTE Mikrotik-Total-Limit 17 integer" to the /usr/local/etc/raddb/dictionary file then freeradius says that it sends the attribute however the Mikrotik complains that its incorrect.