# Run in the foreground Foreground
# Log to stdout LogStdout
# Show everything up to and including INFO level Trace 3
LogTraceId
flag parameter allows logging
messages related to an authentication exchange and to its subsequent
accounting session with a tracing identifier.
LogTraceId
can be configured for global level and Log
clause level. LogTraceId
enables prepending a tracing
ID to messages logged to STDOUT, when LogStdout
is
enabled, and to log file configured with <Log
FILE>
and <Log SYSLOG>
. For more
information, see Section 3.7.2. LogStdout.# Prepend tracing id to log messages LogTraceId
/etc/services/
(or its equivalent on your system).
Multiple comma-separated ports may be specified. The default port is 1645.
Note that the officially assigned port number for RADIUS authentication
has been changed to 1812. AuthPort may contain special formatting
characters. A typical use of special formatting characters is with
GlobalVar and command line arguments.# Listen for authentication requests on port 1812 as per RFC # 2865 AuthPort 1812
# Do not bind to an auth port: AuthPort
AuthPort %{GlobalVar:authport}
radiusd authport=1810 ...
AuthPort 1645,1812
/etc/services
(or equivalent on your system).
Multiple comma-separated ports may be specified. The default port is 1646.
Note that the officially assigned port number for RADIUS accounting has
been changed to 1813. AcctPort may contain special formatting characters.
A typical use of special formatting characters is with GlobalVar and
command line arguments.# Listen for accounting requests on port 1813 as # per RFC 2866 AcctPort 1813
# Do not bind to an accounting port: AcctPort
AcctPort 1646,1813
# Only listen on one network address BindAddress 203.63.154.1
BindAddress 200.10.5.4,200.10.7.3,::1
BindAddress 2001:db8:0100:f101:0210:a4ff:fee3:9566
IPV6_V6ONLY
option for the sockets listening to IPv6
wildcard address.IPV6_V6ONLY
.
When this option is turned off, IPv6 wildcard listen socket can receive
both IPv6 and IPv4 packets. Received IPv4 packets use special IPv4-mapped
address format where the IPv4 address is encoded after the 96-bit prefix
0:0:0:0:FFFF.Client
clause as <Client
::ffff:172.16.172.2>
IPV6_V6ONLY
socket option is by default turned on by some operating systems and off by
some others.Socket.pm
CPAN module is required for this
parameter./usr/local/etc/raddb
on Unix and Windows.
For convenience, the DbDir directory name can be referred to as %D in any
file name path in this configuration file.# Look in /opt/etc/raddb for username database DbDir /opt/etc/raddb
/var/log/radius
on Unix and Windows. For
convenience, the LogDir directory name can be referred to as %L in any
file name path in this configuration file.# Put log files in /opt/radius instead LogDir /opt/radius
%L/logfile
, i.e. a file named
logfile
in LogDir
. For more
information, see Section 3.7.12. LogDir.# Log file goes in /var/log, with year number LogFile /var/log/%Y-radius.log
LogFile
to be the empty
string:# Disable logging to log file completely LogFile
|
then the rest of the filename is assumed to be a
program to which the output is to be piped. Otherwise the output is
appended to the named file.# Pipe to my-log-prog LogFile |/usr/local/bin/my-log-prog
LogFile
is defined in your configuration file,
<Log FILE>
is invisibly created to handle it.
For more information, see Section 3.25. <Log FILE>. You can customise the logging format,
and also log microseconds by using <Log FILE>
and its parameters instead of
LogFile
.LogMicroseconds
requires Time::HiRes
Perl module. If this module is not
installed, the microseconds part in the time stamp will be all zeroes
000000. Time::HiRes
is
typically part of the Perl default installation or packaged separately on
some systems such as Red Hat derived systems where the RPM is called
perl-Time-HiResLogMicroseconds
parameter in the respective Log
clause.radiusd
will
write its process ID (PID) at start-up. Defaults to
%L/radiusd.pid
on Unix and Windows. The file name can
include special path name characters as defined in Section 3.3. Special formatters. If the directory
containing the file does not exist, it will attempt to create the
directory first.PidFile
is defined in
configuration with no value, no file is written.# So we do not conflict with another radiusd PidFile /tmp/radiusd2.pid
%D/dictionary
, i.e. a file called “dictionary” in DbDir.
A dictionary file called “dictionary” that will work with most NASs and
Terminal Servers is included in the Radiator distribution.# Dictionary file is in the default installation directory DictionaryFile /opt/radiator/radiator/dictionary
# Need the old Ascend non-vendor-specific attributes too DictionaryFile /opt/radiator/radiator/dictionary, %D/dictionary.local
DiameterDictionaryFile
can replace or override any of
the default entries hardwired into DiaDict.pm
. Unlike
DictionaryFile
, only one dictionary file name can be
specified. The Diameter dictionary is only used if you have a
ServerDIAMETER
clause in your configuration file. The
file name can include special path name characters as defined in Section 3.3. Special formatters. The
default is to use only the hardwired dictionary in
DiaDict.pm
.DiameterDictionaryFile %D/my_private_diameter_attrs.dat
# Check every 30 minutes for dictionary changes DictionaryReloadInterval 1800
radiusd
reads its license configuration parameters. There is no default. The file
name can include special path name characters as defined in Section 3.3. Special formatters. If the
file does not exist, or Radiator is fully licensed,
LicenseFile
and its contents are
ignored.# Read custom parameters for this evaluation license LicenseFile %D/license.conf
/usr/bin/snmpget
.SnmpgetProg /usr/local/bin/snmpget
/usr/bin/snmpwalk
.SnmpwalkProg /usr/local/bin/snmpwalk
FingerProg /usr/local/bin/finger
/usr/local/sbin/pmwho
.PmwhoProg /usr/local/bin/pmwho
# Make a long queue length SocketQueueLength 1000000
DefineFormattedGlobalVar variablename value
variablename
to be the string value
. The value can be accessed where
special formatting characters are permitted with
%{GlobalVar:variablename}
../detail-server1
:DefineFormattedGlobalVar servername server1 LogFile ./detail-%{GlobalVar:servername}
DefineFormattedGlobalVar
,
except that special formatting characters in value are not
honoured.undef
during startup and 1 for a restart (usually due to a SIGHUP).# Set up a umask to use for the life of this process StartupHook sub { umask(0222);}
# Delete a lock file ShutdownHook sub { unlink '/tmp/xyzzy.lck';}
radiusd
to
delay restart or termination for the configured time. When the configured
time has passed, restart or termination is done when there are no more
requests to serve from the sockets.radiusd
to process any queued
requests before restart or termination. # When shutdown is triggered, wait for Radius clients to stop sending DelayedShutdownTime 5
radiusd
is signalled to restart or terminate, and
DelayedShutdownTime
has been set. This hook can, for
example, signal upstream proxies about the impending shutdown.DelayedShutdownHook
is passed the following
argument:restart
or termination
# Tell NASes to stop sending traffic to us DelayedShutdownHook file:"%D/delayed-shutdown-hook.pl"
# Fake a new attribute into the request PreClientHook sub { ${$_[0]}->add_attr('test-attr', \ 'test-value');}
goodies/handler-find-hook.cfg
for a configuration
sample.UsernameCharset
is available as
a global and Handler level parameter. The character set checks are done
for both User-Name attribute and EAP identity.UsernameCharset
checks. When an
EAP-Response/Identity message is handled by an AuthBy, the EAP identity
must pass both global and per Handler UsernameCharset
checks. The Handler is the last Handler that processed the request before
it was passed to the AuthBy.UsernameCharset a-zA-Z0-9._@-
radiusd
runs as, provided
radiusd
starts as a suitably privileged user, such as
root. The value can be a valid Unix user name or an integer
UID.radiusd
runs as, provided
radiusd
starts as a suitably privileged user, such as
root. The value can be a comma-separated list of valid Unix group names or
integer GIDs. The first group is set as the effective group ID.# Log if request handling takes more than 0.1 seconds ResponseTimeThreshold 100
GlobalMessageLog
parameters, typically one for each protocol. The general format
is:GlobalMessageLog protocol, identifier[, extras
...]
protocol
defines the protocol. The possible
values are:
radius
radsec
diameter
tacacsplus
identifier
is the Identifier or the
MessageLog
clause that does the logging.extras
is currently unused.GlobalMessageLog
:# Log all RADIUS and Diameter messages with separage MessageLog clauses GlobalMessageLog radius,messagelograd GlobalMessageLog diameter,messagelogdia
radsec
.FarmSize
is
configured, a shared duplicate cache is also strongly recommended. For
more information, see DupCache
.LogFarmInstance
flag parameter allows
logging server farm instance number of a worker.
LogFarmInstance
can be configured for global level
and Log clause level. LogFarmInstance
enables
prepending server farm instance number to the messages logged to STDOUT,
when LogStdout
is enabled, and to log file configured
with <Log FILE>
and <Log
SYSLOG>
. For more information, see Section 3.7.2. LogStdout.FarmSize
parameter is set. When
FarmSize
is set, the farm supervisor logs with
instance number 0. When FarmSize
is not set, instance
number is always 0.# Enable server farm and prepend farm instance number to log messages FarmSize 5 LogFarmInstance
local
.goodies/farmsize.cfg
.local
: Local to each process. The duplicate cache
is not sharedshared
: Shared between processes on the same
server. Requires Cache::FastMmap
Perl module.global
: Shared between processes using the Gossip
framework# See DupCacheFile for the shared file location DupCache shared
/tmp/radiator-dupcache-sharefile%0
or
C:\radiator-dupcache-sharefile%0
on Windows.# For example: /var/run/radiator/hashbalance-dupcache-38479-1473082581-9264 DupCacheFile /var/run/radiator/hashbalance-dupcache%0
EAP_UseState
, currently set to off by
default, enables or disables the use of State
attribute with EAP for the whole server.
<AuthBy EAPBALANCE>
, consider switching to
another AuthBy, such as <AuthBy HASHALANCE>
, to
avoid adding a second State
in the proxied
requests.EAP_UseState
:# Use State attribute for identifying all EAP authentication conversations EAP_UseState
radiusd
server instance, similar to Identifier for an
AuthBy, Handler, and any other clause. This allows hooks, logging, Gossip
framework, and other code to use a name that uniquely identifies a
radiusd
instance. The global Instance parameter does
not have a value by default. Special formatting characters are
supported.# Set identifier based on the hostname and server farm instance number Identifier Radiator-%h-%O
PacketDumpOmitAttributes EAP-Message,User-Password
StatusServer
to one of the
following values:off
minimal
default
CVE-2014-0160
- the OpenSSL vulnerability
commonly called HeartbleedDigest::MD4
- MD4 is required by MSCHAP and
MSCHAP-v2 and their derivatives# Our OpenSSL is patched but still reports vulnerable version DisabledRuntimeChecks CVE-2014-0160
100
.200000
.