RADIUS IETF Attributes
IETF Attributes Versus VSAs
RADIUS Internet Engineering Task Force (IETF) attributes are the original set of 255 standard attributes that are used to communicate AAA information between a client and a server. Because IETF attributes are standard, the attribute data is predefined and well known; thus all clients and servers who exchange AAA information via IETF attributes must agree on attribute data such as the exact meaning of the attributes and the general bounds of the values for each attribute.
RADIUS vendor-specific attributes (VSAs) derived from one IETF attribute-vendor-specific (attribute 26). Attribute 26 allows a vendor to create an additional 255 attributes however they wish. That is, a vendor can create an attribute that does not match the data of any IETF attribute and encapsulate it behind attribute 26; thus, the newly created attribute is accepted if the user accepts attribute 26.
Name |
Value |
Type |
---|---|---|
Acct-Delay-Time | integer | 41 |
Acct-Input-Giga-Words | integer | 52 |
Acct-Input-Octets | integer | 42 |
Acct-Input-Packets | integer | 47 |
Acct-Interim-Interval | integer | 85 |
Acct-Link-Count | integer | 51 |
Acct-Output-Giga-Words | integer | 53 |
Acct-Output-Octets | integer | 43 |
Acct-Output-Packets | integer | 48 |
Acct-Status-Type | integer | 40 |
Acct-Terminate-Cause | integer | 49 |
CHAP-Challenge | binary | 40 |
CHAP-Password | binary | 3 |
Delegated-IPv6-Prefix | binary | 123 |
Dynamic-Author-Error-Cause | integer | 101 |
Event-Timestamp | integer | 55 |
Filter-Id | string | 11 |
Framed-Interface-Id | binary | 96 |
Framed-IP-Address | ipv4addr | 8 |
Framed-IPv6-Route | string | 99 |
Framed-Pool |
string |
88 |
Framed-Protocol | integer | 7 |
Framed-Route | string | 22 |
Nas-Identifier | string | 32 |
NAS-IP-Address | ipv4addr | 4 |
NAS-IPv6-Address | string | 95 |
NAS-Port | integer | 5 |
Reply-Message | binary | 18 |
Service-Type | integer | 6 |
Session-Timeout |
integer |
27 |
Stateful-IPv6-Address-Pool | binary | 123 |
X-Ascend-Client-Primary-DNS | ipv4addr | 135 |
X-Ascend-Client-Secondary-DNS | ipv4addr | 136 |
Filter-Id
Filter-ID specifies the access control list (ACL) that is applied to the subscriber interface. The format of the Filter-Id attribute is as follows:
Filter-Id = <ACL-Name> <in | out>
Where, in and out indicate the direction of the ACL feature to be applied. ACL in is mapped to the input direction (IPv4 Ingress), and ACL out is mapped to the output direction (IPv4 Egress) of the CP-UP session programming interface. You can configure only one attribute per direction.
Session-Timeout
Session-Timeout sets the maximum number of seconds of service to be provided to the user before the session terminates. Session-Timeout attribute can be sent as part of CoA request, Access-Accept, or Access-Challenge messages.
You can enable session-timeout using the user-profile on a RADIUS server. For example:
user1 Cleartext-Password := "cisco"
Session-timeout = 90'
Once the timer expires, the subscriber is removed from the server.
For session deletion due to session-timeout, the reason of disconnect can be observed as “Session-Timeout” in accounting messages. For example,
(5) Sent Access-Accept Id 7 from 10.1.35.10:1812 to 10.1.32.83:16384 length 0
(5) Session-Timeout = 90
(8) Acct-Terminate-Cause = Session-Timeout
(8) Ascend-Disconnect-Cause = Session-Timeout
Verification:
You can verify the session-timeout configuration using the show subscriber session detail command:
show subscriber session detail
"subcfgInfo": {
"committedAttrs": {
"attrs": {
"accounting-list": "automation-aaaprofile",
"acct-interval": "2000",
"addr-pool": "automation-poolv4",
"ipv4-mtu": "1400",
"ppp-ipcp-reneg-ignore": "true",
"ppp-ipv6cp-reneg-ignore": "true",
"ppp-lcp-reneg-ignore": "true",
"session-acct-enabled": "true",
"session-timeout": "90" ,
"vrf": "automation-vrf"
}
},
IETF Tagged Attributes on LAC
The IETF Tagged Attributes support on L2TP Access Concentrator (LAC) provides a means of grouping tunnel attributes referring to the same tunnel in an Access-Accept packet sent from the RADIUS server to the LAC. The Access-Accept packet can contain multiple instances of same RADIUS attributes, but with different tags. The tagged attributes support ensures that all attributes pertaining to a given tunnel contain the same value in their respective tag fields, and that each set includes an appropriately-valued instance of the Tunnel-Preference attribute. This conforms to the tunnel attributes that are to be used in a multi-vendor network environment, thereby eliminating interoperability issues among Network Access Servers (NASs) manufactured by different vendors.
For details of RADIUS Attributes for Tunnel Protocol Support, refer RFC 2868.
These examples describe the format of IETF Tagged Attributes:
Tunnel-Type = :0:L2TP, Tunnel-Medium-Type = :0:IP, Tunnel-Server-Endpoint = :0:"1.1.1.1", Tunnel-Assignment-Id = :0:"1",
Tunnel-Preference = :0:1, Tunnel-Password = :0:"hello"
A tag value of 0 is used in the above example in the format of :0:
, to group those attributes in the same packet that refer to the same tunnel. Similar examples are:
Tunnel-Type = :1:L2TP, Tunnel-Medium-Type = :1:IP, Tunnel-Server-Endpoint = :1:"2.2.2.2", Tunnel-Assignment-Id = :1:"1",
Tunnel-Preference = :1:1, Tunnel-Password = :1:"hello"
Tunnel-Type = :2:L2TP, Tunnel-Medium-Type = :2:IP, Tunnel-Server-Endpoint = :2:"3.3.3.3", Tunnel-Assignment-Id = :2:"1",
Tunnel-Preference = :2:2, Tunnel-Password = :2:"hello"
Tunnel-Type = :3:L2TP, Tunnel-Medium-Type = :3:IP, Tunnel-Server-Endpoint = :3:"4.4.4.4", Tunnel-Assignment-Id = :3:"1",
Tunnel-Preference = :3:2, Tunnel-Password = :3:"hello"
Tunnel-Type = :4:L2TP, Tunnel-Medium-Type = :4:IP, Tunnel-Server-Endpoint = :4:"5.5.5.5", Tunnel-Assignment-Id = :4:"1",
Tunnel-Preference = :4:3, Tunnel-Password = :4:"hello"
Tunnel-Type = :5:L2TP, Tunnel-Medium-Type = :5:IP, Tunnel-Server-Endpoint = :5:"6.6.6.6", Tunnel-Assignment-Id = :5:"1",
Tunnel-Preference = :5:3, Tunnel-Password = :5:"hello"
IETF Tagged Attribute Name |
Value |
Type |
---|---|---|
Tunnel-Type | integer | 64 |
Tunnel-Medium-Type | integer | 65 |
Tunnel-Client-Endpoint | string | 66 |
Tunnel-Server-Endpoint | string | 67 |
Tunnel-Password | string | 69 |
Tunnel-Assignment-ID | string | 82 |
Tunnel-Preference | integer | 83 |
Tunnel-Client-Auth-ID | string | 90 |
Tunnel-Server-Auth-ID | string | 91 |