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
- 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