RADIUS DTLS
RADIUS DTLS is a client or server protocol that
-
provides centralized security for users attempting to gain management access to a network
-
delivers a complete Authentication, Authorization, and Accounting (AAA) solution, and
-
uses RADIUS-over-DTLS (UDP) for secure communication.
RADIUS DTLS components and configuration
The Remote Authentication Dial-In User Service (RADIUS) is a widely deployed authentication and authorization protocol.
RADIUS DTLS includes these components:
-
RADIUS DTLS Port: Used for authentication and accounting with default DTLS server port 2083
-
Shared Secret: Uses RADIUS/DTLS as the shared secret when DTLS is enabled for a specific server
-
PAC Handling: Downloads PAC from ISE for CTS communication and encrypts CTS attributes with the PAC key
-
Session Management: Depends on DTLS server responses and closes sessions for ideal timeout or invalid responses
-
Load Balancing: Supports multiple DTLS servers and load balancing methods
You can change the RADIUS DTLS port number using DTLS port port_number . For more information, see the Configuring RADIUS DTLS Port Number section.
RADSEC consists of two types: RADIUS-over-TLS (using TCP) and RADIUS-over-DTLS (using UDP). Cisco IOS-XE support RADIUS-over-DTLS (UDP) but does not support RADIUS-over-TLS (TCP), as outlined in RFC 7360.
RADIUS DTLS timeout and retry configuration includes these parameters:
-
Connection Timeout: Default connection timeout is 5 seconds
-
Connection Retries: Default connection retries is 5
-
Idle Timeout: Default idle timeout is 60 seconds
After the encrypted RADIUS packet is sent, you need to start the retransmission timer. If you do not get a response before the retransmission timer expires, the packet is re-encrypted and re-transmitted. You can continue for number of times as per the DTLS retries configuration or till the default value. Once the number of tries exceeds the limit, the server becomes unavailable and responses are sent back to the AAA clients.
As the RADIUS DTLS is UDP based, you need to retry the connection after a specific timeout interval for a specific number of retries. After all retries are exhausted, the DTLS connection performs these actions:
-
Is marked as unsuccessful.
-
Looks up for the next available server for processing the RADIUS requests.
When the idle timer expires and no transactions exists since the last idle timeout, the DTLS session remains closed. After you establish the DTLS session, you can start the idle timer. If you start the idle timer for 30 seconds and one of the RADIUS DTLS packet is sent, then after 30 seconds, the idle timer expires and checks for number of RADIUS DTLS transactions. If the idle timer value exceeds zero, the idle timer resets the transaction counter and restarts the timer.
You can configure RADIUS servers with and without DTLS. It is recommended to create AAA server groups with DTLS enabled servers and non-DTLS servers. However, you will not find any such restriction while configuring AAA server groups.
Suppose you choose a DTLS server, the DTLS server establishes connection and RADIUS request packet is sent to the DTLS server. If the DTLS server does not respond after all RADIUS retries, it would fall over to the next configured server in the same server group. If the next server is a DTLS server, the processing of the RADIUS request packet continues with the next server. If the next server is a non-DTLS server, the processing of RADIUS request packet does not happen in that server group. Then the server group failover occurs and the same sequence continues with the next server group, if the next server group is available.
![]() Note |
You need to use either only DTLS or non-DTLS servers in a server group. |
Requirement: Port RADIUS DTLS support to BINOS platforms
Support for IOS and BINOS AAA
Port RADIUS DTLS support to BINOS after completing implementation in IOS, since the AAA server runs on both IOS and BINOS platforms.
Configure RADIUS DTLS server (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure DTLS parameters. Example:
|
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure RADIUS DTLS connection timeout
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure RADIUS DTLS connection timeout. Example:
Example:
The timeout-value refers to the DTLS connection timeout value. The valid range is from 1 to 65535. |
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure RADIUS DTLS idle timeout
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure RADIUS DTLS idle timeout. Example:
Example:
The DTLS idle timeout value valid range is from 1 to 65535. |
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure source interface for RADIUS DTLS server
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure source interface for RADIUS DTLS server. Example:
Example:
The interface-number refers to the Ethernet-Internal interface number. The default value is 0. |
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure RADIUS DTLS port number (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure RADIUS DTLS port number. Example:
Example:
The port-number refers to the DTLS port number. |
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure RADIUS DTLS connection retries (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure RADIUS connection retries. Example:
Example:
The retry-number refers to the DTLS connection retries. The valid range is from 1 to 65535. |
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure RADIUS DTLS trustpoint (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Specify the RADIUS server name. Example:
Example:
|
|
Step 4 |
Configure trustpoint for client and server. Example:
Example:
Example:
Example:
|
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure RADIUS DTLS match-server-identity
This task configures RADIUS DTLS match-server-identity parameters to establish secure authentication between the wireless controller and RADIUS server.
RADIUS DTLS (Datagram Transport Layer Security) provides encrypted communication for RADIUS authentication. The match-server-identity feature validates the RADIUS server's certificate against its hostname or IP address to ensure secure connections.
Procedure
|
Step 1 |
Configure the RADSEC certification validation parameters. Example:
|
|
Step 2 |
Configure the RADSEC certification validation parameters. Example:
|
The RADIUS DTLS match-server-identity parameters are configured, enabling secure certificate validation for RADSEC communication.
Configure DTLS Dynamic Author (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Configure local server profile for RFC 3576 support. Example:
|
|
Step 4 |
Configure DTLS source parameters. Example:
|
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Enable DTLS for client (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Configure local server profile for RFC 3576 support. Example:
|
|
Step 4 |
Enable DTLS for the client. Example:
Example:
|
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure client trustpoint for DTLS (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Configure local server profile for RFC 3576 support. Example:
|
|
Step 4 |
Configure client trustpoint for DTLS. Example:
Example:
|
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure DTLS idle timeout (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Configure local server profile for RFC 3576 support. Example:
|
|
Step 4 |
Configure DTLS idle time. Example:
Example:
The timeout-interval refers to the idle timeout interval. The valid range is from 60 to 600. |
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Configure server trustpoint for DTLS (CLI)
Procedure
|
Step 1 |
Enter privileged EXEC mode. Example:
|
|
Step 2 |
Enter global configuration mode. Example:
|
|
Step 3 |
Configure local server profile for RFC 3576 support. Example:
|
|
Step 4 |
Configure server trust point for the DTLS client. Example:
Example:
|
|
Step 5 |
Return to privileged EXEC mode. Example:
Alternatively, you can also press Ctrl-Z to exit global configuration mode. |
Verify RADIUS DTLS server configuration
To view information about the DTLS enabled servers, use this command:
Device# show aaa servers
DTLS: Packet count since last idletimeout 1,
Send handshake count 3,
Handshake Success 1,
Total Packets Transmitted 1,
Total Packets Received 1,
Total Connection Resets 2,
Connection Reset due to idle timeout 0,
Connection Reset due to No Response 2,
Connection Reset due to Malformed packet 0,
Clear RADIUS DTLS specific statistics
Clear RADIUS DTLS specific statistics to reset monitoring counters and start fresh data collection.
Use this task when you need to reset DTLS server statistics for monitoring purposes or troubleshooting.
Procedure
|
Clear the RADIUS DTLS specific statistics. Example:
|
The RADIUS DTLS specific statistics are cleared and reset to zero.

Feedback