Radius Feature Overview Guide
Radius Feature Overview Guide
RADIUS
Feature Overview and Configuration Guide
Introduction
RADIUS (Remote Authentication Dial In User Service) is a networking protocol that provides
centralized authentication, authorization, and accounting services for users who connect and use
network services. The point at which the user connects to the network is known as the Network
Access Server (NAS), while user authentication and account information is stored in a database on
the RADIUS server. The RADIUS protocol is used to communicate between the Network Access
Servers and the RADIUS server.
When a user connects to the network, the NAS challenges the user for authentication, and pass on
the authentication to the RADIUS server to check. Based on the result of the check against the user
database, the RADIUS server informs the NAS whether or not to allow the connected user access to
the network.
A RADIUS server can do more than allow or deny access to the network. A RADIUS server can send
back parameters to the connected users, such as an IP address for the user, or a VLAN for the user,
or a privilege level for a session. RADIUS also provides an accounting service. Switches can inform
the RADIUS server how long a user has been connected to the network, and how much traffic the
user has sent and received while connected to the network.
The original use for RADIUS was for the authentication of users dialing into an ISP (Internet Service
Provider). A PPP (Point-to-Point Protocol) connection would be established between the remote
client and the ISP's access switch. The ISP's access switch would receive the client's username
and password using PAP (Password Authentication Protocol) or using CHAP (Challenge Handshake
Authentication Protocol) and pass on the client's username and password to the RADIUS server to
authenticate the client. The RADIUS server's response to the authentication request would be sent
back to the client as a PAP or CHAP allow or deny.
RADIUS has been adapted to network access authentication applications. Network access
authentication using RADIUS follows a similar method to the PPP dial-up
application for ISPs. For general network access authentication there is the
RADIUS server where the database of user authentication data is stored and
a NAS (Network Access Server), which is the switch that user connects to first. The RADIUS server
and the NAS communicate with each other through exchanging attributes. Usernames and
passwords are treated as attributes in RADIUS packets to and from a RADIUS server and a NAS.
The RADIUS server is configured with a list of valid NASs that are allowed to send authentication
requests to the RADIUS server.
The RADIUS server will not accept authentication requests from a NAS that is not on the list of valid
NASs. Each NAS has a shared secret, which is a shared key with the RADIUS server that is used to
authenticate requests. The RADIUS server has access to a list of user authentication data, stored
within the RADIUS server or accessed from another server.
Communication between the NAS and RADIUS server uses the RADIUS protocol. The RADIUS
protocol uses UDP packets. There are two UDP ports used as the destination port for RADIUS
authentication packets (ports 1645 and 1812). Note that port 1812 is in more common use than port
1645 for authentication packets. UDP ports (1646 and 1813) are used for RADIUS accounting
separately from the ports used for RADIUS authentication.
Figure 10: Example showing a user to a NAS to a RADIUS server network connection
Network
Feature support may change in later software versions. For the latest information, see the following
documents:
These documents are available from the above links on our website at alliedtelesis.com.
The following features are supported since the following software versions:
For security purposes, it is possible to specify a radius server with a named VRF. Placing a radius
server within a VRF means that no actor that resides outside of the VRF can contact the radius
server. - 5.5.2-1.1
C613-22056-00 REV D Products and software version that apply to this guide | Page 2
RADIUS
Contents
Introduction .........................................................................................................................................1
Products and software version that apply to this guide ...............................................................2
RADIUS Configuration.......................................................................................................................12
Switch configuration tasks..........................................................................................................12
Switch to RADIUS server communication ..................................................................................13
Configuring AAA server groups ..................................................................................................15
Configuring AAA server groups with deadtime...........................................................................16
Specifying RADIUS authentication .............................................................................................17
Specifying RADIUS accounting ..................................................................................................17
Monitoring and maintaining RADIUS ..........................................................................................17
C613-22056-00 REV D Products and software version that apply to this guide | Page 3
RADIUS
C613-22056-00 REV D Products and software version that apply to this guide | Page 4
RADIUS
RADIUS Overview
RADIUS packets
The RADIUS RFCs define the RADIUS packet types and attributes. RADIUS authentication is
defined by RFC2058, RFC2138, RFC2865, and RFC2868. RADIUS accounting is defined by
RFC2059, RFC2139, RFC2866, and RFC2867. These RADIUS RFCs define over fifty attributes and
six packets types (Access-Request, Access-Accept, Access-Reject, Accounting-Request,
Accounting-Response, Access-Challenge).
A RADIUS exchange is initiated by the NAS when a user requests access to the NAS. The NAS
obtains the user authentication data adds them into a RADIUS Access-Request packet type and
sends the RADIUS Access-Request packet to the RADIUS server.
If a RADIUS server has not been configured for authentication request from a NAS then it will
silently discard an Access-Request packet from it.
If the RADIUS server accepts the request from the NAS it considers the authentication data
provided in the Access-Request packet. The RADIUS server may verify the user from its own
database or it may connect to other servers to verify.
If the RADIUS server decides that the user is not allowed access to the NAS it responds to the
NAS with an Access-Reject packet and the NAS will block the user.
If the RADIUS server decides that the user is valid but needs more information to verify that the
user is not an impostor, it may send an Access-Challenge packet to the NAS that the NAS
forwards to the user. The NAS forwards the user response to the Access-Challenge packet in an
Access-Request packet to the RADIUS server to accept or reject to allow or deny NAS user
access.
If the RADIUS server rejects the user it sends an Access-Reject packet to the NAS.
If the RADIUS server accepts the user it sends an Accept-Accept packet to the NAS. The
Accept-Accept packet to the NAS contains attributes that the NAS can apply.
Figure 11: Example showing an exchange from a requestor to a NAS to a RADIUS server
Authentication credentials -
username/password, and
possibly other information
Access-Request
Access-Challenge
Pass on challenge data
Repeated 0 or
more times
Response to challenge
RADIUS attributes
Attributes are carried within RADIUS packets in the form of TLVs (Type Length Values). Every
attribute has an attribute ID number in the Type field of the TLV. The Length field holds a one-byte
number that represents then length of the TLV. The Value field holds the value of the attribute. Each
attribute is identified by its RFC-defined name, followed by its attribute ID in parenthesis. For
example:
User-name(1)
User-names are strings of at least three characters and have a maximum of 253 characters,
which is the upper limit on all RADIUS attributes.
User-password(2)
User-passwords are encrypted using an MD5 hash of the password, the NAS's shared secret
with the RADIUS server, and a request authenticator value. User-passwords can either be used
at the initial authentication attempt or in response to an Access-Challenge packet type from the
RADIUS server to the NAS.
CHAP-password(3)
CHAP-passwords are used if the NAS is using CHAP to authenticate the user, and doesn't
receive the use the user's password but sends the CHAP response to the RADIUS server
instead. The CHAP password is an encrypted string that is an MD5 hash of the password and
challenge value sent by the user.
Framed-IP-Address(8)
Used for dial-in user making PPP connections to the NAS who are dynamically allocated an IP
address that they can use for the duration of their connect. The RADIUS server sends the
Framed-IP-Address to the NAS to allocate.
Service-Type(6)
Used when the NAS is authenticating a user who wants to open a management session on the
NAS, and is sent by the RADIUS server back to the NAS in an Access-Accept type packet to
indicate the level of access the NAS gives a user. Service-Type(6) is mapped to a Privileged
management session for AlliedWare Plus.
NAS-Port-Type(61)
Identifies the type of port on which the user is accessing the NAS. The NAS-Port-Type(61) attri-
bute is sent by the NAS to the RADIUS server in Access-Request type packet, so the RADIUS
server may use it to choose access type. For 802.1X sessions, the NAS-Port-Type sent by the
NAS is Ethernet (15).
Figure 12: Example showing TLVs in a RADIUS packet from a NAS to a RADIUS server
For a full list of attributes see the "Defined RADIUS Attributes List" on page 35.
RADIUS security
RADIUS is used for network security and carries user authentication information, so can be a target
for security attacks. To counter threats there are four elements to RADIUS security:
Shared secret
Authenticator
Password encryption
Shared secret
Every NAS and server are configured with a pre-shared key, called the shared secret, which is a key
string, with no particular format of at least 16 characters.
The protocol has no method for choosing and sharing the secret between the NAS and the server.
The secret must be manually generated and separately configured on the NAS and on the server.
The shared secret itself never appears in any RADIUS packets. It is used as an input to the
algorithms used for creating encrypted values that are carried in the packets.
Authenticator
The authenticator is a random 16-byte value generated by the NAS. The NAS creates a new
authenticator value for each Access-Request that it sends.
The response packets that come back from the server contain a value called the Response
Authenticator. This is a value that is created by performing an MD5 hash on a string that is created
by concatenating the packet type identifier, Session ID, Authenticator sent in the request packet,
Attribute fields in the packet, Shared secret that the server shares with the NAS to which it is
responding.
When the NAS receives the response packet, it performs the same hash on the same values, and
verifies that it comes up with the same result. If not, then it must assume that the response packet
has been spoofed, and silently discards it.
Password encryption
The value placed in the user-password TLV of an Access-Request packet is not simply an exact
copy of the password sent from the requestor to the NAS.
The NAS concatenates together the shared secret and the authenticator that it has randomly
generated for this request and then performs manipulations (MD5, XOR) on that concatenation, and
the password to create the value to go into password TLV.
When the server validates the Access-Request, it retrieves the user’s password from the user
credentials database, and performs the same manipulation upon that password. If the result
matches the value in the user-password field of the Access-Request, then the password sent by
the requestor is deemed to be correct.
RadSec is an extension to the RADIUS authentication protocol that uses Transport Layer Security
(TLS) as the transport protocol. It provides improved security over the standard RADIUS protocol by:
ensuring that protocol messages are encrypted, preventing external entities from snooping
usernames and passwords
using X.509 certificate chains for identity validation and encrypted key exchange
AlliedWare Plus uses a RadSecProxy to act as an intermediary between local applications that use
standard RADIUS UDP datagrams and external entities that use RadSec. RadSecProxy converts
UDP datagrams into messages carried over TLS, and vice versa.
The TLS connection supports secure renegotiation, and if the connection is broken unintentionally
then it recovers automatically after restoration of the connection. There is no need to set shared-
secret between RadSec proxy and secure RADIUS server, since they are authenticated using X.509
certificates.
RADIUS proxy
It is possible to configure a RADIUS proxy server so that remote RADIUS servers hold the user
database and validate NAS RADIUS requests.
The proxy server forwards the request to the first available RADIUS server.
The RADIUS server processes the request and sends the response back to the proxy server.
The proxy server then forwards the response to the NAS with an accept or reject.
There are a variety of situations where a RADIUS proxy is useful. For example, multiple RADIUS
servers could be configured to each hold a different user database for a specific purpose e.g. one
for authenticating switch management sessions, one for authenticating VPN connections, and one
for authenticating 802.1X sessions. In this situation it is convenient to use a single IP address on all
the NASs to point to the RADIUS proxy server. This server then forwards the request to the correct
RADIUS server holding the relevant user database.
NetAdmin requesting
802.1x supplicants management access
Internet
RADIUS proxy
RADIUS accounting
There are only two types of RADIUS accounting packet: Accounting-Request and Accounting-
Response.
The Accounting-Request packets are always sent from the NAS to the server. The Accounting-
Response packets are always sent from the server to the NAS, and are effectively ACKs of the
Accounting-Request packets.
The Accounting-Request packets always carry the attribute Acct-Status-Type. The most
commonly used values of this attribute are:
Interim update – packets sent periodically during the session to give update reports on the
statistics that are being collected.
Input Octets
Input Packets
Output Octets
Output Packets
Session Duration
There is no requirement to exchange all these statistics – NAS implementations are at liberty to
choose which statistics they will send. Each of these statistics has a corresponding attribute type.
The attributes are sent in Interim-Update and Stop accounting request packets.
Each accounting session has a unique session ID, which is chosen by the NAS. The session ID is
carried in an Acct-Session-Id attribute, that should be present in every packet involved in the
session. The accounting packets typically do not use the same UDP port as the authentication
packets. The default port for RADIUS accounting is 1813.
Figure 14: Example showing RADIUS accounting between a NAS and a RADIUS server
RADIUS: Accounting-Request
(acct_status_type=start)
RADIUS: Accounting-Reponse
RADIUS: Accounting-Request
(acct_status_type=interim update)
Repeated multiple times
during the session
RADIUS: Accounting-Reponse
RADIUS: Accounting-Request
(acct_status_type=stop)
RADIUS: Accounting-Reponse
RADIUS Configuration
This section describes how to configure RADIUS with the available AAA commands.
RADIUS is often used in a variety of networks that need high security while maintaining access for
remote users. RADIUS is suitable for the following networks that require access security:
Networks with multiple-vendor access servers, each supporting RADIUS. For example, access
servers from several vendors use a single RADIUS server-based security database.
Networks in which a user may access a single service. Using RADIUS, you can control user
access to a single host, or to a single utility such as Telnet.
Networks that require accounting. You can use RADIUS accounting independent of RADIUS
authentication. The RADIUS accounting functions allow data to be sent at the start and end of
services, indicating the amount of resources (time, packets, bytes) used.
Use the aaa authentication command to define method lists for RADIUS authentication.
You can use the aaa group server command to group selected RADIUS hosts for specific
services.
You can use the aaa accounting login command to enable accounting for RADIUS connections.
This section describes how to set up RADIUS for authentication and accounting on your network,
and includes the following sections:
For RADIUS configuration examples using the commands in this guide, refer to the section "RADIUS
Proxy Configuration" on page 18.
Timeout period
Retransmission value
Key string
VRF
RADIUS security servers are identified on the basis of their host name or IP address, host name,
VRF and specific UDP port numbers, or IP address and specific UDP port numbers. The
combination of the IP address, VRF and UDP port number creates a unique identifier, allowing
different ports/VRFs to be individually defined as RADIUS hosts providing a specific AAA service.
This unique identifier enables RADIUS requests to be sent to multiple UDP ports or VRFs on a server
at the same IP address.A RADIUS server and a switch use a shared secret text string to encrypt
passwords and exchange responses.
To configure RADIUS using the AAA security commands, you must specify the host running the
RADIUS server daemon and a secret text string that it shares with the switch, which you can specify
using the key parameter in the radius-server host command.
The timeout, retransmission, and encryption key values are configurable globally for all RADIUS
servers, on a per-server basis, or in some combination of global and per-server settings. To apply
these settings globally to all RADIUS servers communicating with the switch, use the three global
commands: radius-server timeout, radius-server retransmit, and radius-server key. To apply
these values on a specific RADIUS server, use the radius-server host command
Note: You can configure both global and per-server timeout, retransmission, and key value
commands simultaneously on the same Network Access Server. If both global and per-server
functions are configured on a switch, the per-server timer, retransmission, and key value
commands override global timer, retransmission, and key value commands
To configure per-server RADIUS server communication, use the following command in the Global
Configuration mode:
To configure global communication settings between the switch and a RADIUS server, use the
following radius-server commands in the Global Configuration mode:
Server groups also can include multiple host entries for the same server, as long as each entry has a
unique identifier. The combination of an IP address, VRF and a UDP port number creates a unique
identifier, allowing different ports to be individually defined as RADIUS hosts providing a specific
AAA service.
To define a server host with a server group name, enter the following commands in the Global
Configuration mode. The listed RADIUS server must exist in the Global Configuration mode:
Configuring deadtime is no longer limited to a global configuration. A separate timer has been
attached to each server host in every server group. When a server is found to be unresponsive after
numerous retransmissions and time-outs, the server is assumed to be dead. The timers attached to
each server host in all server groups are triggered. In essence, the timers are checked and
subsequent requests to a server, once it is assumed to be dead, are directed to alternate servers, if
configured. When the network access server receives a reply from the server, it checks and stops all
configured timers, if running, for that server in all server groups.
If the timer has expired, only the server to which the timer is attached is assumed to be alive. This
becomes the only server that can be tried for later AAA requests using the server groups to which
the timer belongs.
Note: Since one server has different timers and may have different deadtime values configured in
the server groups, the same server may in the future have different states, dead and alive, at
the same time. To change the state of a server, you must start and stop all configured timers
in all server groups.
The size of the server group will be increased because of the addition of new timers and the
deadtime attribute. The overall impact of the structure depends on the number and size of the server
groups and how the servers are shared among server groups in a specific configuration.
To configure deadtime within a server group, use the following commands beginning in the Global
Configuration mode:
The proxy server forwards the request to the first available RADIUS server.
The RADIUS server processes the request and sends the response back to the proxy server.
The proxy server then forwards the response to the NAS with an accept or reject.
Basic Configuration
This example outlines a minimal RADIUS proxy configuration.
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#
To add two upstream servers, 192.168.1.1 and 192.168.2.2, with secret key strings string1 and
string2, use the commands:
Only RADIUS requests from these clients will be sent to the upstream server.
To add client 10.37.236.11 with shared key myKey, use the command:
awplus(config-radproxy)#proxy enable
For example, upstream server 192.168.1.1 is listening on port 2044 for authorization and port 2055
for accounting requests. Enter the commands on the proxy server:
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#server 192.168.1.1 key secret1 auth-port 2044 acct-port
2055
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#proxy auth-port 2044 acct-port 2055
You can configure rules to match a RADIUS request based on a realm or a RADIUS packet
attribute. If a match is found then the servers defined in the rule will be used as the upstream
servers.
username%domain.com
domain/username
domain\username
Any RADIUS attribute from the request packet can be examined to determine the upstream server.
Use the help radius-attribute command to get a list of all RADIUS attributes, see "Defined RADIUS
Attributes List" on page 35
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#rule 10 realm myuser@* server 192.168.1.1
Example 2: Configure the same rule, as per example 1, where the upstream server is listening on
ports 2044 and 2055.
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#rule 10 realm myuser@* server 192.168.1.254 auth-port
2044 acct-port 2055
Example 3: Configure a rule with id 20 that matches RADIUS attribute user-name as myuser to use
the upstream server 192.168.2.2.
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#rule 20 attribute user-name myuser server 192.168.2.2
awplus#help radius-attribute
Standard Attributes:
1 User-Name
2 User-Password
3 CHAP-Password
4 NAS-IP-Address
5 NAS-Port
6 Service-Type
...
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#group atlnz
awplus(config-radproxy-group)#
awplus(config-radproxy-group)#server 192.168.1.1
awplus(config-radproxy-group)#server 192.168.2.2
awplus(config-radproxy-group)#exit
awplus(config-radproxy)
To set the source IP address to 192.168.1.1 for all outgoing RADIUS packets from the proxy server,
use the following commands:
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#source-interface 192.168.1.1
To use the IP address of the interface vlan1 as the source IP for outgoing RADIUS packets from the
proxy server, use the following commands:
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#source-interface vlan1
Use the no variant of this command to remove the source interface configuration. The source IP
address in outgoing proxy RADIUS packets will then be the IP address of the interface from which
the packets are sent.
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#no source-interface
Use the following commands to set the server timeout value to 60 seconds
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#server timeout 60
The deadtime period is the amount of time a server is considered “dead” before its:
The default value is 300 seconds. Set this dead time value using the server deadtime command.
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#server deadtime 100
If status check is set then a dead server’s status will change to ‘Alive’ if it responds favourably
to a status check.
If status check is not set, a dead server’s status changes to ‘Alive’ after the specified
deadtime, irrespective of the actual state of the server.
This feature is only valid if the upstream server supports status check.
To enable status check on th upstream server 192.168.1.1 use the following command:
awplus#configure terminal
awplus(config)#radius-server proxy-server
awplus(config-radproxy)#server 192.168.1.1 key secret1 status-check
Unknown,
Alive,
Dead.
When the RADIUS proxy starts all the servers will be in an 'Unknown' state. When the first RADIUS
packet is received by the proxy server and sent to the first server, the status will be changed
depending on the availability of that server.
The above output shows that the proxy server received a RADIUS authorization request and sent it
to the first configured server, 192.168.1.1, which is ‘Alive’.
If another request arrives and 192.168.1.1 is unavailable, then the server status will change to 'Dead'
after the specified timeout period. The RADIUS proxy server will then send subsequent
authorization requests to the next available server 192.168.2.2. The output will look like as below:
For an explanation of CoA, step-by-step configuration instructions, and an example, see the AAA
and Port Authentication Feature Overview and Configuration Guide.
RADIUS authentication
Example The following example shows how to configure the switch to authenticate using RADIUS.
!
radius-server host 172.10.10.1
radius-server key radiuspass
username newuser password newpass
aaa authentication login admin
!
The lines in this example RADIUS authentication and accounting configuration are defined as
follows:
The radius-server host command defines the IP address of the RADIUS server host.
The radius-server key command defines the shared secret text string between the network
access server and the RADIUS server host.
The aaa authentication login command defines a method list named admin for login
authentication.
Example The following example shows how to configure the switch to authenticate logins using RADIUS.
!
aaa authentication login radius-login group radius
!
The aaa authentication login radius-login group radius command configures the switch to use
RADIUS for authentication at the login prompt.
Example The following example shows how to configure the authentication method to verify a username and
password at login. In this example, if a username is entered at the username prompt, that username
is used for authentication.
!
aaa authentication login default group radius
radius-server host 172.10.10.1 auth-port 1812 acct-port 1813
!
The lines in this sample RADIUS authentication configuration are defined as follows:
The aaa authentication login default group radius command specifies that the username and
password are verified by RADIUS.
The radius-server host 172.10.10.1 auth-port 1812 acct-port 1813 command specifies the IP
address of the RADIUS server host, the UDP destination port for authentication requests, and the
UDP destination port for accounting requests.
!
radius-server host 172.2.2.2 timeout 5 retransmit 5 key 10
!
!
! Enable and configure radius authentication and accounting
! services on the switch:
!
aaa authentication login default group radius
aaa accounting default start-stop group radius
!
! Change the retransmission value for all RADIUS servers:
!
radius-server retransmit 4
!
! Configure per-server specific timeout, retransmission, and
! key values. Change the default auth-port and acct-port
! values.
!
radius-server host 172.2.2.2 auth-port 1645 acct-port 1646 timeout 3
retransmit 3 key radkey
!
! Configure per-server specific timeout and key values. This
! server uses the global retransmission value.
!
radius-server host 172.1.1.1 timeout 6 key rad123
!
Output 6: RADIUS server group sample configuration using the same IP address
!
aaa group server radius group2
server 172.1.1.1 auth-port 1645 acct-port 1646
server 172.1.1.1 auth-port 1812 acct-port 1813
server 172.1.1.1 auth-port 2000 acct-port 2001
!
One of these groups, group1, has two different host entries on the same RADIUS server configured
for the same services. The second host entry configured acts as fail over backup to the first one.
Each group is individually configured for deadtime; deadtime for group1 is one minute, and
deadtime for group2 is two minutes.
!
! The following command configures default RADIUS parameters:
!
aaa authentication login default group group1
!
! The following commands define the group1 RADIUS server group
! and associate servers with it and configures a deadtime of
! one minute:
!
aaa group server radius group1
server 172.1.1.1 auth-port 1645 acct-port 1646
server 172.2.2.2 auth-port 1812 acct-port 1813
deadtime 1
!
! The following commands define the group2 RADIUS server group
! and associate servers with it and configures a deadtime of
! two minutes:
!
aaa group server radius group2
server 172.2.2.2 auth-port 1812 acct-port 1813
server 172.3.3.3 auth-port 2000 acct-port 2001
deadtime 2
!
! The following commands configure the RADIUS attributes
! for each host entry associated with one of the defined
! server groups:
!
radius-server host 172.1.1.1 auth-port 1645 acct-port 1646
radius-server host 172.2.2.2 auth-port 1812 acct-port 1813
radius-server host 172.3.3.3 auth-port 2000 acct-port 2001
!
Note: The RADIUS server configures the RADIUS proxy as a RADIUS server and does not know it
is a proxy.
!
<IP: 10.1.1.1>
radius-server local
server enable
nas 192.168.10.10 key secret
group admin
attribute Service-Type Administrative-User
user a password a group admin
user b password b group admin
!
!
<IP: 192.168.10.10>
radius-server proxy-server
server 10.1.1.1 key secret
nas 192.168.1.1 key secretA
nas 192.168.2.1 key secretB
nas 192.168.3.1 key secretC
proxy enable
!
RADIUS Client1 configuration with AW+ user login authentication and accounting.
!
<IP: 192.168.1.1>
radius-server host 192.168.10.10 key secretA
aaa authentication login default group radius
aaa accounting login default start-stop group radius
!
Realm match
This example shows how to configure rules to choose a RADIUS server based on the realm of the
RADIUS Request.
If the request is from the realm named abcd, then send the request to RADIUS server
10.1.1.1. The realm name is stripped when the request is sent to the server.
If the request is from the realm named xyz* (i.e. a realm starting with xyz followed by any
number of characters), then send the request to RADIUS server 10.1.1.1. The realm name is
stripped when the request is sent to the server.
If the request is from realms *.com (e.g. abc.com, 123.com), then send the request to
RADIUS server 11.1.1.1. The realm name is not stripped when the request is sent to the
server.
If a request does not match any rule, then use the first alive server (i.e. use 10.1.1.1 if it's alive).
Note: The realm name appears in the User-Name attribute of a RADIUS Request packet. Valid
formats for a realm are:
username@realm
username%realm
realm/username
realm\username
!
radius-server proxy-server
server 10.1.1.1 key secret
server 11.1.1.1 key secret11
nas 192.168.1.1 key secretA
nas 192.168.2.1 key secretB
nas 192.168.3.1 key secretC
rule 1 realm abcd server 10.1.1.1
rule 2 realm xyz* server 10.1.1.1
rule 3 realm *.com nostrip server 11.1.1.1
proxy enable
!
Attribute match
This example shows how to configure rules to choose a RADIUS server based on certain RADIUS
attributes in the request packet.
If Called-Station-Id (SSID) starts with SSID: AP (e.g. "SSID: AP", "SSID: AP1"), then use
RADIUS server 10.1.1.1.
If a request does not match any rule, then use the first ‘Alive’ server.
!
radius-server proxy-server
server 10.1.1.1 key secret
server 11.1.1.1 key secret11
nas 192.168.1.1 key secretA
nas 192.168.2.1 key secretB
nas 192.168.3.1 key secretC
rule 10 attribute NAS-Identifier XYZ server 11.1.1.1
rule 20 attribute Called-Station-Id "SSID: AP\*\*X" server 11.1.1.1
rule 30 attribute Called-Station-Id "SSID: AP*" server 10.1.1.1
rule 40 attribute Framed-IP-Address 192.168.100.* server 11.1.1.1
proxy enable
!
If the User-Name attribute in the request starts with admin, use the servers in the group
group1; use 10.1.1.1 if it's ‘Alive’ otherwise use 11.1.1.1.
If the User-Name attribute in the request starts with test, use the servers in the group group2;
use 20.1.1.1 if it's ‘Alive’ otherwise use 21.1.1.1.
If a request does not match any rule, then use the first ‘Alive’ server (i.e. use 10.1.1.1 if it's
‘Alive’).
!
radius-server proxy-server
server 10.1.1.1 key secret
server 11.1.1.1 key secret11
server 20.1.1.1 auth-port 1645 acct-port 1646 key secret20
server 21.1.1.1 auth-port 1645 acct-port 1646 key secret21
group group1
server 10.1.1.1
server 11.1.1.1
group group2
server 20.1.1.1 auth-port 1645 acct-port 1646
server 21.1.1.1 auth-port 1645 acct-port 1646
nas 192.168.1.1 key secretA
nas 192.168.2.1 key secretB
nas 192.168.3.1 key secretC
rule 100 attribute User-Name "admin*" group group1
rule 101 attribute User-Name "test*" group group2
proxy enable
!
C613-22056-00 REV D Rule-based proxy with multiple RADIUS server groups | Page 33
RADIUS
To do this:
1. Configure the Local RADIUS server with a different listening port to the RADIUS proxy to avoid
conflict.
2. Add an administrative user manager to allow access to the network for troubleshooting on
network failure.
3. Add the Local RADIUS server to the end of the RADIUS proxy’s server list
!
radius-server local
server enable
server auth-port 1234
nas 127.0.0.1 key awplus-local-radius-server
group admin
attribute Service-Type Administrative-User
user manager password manager-password group admin
!
radius-server proxy-server
server 10.1.1.1 key secret
server 11.1.1.1 key secret11
server 127.0.0.1 auth-port 1234 key awplus-local-radius-server
nas 192.168.1.1 key secretA
nas 192.168.2.1 key secretB
nas 192.168.3.1 key secretC
proxy enable
!
Table 11 lists all Standard attributes and values, Table 12 lists the Vendor-Specific attribute names
and values.
More detailed information can be found in the following RFCs, defining the attributes and values for
RADIUS server:
RFC3580: IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines
RFC5447: Diameter Mobile IPv6: Support for Network Access Server to Diameter Server
Interaction
RFC5607: Remote Authentication Dial-In User Service (RADIUS) Authorization for Network
Access Server (NAS) Management
RFC5904: RADIUS Attributes for IEEE 802.16 Privacy Key Management Version 1 (PKMv1)
Protocol Support
RFC6930: RADIUS Attribute for IPv6 Rapid Deployment on IPv4 Infrastructures (6rd)
1 User-Name string
2 User-Password string
5 NAS-Port Integer
11 Filter-Id string
12 Framed-MTU Integer
14 Login-IP-Host IP Address
18 Reply-Message string
19 Callback-Number string
20 Callback-Id string
22 Framed-Route string
23 Framed-IPX-Network IP address
26 Vendor-Specific Use the Vendor-specific Attribute Name. For valid values, see
"Vendor-specific RADIUS attributes" on page 46.
27 Session-Timeout Integer
28 Idle-Timeout Integer
30 Called-Station-Id string
31 Calling-Station-Id string
32 NAS-Identifier string
34 Login-LAT-Service string
35 Login-LAT-Node string
37 Framed-AppleTalk-Link Integer
38 Framed-AppleTalk-Network Integer
39 Framed-AppleTalk-Zone string
41 Acct-Delay-Time Integer
42 Acct-Input-Octets Integer
43 Acct-Output-Octets Integer
44 Acct-Session-Id string
46 Acct-Session-Time Integer
47 Acct-Input-Packets Integer
48 Acct-Output-Packets Integer
50 Acct-Multi-Session-Id string
51 Acct-Link-Count Integer
52 Acct-Input-Gigawords Integer
53 Acct-Output-Gigawords Integer
56 Egress-VLANID Integer
58 Egress-VLAN-Name string
62 Port-Limit Integer
63 Login-LAT-Port string
66 Tunnel-Client-Endpoint string
67 Tunnel-Server-Endpoint string
68 Acct-Tunnel-Connection string
69 Tunnel-Password string
73 ARAP-Security Integer
74 ARAP-Security-Data string
75 Password-Retry integer
77 Connect-Info string
78 Configuration-Token string
81 Tunnel-Private-Group-Id string
82 Tunnel-Assignment-Id string
83 Tunnel-Preference Integer
85 Acct-Interim-Interval Integer
86 Acct-Tunnel-Packets-Lost Integer
87 NAS-Port-Id string
88 Framed-Pool string
89 Chargeable-User-Identity string
90 Tunnel-Client-Auth-Id string
91 Tunnel-Server-Auth-Id string
92 NAS-Filter-Rule string
94 Originating-Line-Info octets[2]
99 Framed-IPv6-Route string
Access-Loop-Encapsulation octets
Actual-Data-Rate-Downstream integer
Actual-Data-Rate-Upstream integer
Actual-Interleaving-Delay-Downstream integer
Actual-Interleaving-Delay-Upstream integer
ADSL-Agent-Circuit-Id octets
ADSL-Agent-Remote-Id octets
DSL-Forum-DHCP-Vendor-Specific tlv
Attainable-Data-Rate-Downstream integer
Attainable-Data-Rate-Upstream integer
call-id string
Cisco-Abort-Cause string
Cisco-Account-Info string
Cisco-Assign-IP-Pool integer
Cisco-AVPair string
Cisco-Call-Filter integer
Cisco-Call-Type string
Cisco-Command-Code string
Cisco-Control-Info string
Cisco-Data-Filter integer
Cisco-Data-Rate integer
Cisco-Email-Server-Ack-Flag string
Cisco-Email-Server-Address string
Cisco-Fax-Account-Id-Origin string
Cisco-Fax-Auth-Status string
Cisco-Fax-Connect-Speed string
Cisco-Fax-Coverpage-Flag string
Cisco-Fax-Dsn-Address string
Cisco-Fax-Dsn-Flag string
Cisco-Fax-Mdn-Address string
Cisco-Fax-Mdn-Flag string
Cisco-Fax-Modem-Time string
Cisco-Fax-Msg-Id string
Cisco-Fax-Pages string
Cisco-Fax-Process-Abort-Flag string
Cisco-Fax-Recipient-Count string
Cisco-Gateway-Id string
Cisco-Idle-Limit integer
Cisco-IP-Direct integer
Cisco-IP-Pool-Definition string
Cisco-Link-Compression integer
Cisco-Maximum-Channels integer
Cisco-Maximum-Time integer
Cisco-Multilink-ID integer
Cisco-NAS-Port string
Cisco-Num-In-Multilink integer
Cisco-Policy-Down string
Cisco-Policy-Up string
Cisco-Port-Used string
Cisco-PPP-Async-Map integer
Cisco-PPP-VJ-Slot-Comp integer
Cisco-Pre-Input-Octets integer
Cisco-Pre-Input-Packets integer
Cisco-Pre-Output-Octets integer
Cisco-Pre-Output-Packets integer
Cisco-PreSession-Time integer
Cisco-PW-Lifetime integer
Cisco-Route-IP integer
Cisco-Service-Info string
Cisco-Subscriber-Password string
Cisco-Target-Util integer
Cisco-Xmit-Rate integer
dsp-id string
gw-final-xlated-cdn string
gw-final-xlated-cgn string
gw-rxd-cdn string
gw-rxd-cgn string
h323-billing-model string
h323-call-origin string
h323-call-type string
h323-conf-id string
h323-connect-time string
h323-credit-amount string
h323-credit-time string
h323-currency string
h323-disconnect-cause string
h323-disconnect-time string
h323-gw-id string
h323-incoming-conf-id string
h323-preferred-lang string
h323-prompt-id string
h323-redirect-ip-address string
h323-redirect-number string
h323-remote-address string
h323-return-code string
h323-setup-time string
h323-time-and-day string
h323-voice-quality string
incoming-req-uri string
IWF-Session octets
Maximum-Data-Rate-Downstream integer
Maximum-Data-Rate-Upstream integer
Maximum-Interleaving-Delay-Downstream integer
Maximum-Interleaving-Delay-Upstream integer
method string
Minimum-Data-Rate-Downstream integer
Minimum-Data-Rate-Downstream-Low-Power integer
Minimum-Data-Rate-Upstream integer
Minimum-Data-Rate-Upstream-Low-Power integer
MS-CHAP2-CPW octets
MS-CHAP2-Response octets
MS-CHAP2-Success octets
MS-CHAP-Challenge octets
MS-CHAP-CPW-1 octets
MS-CHAP-CPW-2 octets
MS-CHAP-Domain string
MS-CHAP-Error string
MS-CHAP-LM-Enc-PW octets
MS-CHAP-MPPE-Keys octets
MS-CHAP-NT-Enc-PW octets
MS-CHAP-Response octets
MS-Filter octets
MS-HCAP-Location-Group-Name string
MS-HCAP-User-Groups string
MS-HCAP-User-Name string
MS-IPv4-Remediation-Servers octets
MS-IPv6-Filter octets
MS-IPv6-Remediation-Servers octets
MS-Link-Drop-Time-Limit integer
MS-Link-Utilization-Threshold integer
MS-Machine-Name string
MS-MPPE-Encryption-Type octets
MS-MPPE-Recv-Key octets
MS-MPPE-Send-Key octets
MS-New-ARAP-Password octets
MS-Old-ARAP-Password octets
MS-Primary-DNS-Server ipaddr
MS-Primary-NBNS-Server ipaddr
MS-Quarantine-Grace-Time integer
MS-Quarantine-IPFilter octets
MS-Quarantine-Session-Timeout integer
MS-Quarantine-SOH octets
MS-Quarantine-User-Class string
MS-RAS-Client-Name string
MS-RAS-Client-Version string
MS-RAS-Correlation octets
MS-RAS-Vendor integer
MS-RAS-Version string
MS-Secondary-DNS-Server ipaddr
MS-Secondary-NBNS-Server ipaddr
MS-Service-Class string
MS-TSG-Device-Redirection integer
MS-User-IPv4-Address ipaddr
MS-User-IPv6-Address ipv6addr
MS-User-Security-Identity string
next-hop-dn string
next-hop-ip string
outgoing-req-uri string
prev-hop-ip string
prev-hop-via string
release-source string
remote-media-address string
session-protocol string
sip-conf-id string
sip-hdr string
subscriber string
C613-22056-00 REV D
NETWORK SMARTER
North America Headquarters | 19800 North Creek Parkway | Suite 100 | Bothell | WA 98011 | USA | T: +1 800 424 4284 | F: +1 425 481 3895
Asia-Pacific Headquarters | 11 Tai Seng Link | Singapore | 534182 | T: +65 6383 3832 | F: +65 6383 3830
EMEA & CSA Operations | Incheonweg 7 | 1437 EK Rozenburg | The Netherlands | T: +31 20 7950020 | F: +31 20 7950021
alliedtelesis.com
© 2022 Allied Telesis, Inc. All rights reserved. Information in this document is subject to change without notice. All company names, logos, and product designs that are trademarks or registered trademarks are the property of their respective owners.