skip to content

RADIUS

A network device hands a login to a central server and gets back accept, reject or challenge plus session attributes, with accounting to match. Asked because it gates Wi-Fi, VPN and switch ports.

on this pageshow

explore

questions

page 1 of 2

In RADIUS, which device acts as the client and sends the Access-Request, and where does the end user's laptop sit?

level: juniorimportance: must knowfreq 58%

answer

  1. count the RADIUS speakers
  2. the subject is not a speaker
  3. who was configured with the server address?
  4. NAS-IP-Address names the asker
  5. enforcement happens at the port

basics

~20 s

The network access server - the switch, wireless access point or remote-access concentrator the user connects through - is the RADIUS client and sends the Access-Request. The user's laptop sends no RADIUS packet at all; it is the subject of the exchange.

solid answer

~40 s

RADIUS has two speakers. The **client** is the infrastructure device the user is trying to get through - the specification calls it a network access server. It collects the claimed identity and the circumstances of the attempt, builds an `Access-Request (Code 1)` and sends it to the **server**, the central machine that reaches the identity data and decides. The server answers once, with `Access-Accept (Code 2)`, `Access-Reject (Code 3)` or `Access-Challenge (Code 11)`, and the access device enforces that answer at the port. The user's laptop is the subject, not a speaker: it hands a credential to the access device by whatever the medium provides and never sees a RADIUS packet. Attributes such as `NAS-IP-Address (4)` and `NAS-Identifier (32)` inside the request say which access device is asking.

go deeper

for a junior

Remember the pair: the access device is the client, the central machine is the server, and the user's device speaks neither. Name the three packets a positive, negative and inconclusive answer use.

for a middle

Explain the inversion rather than asserting it: the access device originates the request, so it is the client, while being a server to the user at the same moment. Say which attributes identify the asker.

for a senior

Show where the split bites in operation - a capture taken on the wrong host, a hanging login from an unenrolled access device, two devices collapsed into one client entry behind a translated address.

for a principal

The consequence worth owning is that the deciding party has no reach into the network it decides about. Every control you want mid-session has to be designed as something the access device will enforce.

## The two speakers, and the one that stays silent RADIUS defines exactly two roles for a login exchange. The **client** is the device the user is trying to get through: a switch port, a wireless access point, a remote-access concentrator, a broadband aggregator. The specification's own name for it is a **network access server**. The **server** is the central machine that holds or reaches the identity data and makes the decision. The end user's laptop, handset or headless sensor is the **subject** of the exchange and never a speaker in it. It presents a credential to the access device by whatever means the medium provides, and no RADIUS packet ever reaches it. At a three-day agricultural showground, a dozen visiting exhibitor organisations keep their staff credentials at home and will not hand them over. Nothing on site can decide a login, so every access device asks: 1. An exhibitor's laptop presents a credential to the access device it connected through. 2. The access device builds an `Access-Request (Code 1)` carrying the claimed identity and the circumstances of the attempt. 3. It sends that request to the RADIUS server address it has been configured with. 4. The server answers **once**: `Access-Accept (Code 2)`, `Access-Reject (Code 3)` or `Access-Challenge (Code 11)`. 5. The access device enforces that answer at the port. It does not re-decide it. ## Why the naming feels backwards Everyday speech puts the client on the end user's desk, so 'the RADIUS client' sounds like the laptop. It never is. The word is being used in the ordinary protocol sense - the party that originates a request to a service - and here the originator is infrastructure. Two things make the inversion stick: - The box the user can see and touch is the client; the thing they think of as the server is reached only by that box. - The access device is a *server* in its own right, to the user, at the same moment it is a *client* to RADIUS. Both names are true from different sides. The word travels badly across neighbouring protocols too. A client in a delegated-authorization protocol is an application; in the dynamic-authorization extension to RADIUS the two roles reverse, on a different exchange and a different port. Say which one you mean. ## What the request says about who is asking The server is answering about a user, but it decides in the context of the device that asked. The request carries both, and the access-device half is what a policy engine keys on. | Attribute | What it tells the server | |---|---| | `User-Name (1)` | the identity being claimed | | `NAS-IP-Address (4)` | the address of the access device that is asking | | `NAS-Identifier (32)` | a name for that device where an address is not enough | | `NAS-Port (5)` | which port on it the attempt arrived on | | `NAS-Port-Type (61)` | what kind of medium that port is | | `Calling-Station-Id (31)` | an identifier for the endpoint attempting to connect | ## Enforcement stays with the client The server decides; the access device enforces. Whatever the reply carries - a session limit, a filter name - is an instruction the access device applies locally to its own port. The server never touches the port, cannot see traffic on it, and learns nothing more about the session unless the access device chooses to tell it. This is the second half of the inversion and the part people skip: the deciding party has no reach into the network it is deciding about. Its entire influence over the session is the contents of one reply. ## Where this trips people in production - **Troubleshooting on the wrong host.** A capture taken on the user's laptop will never show a RADIUS packet, because there are none to show. The exchange runs between the access device and the server. - **Silence instead of a rejection.** A server with no client entry for the source of a request has no basis to answer it and drops it. A newly installed access device that was never enrolled produces a login that hangs rather than one that fails cleanly. - **Devices sharing one source address.** The server matches its client entry on the packet's source, so two access devices behind one translated address resolve to the same entry, even though `NAS-IP-Address (4)` inside the request still distinguishes them. - **Assuming the server can intervene mid-session.** Once the reply has been enforced, the login exchange is over; nothing in it lets the server change its mind later. - **Reading 'client' as the user.** Every capacity number on a RADIUS server is per access device, not per person, which is why a single busy access point matters more than a busy floor of laptops.

  • Why does a RADIUS server ignore a request from an access device it has no entry for, instead of rejecting it?
    It has no client entry - no recognised source and no shared secret - for that sender, so it has no basis on which to answer and drops the packet. The symptom is silence rather than an `Access-Reject (Code 3)`, which is why adding an access device to an estate means enrolling it on the server as well as pointing it at the server.
  • Two access devices sit behind one translated source address. What does that do to the server's view of them?
    The server matches its client entry on the packet's source address, so both devices resolve to one entry and one configuration. The `NAS-IP-Address (4)` and `NAS-Identifier (32)` attributes inside each request still say which device is asking, so policy can tell them apart, but the server's trust decision about the sender cannot.
  • If the server decides, why does the access device need any local configuration about what a session may do?
    Because enforcement is entirely local. The reply carries instructions such as a session limit or a filter name, and the access device must already know how to apply them. Anything the reply does not specify falls back to the device's own defaults, so an accept with no attributes grants whatever that device grants by default.

A steward on a showground gate telephones head office to ask whether a visitor is expected, then opens or blocks the gate on the answer. The visitor talks only to the steward and never to head office.

saying these in an interview costs you the question

  • The user's laptop is the RADIUS client
  • The access point just relays the laptop's RADIUS packets
  • The RADIUS server opens and closes the switch port itself
  • Any device can query the server without being enrolled first
  • Whoever started the login is the client, so the user
open as a page

Across one subscriber session, which Acct-Status-Type (40) values does a network access server send, and when?

level: juniorimportance: must knowfreq 46%

basics

~20 s

Acct-Status-Type (40) marks each RADIUS accounting record: Start (1) when the session begins, Interim-Update (3) on a timer while it runs, and Stop (2) when it ends. Each record goes to UDP port 1813 as an Accounting-Request (Code 4).

open as a page

In RADIUS, what does a pass-through authenticator do with an EAP conversation it cannot interpret?

level: juniorimportance: must knowfreq 52%

basics

~20 s

A pass-through authenticator copies every EAP packet between the peer and the RADIUS server inside EAP-Message (79) attributes without parsing the method, so the server terminates EAP-TLS or a tunnelled method and the access device only applies the verdict it gets back.

open as a page

In RADIUS, which three reply codes can answer an Access-Request, and what does each one mean?

level: juniorimportance: must knowfreq 62%

basics

~10 s

A RADIUS server answers an Access-Request with Access-Accept (Code 2), Access-Reject (Code 3) or Access-Challenge (Code 11). Accept and reject end the exchange; a challenge asks for more input and expects a further Access-Request.

open as a page

Why does a RADIUS Access-Accept carry the session's authorization attributes while accounting is a separate exchange?

level: middleimportance: must knowfreq 55%

basics

~20 s

RADIUS answers authentication and authorization in one round trip: the attributes inside an Access-Accept are the grant, so there is no second request. Accounting is a different exchange, with its own packet codes and normally its own port, and it can fail on its own.

open as a page

In RADIUS accounting, what does Acct-Session-Id (44) tie together, and how far does its uniqueness reach?

level: middleimportance: must knowfreq 52%

basics

~20 s

Acct-Session-Id (44) is the correlation key the access device puts in every record of one session, so Start, Interim-Update and Stop can be matched. Its uniqueness reaches only across the sessions currently active on that one device.

open as a page

How is a single RADIUS attribute-value pair encoded, and how long can its value be?

level: middleimportance: must knowfreq 58%

basics

~20 s

A RADIUS attribute is a type-length-value triple: a one-octet Type, a one-octet Length counting the whole attribute, then the value. Length maxes out at 255, so one attribute carries at most 253 octets of value.

open as a page

How does Vendor-Specific (26) let a RADIUS deployment carry an attribute the standard set lacks?

level: middleimportance: must knowfreq 52%

basics

~20 s

Vendor-Specific (26) is the standard's escape hatch: its value opens with a four-octet Vendor-Id holding an SMI Network Management Private Enterprise Code, followed by an opaque String the vendor defines. A receiver that cannot interpret it must ignore it.

open as a page

In RFC 5176 RADIUS dynamic authorization, which party sends a CoA-Request, which party answers it, and on which transport port?

level: middleimportance: must knowfreq 52%

basics

~20 s

The Dynamic Authorization Client — the policy side — sends CoA-Request (43) or Disconnect-Request (40) to the access device holding the session, which answers as Dynamic Authorization Server on UDP port 3799. The login-time roles are reversed.

open as a page

Why must a RADIUS Access-Request carrying an EAP-Message attribute also carry Message-Authenticator (80)?

level: middleimportance: must knowfreq 44%

basics

~20 s

Nothing else in an EAP-bearing Access-Request proves the sender knows the shared secret: the Request Authenticator is a nonce and there is no User-Password (2) to bind it. Message-Authenticator (80) is that per-packet integrity check, and RFC 3579 requires it.

open as a page

After a RADIUS Access-Challenge carrying a State attribute, what exactly does the access device send back?

level: middleimportance: must knowfreq 50%

basics

~20 s

A brand-new Access-Request, not a retransmission: a new Identifier, a new Request Authenticator, the extra input the user supplied, and the State (24) value from the challenge echoed back unchanged so the server can rejoin the conversation.

open as a page

How does a RADIUS access device check that an Access-Accept (Code 2) really came from the server holding the shared secret?

level: middleimportance: must knowfreq 50%

basics

~20 s

It recomputes the Response Authenticator as MD5 over the reply's Code, Identifier and Length, the Request Authenticator from its own outstanding request, the reply's attributes and the shared secret appended, then compares that digest with the reply's Authenticator field.

open as a page

In RADIUS over UDP, what does the shared secret between an access device and its server actually hide, and what travels in the clear?

level: middleimportance: must knowfreq 58%

basics

~20 s

A RADIUS shared secret hides only the User-Password (2) value, using an MD5 keystream. User-Name (1), NAS-IP-Address (4) and every other attribute travel in cleartext, and an Access-Request carries no integrity check unless Message-Authenticator (80) is present.

open as a page

A CoA-Request for a live wireless session comes back as CoA-NAK with Error-Cause 503 — what identification went wrong, and how do you fix it?

level: seniorimportance: must knowfreq 44%

basics

~20 s

503 Session Context Not Found means the access device holds no session matching every identification attribute sent. Fix it by keying on Acct-Session-Id (44) captured from that session's own accounting Start, sending it to the device that owns the session, and dropping attributes that may disagree.

open as a page

In a RADIUS Access-Request, which attributes tell the server where and how a user is connecting?

level: juniorimportance: should knowfreq 42%

basics

~20 s

A RADIUS Access-Request carries the attempt's circumstances as attributes: User-Name (1) claims the account, Calling-Station-Id (31) names the connecting device, Called-Station-Id (30) the end it reached, and NAS-IP-Address (4), NAS-Port (5) and NAS-Port-Type (61) the access device and its medium.

open as a page

In RADIUS proxying, how does a forwarding server decide which server an Access-Request goes to next?

level: middleimportance: should knowfreq 44%

basics

~20 s

It routes on something the request already carries. Usually that is a named realm - the realm portion of a Network Access Identifier in User-Name (1) - matched against a local routing table. Otherwise it routes on another attribute, classically Called-Station-Id (30).

open as a page

Why does reading Acct-Input-Octets (42) alone under-report a long-lived subscriber link, and what completes the count?

level: middleimportance: should knowfreq 42%

basics

~20 s

Acct-Input-Octets (42) is a 32-bit counter, so it wraps every 4,294,967,296 octets — 4 GiB. Acct-Input-Gigawords (52) counts how many times it has wrapped, and the true total is gigawords times 2^32, plus the octets.

open as a page

In a RADIUS Access-Accept, which attribute caps total session time and which caps idle time?

level: middleimportance: should knowfreq 45%

basics

~10 s

Session-Timeout (27) caps the total seconds of service; Idle-Timeout (28) caps consecutive idle seconds. Both are four-octet integers in an Access-Accept, and the network access server enforces them, not the RADIUS server.

open as a page

In RFC 5176, what do Error-Cause values 402, 403 and 503 each tell the sender of a CoA-Request?

level: middleimportance: should knowfreq 36%

basics

~20 s

402 Missing Attribute means the request lacked something the access device needs; 403 NAS Identification Mismatch means the request named a different device; 503 Session Context Not Found means no session matched. All three arrive in a NAK, never an ACK.

open as a page

How does a network access server match an arriving RADIUS reply to the request it is waiting on?

level: middleimportance: should knowfreq 44%

basics

~20 s

On the reply's source address and UDP port plus the one-octet Identifier copied from the request, after which the Response Authenticator must verify. Anything that fails those tests is discarded silently, because RADIUS has no error reply.

open as a page

A RADIUS request goes unanswered and the access device tries its secondary server - what must change?

level: seniorimportance: should knowfreq 38%

basics

~20 s

Failing over is a new request, not a retransmission: it needs a new Identifier and a new Request Authenticator. Only an identical retry to the same server reuses both, so that the server can recognise it as a duplicate rather than a second attempt.

open as a page

When a RADIUS forwarding server relays an Access-Request, what does it do with Proxy-State (33) each way?

level: seniorimportance: should knowfreq 34%

basics

~20 s

On the way out it may append one Proxy-State (33) of its own, after any already present. The deciding server copies every Proxy-State it received into its reply unchanged. On the way back each forwarding server removes the one it added.

open as a page

After an access concentrator reboots, what does an Accounting-On (7) record tell a RADIUS server about sessions it still shows as live?

level: seniorimportance: should knowfreq 38%

basics

~20 s

It tells the server that this access device has started accounting afresh, so every session the server still shows open for that device ended without a Stop record. Closing them out is conventional server behaviour, not something the record itself commands.

open as a page

Why did RFC 6929 add Extended-Type-1 (241) and Long-Extended-Type-1 (245) to RADIUS attribute encoding?

level: seniorimportance: should knowfreq 30%

basics

~20 s

The one-octet Type field ran out of numbers. RFC 6929 spends a type on a second level: Extended-Type-1 (241) adds an Extended-Type octet opening a fresh value space, and Long-Extended-Type-1 (245) adds a Flags octet whose More bit lets one value span several attributes.

open as a page

A certificate chain will not fit one RADIUS attribute, so how does one EAP packet cross several EAP-Message (79) attributes?

level: seniorimportance: should knowfreq 37%

basics

~20 s

A RADIUS attribute's value stops at 253 octets, so the sender splits one EAP packet across consecutive EAP-Message (79) attributes inside the same RADIUS packet, and the receiver concatenates their values in the order received to rebuild the original EAP packet.

open as a page

Why does a certificate-based EAP method's round-trip count, not its byte count, decide whether a login finishes in a ninety-second window?

level: seniorimportance: should knowfreq 31%

basics

~20 s

Each Access-Challenge (Code 11) and the Access-Request (Code 1) answering it carries exactly one EAP Request/Response pair, and the exchange is strictly serialized, so elapsed time tracks the number of exchanges and any retransmission timers rather than the volume of bytes.

open as a page

Over a link that drops packets, an Access-Request draws no RADIUS reply — what can the access device not distinguish?

level: seniorimportance: should knowfreq 46%

basics

~20 s

Three states: the request never arrived, it arrived and the reply was lost, or it arrived and was discarded without an answer. Silence is never a refusal — an Access-Reject is an explicit packet — so the device can only retransmit.

open as a page

A RADIUS Access-Request carrying Message-Authenticator (80) is captured off a shared medium: what does that attribute stop, and what does RFC 3579 say it does not?

level: seniorimportance: should knowfreq 38%

basics

~20 s

Message-Authenticator (80) is an HMAC-MD5 over the packet keyed with the shared secret, so it proves the sender held the secret and nothing was altered in flight. RFC 3579 section 3.2 scopes it to thwarting a rogue access device and online dictionary attacks, and states it affords no protection against an offline attack on a capture.

open as a page

Why is RFC 2865's User-Password hiding a keystream rather than encryption, and what does a repeated Request Authenticator hand an eavesdropper?

level: seniorimportance: should knowfreq 42%

basics

~20 s

The password is exclusive-ORed with MD5 output derived from the shared secret and the Request Authenticator, so the construction is a keystream. Reuse the same Request Authenticator with the same secret and the keystream repeats, letting an observer exclusive-OR two captures together and recover their difference.

open as a page

Three dozen field access devices share one RADIUS secret over UDP: what makes committing them to RADIUS over TLS a programme rather than a configuration change?

level: principalimportance: should knowfreq 30%

basics

~20 s

RADIUS over TLS is a different transport on a different port, so it cannot be enabled on the existing listener: every access device must support it, hold a certificate with a renewal path, and be cut over individually, while the server runs both listeners for as long as the slowest device takes.

open as a page

showing 1–30 of 34