-----
====== FreeRADIUS - Dictionary Files ======
===== Introduction =====
* FreeRADIUS comes standard with a large amount of dictionary files.
* These files are consulted by FreeRADIUS to convert an Attribute name to a digital value.
* Attribute names are typically part of a profile associated with a user e.g. specifying a VLAN or IP pool or a speed limit that needs to be imposed.
* Dictionary files are used in a similar way when compared to a DNS server or hosts file where a system will convert a hostname to an IP Address in order to communicate on the network.
* Standard FreeRADIUS dictionary files are located under the ** /usr/share/freeradius/** folder.
* They have a naming convention of dictionary[dot][vendor] e.g. dictionary.mikrotik.
* The recommendation is to keep this folder standard and not to add additional or modify dictionaries here.
===== Dictionary in RADIUSdesk =====
{{:technical:dictionary_accel.png|}}
* RADIUSdesk allows you to conveniently select items out of the dictionary files to formulate profiles or to manage attributes belonging to users (Permanent Users, Vouchers, Devices)
* In order for the Select control to work as intended ensure that the Nginx webserver can read the **/etc/freeradius/3.0/dictionary** file.
sudo chown freerad:www-data /etc/freeradius
sudo chown freerad:www-data /etc/freeradius/3.0
sudo chown freerad:www-data /etc/freeradius/3.0/dictionary
* We can also add additional dictionary files.
* Create a folder where you will store the new / additional dictionaries:
sudo mkdir /etc/freeradius/3.0/dictionary_overrides
* Copy the additional dictionary in this folder.
* Here we have a dictionary file for Accel-ppp called dictionary.accel
VENDOR Accel-PPP 55999
BEGIN-VENDOR Accel-PPP
ATTRIBUTE Accel-VRF-Name 1 string
END-VENDOR Accel-PPP
* Edit the /etc/freeradius/3.0/dictionary file to include this dictionary specifically.
#This is not required for FreeRADIUS3 anymore but it is required for RADIUSdesk
$INCLUDE /usr/share/freeradius/dictionary
$INCLUDE /etc/freeradius/3.0/dictionary_overrides/dictionary.accel
* Restart FreeRADIUS for this changes to take effect.
sudo service freeradius restart