Understanding IEEE 802.1x Port-Based Authentication
The IEEE 802.1x standard defines a client-server-based access control and authentication protocol that restricts unauthorized clients from connecting to a LAN through publicly accessible ports. The authentication server authenticates each client connected to a switch port before making available any services offered by the switch or the LAN.
Until the client is authenticated, IEEE 802.1x access control allows only Extensible Authentication Protocol over LAN (EAPOL), Cisco Discovery Protocol (CDP), and Spanning Tree Protocol (STP) traffic through the port to which the client is connected. After authentication is successful, normal traffic can pass through the port.
These sections describe IEEE 802.1x port-based authentication:
Device Roles
With IEEE 802.1x port-based authentication, the devices in the network have specific roles as shown in Figure 22-1.
Figure 22-1 IEEE 802.1x Device Roles
- Client —The device (workstation) that requests access to the LAN and switch services and responds to requests from the switch.The workstation must be running IEEE 802.1x-compliant client software such as that offered in the Microsoft Windows XP operating system. (The client is the supplicant in the IEEE 802.1x specification.)
Note
To resolve Windows XP network connectivity and IEEE 802.1x authentication issues, read the Microsoft Knowledge Base article at this URL: http://support.microsoft.com/support/kb/articles/Q303/5/97.ASP
- Authentication server —Performs the actual authentication of the client. The authentication server validates the identity of the client and notifies the switch whether or not the client is authorized to access the LAN and switch services. Because the switch acts as the proxy, the authentication service is transparent to the client. In this release, the RADIUS security system with Extensible Authentication Protocol (EAP) extensions is the only supported authentication server. It is available in Cisco Secure Access Control Server Version 3.0 or later. RADIUS operates in a client/server model in which secure authentication information is exchanged between the RADIUS server and one or more RADIUS clients.
- Switch (edge switch or wireless access point)—Controls the physical access to the network based on the authentication status of the client. The switch acts as an intermediary (proxy) between the client and the authentication server, requesting identity information from the client, verifying that information with the authentication server, and relaying a response to the client. The switch includes the RADIUS client, which is responsible for encapsulating and decapsulating the EAP frames and interacting with the authentication server.
When the switch receives EAPOL frames and relays them to the authentication server, the Ethernet header is stripped and the remaining EAP frame is re-encapsulated in the RADIUS format. The EAP frames are not modified or examined during encapsulation, and the authentication server must support EAP within the native frame format. When the switch receives frames from the authentication server, the server’s frame header is removed, leaving the EAP frame, which is then encapsulated for Ethernet and sent to the client.
Authentication Initiation and Message Exchange
The switch or the client can initiate authentication. If you enable authentication on a port by using the dot1x port-control auto interface configuration command, the switch must initiate authentication when the port link state transitions from down to up. It then sends an EAP-request/identity frame to the client to request its identity (typically, the switch sends an initial identity/request frame followed by one or more requests for authentication information). Upon receipt of the frame, the client responds with an EAP-response/identity frame.
However, if during bootup, the client does not receive an EAP-request/identity frame from the switch, the client can initiate authentication by sending an EAPOL-start frame, which prompts the switch to request the client’s identity.
Note
If IEEE 802.1x is not enabled or supported on the network access device, any EAPOL frames from the client are dropped. If the client does not receive an EAP-request/identity frame after three attempts to start authentication, the client sends frames as if the port is in the authorized state. A port in the authorized state effectively means that the client has been successfully authenticated. For more information, see the “Ports in Authorized and Unauthorized States” section.
When the client supplies its identity, the switch begins its role as the intermediary, passing EAP frames between the client and the authentication server until authentication succeeds or fails. If the authentication succeeds, the switch port becomes authorized. For more information, see the “Ports in Authorized and Unauthorized States” section.
The specific exchange of EAP frames depends on the authentication method being used. Figure 22-2 shows a message exchange initiated by the client when the client uses the One-Time-Password (OTP) authentication method with a RADIUS server.
Figure 22-2 Message Exchange
Ports in Authorized and Unauthorized States
Depending on the switch port state, the switch can grant a client access to the network. The port starts in the unauthorized state. While in this state, the port disallows all ingress and egress traffic except for IEEE 802.1x, CDP, and STP protocol packets. When a client is successfully authenticated, the port transitions to the authorized state, allowing all traffic for the client to flow normally.
If a client that does not support IEEE 802.1x is connected to an unauthorized IEEE 802.1x port, the switch requests the client’s identity. In this situation, the client does not respond to the request, the port remains in the unauthorized state, and the client is not granted access to the network.
In contrast, when an IEEE 802.1x-enabled client connects to a port that is not running the IEEE 802.1x protocol, the client initiates the authentication process by sending the EAPOL-start frame. When no response is received, the client sends the request for a fixed number of times. Because no response is received, the client begins sending frames as if the port is in the authorized state.
You control the port authorization state by using the dot1x port-control interface configuration command and these keywords:
- force-authorized —disables IEEE 802.1x authentication and causes the port to transition to the authorized state without any authentication exchange required. The port sends and receives normal traffic without IEEE 802.1x-based authentication of the client. This is the default setting.
- force-unauthorized —causes the port to remain in the unauthorized state, ignoring all attempts by the client to authenticate. The switch cannot provide authentication services to the client through the port.
- auto —enables IEEE 802.1x authentication and causes the port to begin in the unauthorized state, allowing only EAPOL frames to be sent and received through the port. The authentication process begins when the link state of the port transitions from down to up or when an EAPOL-start frame is received. The switch requests the identity of the client and begins relaying authentication messages between the client and the authentication server. Each client attempting to access the network is uniquely identified by the switch by using the client MAC address.
If the client is successfully authenticated (receives an Accept frame from the authentication server), the port state changes to authorized, and all frames from the authenticated client are allowed through the port. If the authentication fails, the port remains in the unauthorized state, but authentication can be retried. If the authentication server cannot be reached, the switch can resend the request. If no response is received from the server after the specified number of attempts, authentication fails, and network access is not granted.
When a client logs off, it sends an EAPOL-logoff message, causing the switch port to transition to the unauthorized state.
If the link state of a port transitions from up to down, or if an EAPOL-logoff frame is received, the port returns to the unauthorized state.
802.1x with RADIUS Accounting
The IEEE 802.1x standard defines how users are authorized and authenticated for network access but does not keep track of network usage. IEEE 802.1x accounting is disabled by default. You can enable IEEE 802.1x accounting to monitor this activity on IEEE 802.1x-enabled ports:
- User successfully authenticates.
- User logs off.
- Link-down occurs.
- Re-authentication successfully occurs.
- Re-authentication fails.
The switch does not log IEEE 802.1x accounting information. Instead, it sends this information to the RADIUS server, which must be configured to log accounting messages.
Supported Topologies
The IEEE 802.1x port-based authentication is supported in two topologies:
- Point-to-point
- Wireless LAN
In a point-to-point configuration (see Figure 22-1), only one client can be connected to the IEEE 802.1x-enabled switch port. The switch detects the client when the port link state changes to the up state. If a client leaves or is replaced with another client, the switch changes the port link state to down, and the port returns to the unauthorized state.
Figure 22-3 shows IEEE 802.1x port-based authentication in a wireless LAN. The IEEE 802.1x port is configured as a multiple-hosts port that becomes authorized as soon as one client is authenticated. When the port is authorized, all other hosts indirectly attached to the port are granted access to the network. If the port becomes unauthorized (re-authentication fails or an EAPOL-logoff message is received), the switch denies access to the network to all of the attached clients. In this topology, the wireless access point is responsible for authenticating the clients attached to it, and the wireless access point acts as a client to the switch.
Figure 22-3 Wireless LAN Example
802.1x with VLAN Assignment
The switch supports IEEE 802.1x with VLAN assignment. After successful IEEE 802.1x authentication of a port, the RADIUS server sends the VLAN assignment to configure the switch port. The RADIUS server database maintains the username-to-VLAN mappings, which assigns the VLAN based on the username of the client connected to the switch port. You can use this feature to limit network access for certain users.
When configured on the switch and the RADIUS server, IEEE 802.1x with VLAN assignment has these characteristics:
- If no VLAN is supplied by the RADIUS server or if IEEE 802.1x authorization is disabled, the port is configured in its access VLAN after successful authentication.
- If IEEE 802.1x authorization is enabled but the VLAN information from the RADIUS server is not valid, the port returns to the unauthorized state and remains in the configured access VLAN. This prevents ports from appearing unexpectedly in an inappropriate VLAN because of a configuration error.
Configuration errors could include specifying a VLAN for a routed port, a malformed VLAN ID, a nonexistent or internal (routed port) VLAN ID, or an attempted assignment to a voice VLAN ID.
- If IEEE 802.1x authorization is enabled and all information from the RADIUS server is valid, the port is placed in the specified VLAN after authentication.
- If the multiple-hosts mode is enabled on an IEEE 802.1x port, all hosts are placed in the same VLAN (specified by the RADIUS server) as the first authenticated host.
- If IEEE 802.1x and port security are enabled on a port, the port is placed in RADIUS server assigned VLAN.
- If IEEE 802.1x is disabled on the port, it is returned to the configured access VLAN.
When the port is in the force authorized, force unauthorized, unauthorized, or shutdown state, it is put into the configured access VLAN.
If an IEEE 802.1x port is authenticated and put in the RADIUS server assigned VLAN, any change to the port access VLAN configuration does not take effect.
The IEEE 802.1x with VLAN assignment feature is not supported on trunk ports, dynamic ports, or with dynamic-access port assignment through a VLAN Membership Policy Server (VMPS).
To configure VLAN assignment you need to perform these tasks:
- Enable AAA authorization by using the network keyword to allow port configuration from the RADIUS server.
- Enable IEEE 802.1x. (The VLAN assignment feature is automatically enabled when you configure IEEE 802.1x on an access port).
- Assign vendor-specific tunnel attributes in the RADIUS server. The RADIUS server must return these attributes to the switch:
–
[64] Tunnel-Type = VLAN
–
[65] Tunnel-Medium-Type = 802
–
[81] Tunnel-Private-Group-ID = VLAN name or VLAN ID
Attribute [64] must contain the value VLAN (type 13). Attribute [65] must contain the value 802 (type 6). Attribute [81] specifies the VLAN name or VLAN ID assigned to the IEEE 802.1x-authenticated user.
Configuring IEEE 802.1x Authentication
These sections describe how to configure IEEE 802.1x port-based authentication on your switch:
Default 802.1x Configuration
Table 22-1 shows the default IEEE 802.1x configuration.
Table 22-1 Default IEEE 802.1x Configuration
|
|
Authentication, authorization, and accounting (AAA) |
Disabled. |
RADIUS server
- IP address
- UDP authentication port
- Key
|
- None specified.
- 1812.
- None specified.
|
Switch IEEE 802.1x enable state |
Disabled. |
Per-port IEEE 802.1x enable state |
Disabled (force-authorized). Note The port sends and receives normal traffic without IEEE 802.1x-based authentication of the client. |
Periodic re-authentication |
Disabled. |
Number of seconds between re-authentication attempts |
3600 seconds. |
Re-authentication number |
2 times (number of times that the switch restarts the authentication process before the port changes to the unauthorized state). |
Quiet period |
60 seconds (number of seconds that the switch remains in the quiet state following a failed authentication exchange with the client). |
Retransmission time |
30 seconds (number of seconds that the switch should wait for a response to an EAP request/identity frame from the client before resending the request). |
Maximum retransmission number |
2 times (number of times that the switch will send an EAP-request/identity frame before restarting the authentication process). |
Host mode |
Single-host mode. |
Guest VLAN |
None specified. |
Restricted VLAN |
None specified. |
Client timeout period |
30 seconds (when relaying a request from the authentication server to the client, the amount of time the switch waits for a response before resending the request to the client.) |
Authentication server timeout period |
30 seconds (when relaying a response from the client to the authentication server, the amount of time the switch waits for a reply before resending the response to the server.) |
802.1x Configuration Guidelines
These are the IEEE 802.1x authentication configuration guidelines:
- When IEEE 802.1x is enabled, ports are authenticated before any other Layer 2 or Layer 3 features are enabled.
- The IEEE 802.1x protocol is supported on Layer 2 static-access ports, voice VLAN ports, and Layer 3 routed ports, but it is not supported on these port types:
–
Dynamic ports—A port in dynamic mode can negotiate with its neighbor to become a trunk port. If you try to enable IEEE 802.1x on a dynamic port, an error message appears, and IEEE 802.1x is not enabled. If you try to change the mode of an IEEE 802.1x-enabled port to dynamic, an error message appears, and the port mode is not changed.
–
Dynamic-access ports—If you try to enable IEEE 802.1x on a dynamic-access (VLAN Query Protocol [VQP]) port, an error message appears, and IEEE 802.1x is not enabled. If you try to change an IEEE 802.1x-enabled port to dynamic VLAN assignment, an error message appears, and the VLAN configuration is not changed.
–
EtherChannel port—Do not configure a port that is an active member of an EtherChannel as an IEEE 802.1x port. If IEEE 802.1x is enabled on a not-yet active port of an EtherChannel, the port does not join the EtherChannel.
Note In software releases earlier than Cisco IOS Release 12.2(25)EY, if IEEE 802.1x is enabled on a not-yet active port of an EtherChannel, the port does not join the EtherChannel.
–
Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN) destination ports—You can enable IEEE 802.1x on a port that is a SPAN or RSPAN destination port. However, IEEE 802.1x is disabled until the port is removed as a SPAN or RSPAN destination port. You can enable IEEE 802.1x on a SPAN or RSPAN source port.
- You can configure any VLAN except an RSPAN VLAN or a voice VLAN as an IEEE 802.1x guest VLAN. The guest VLAN feature is not supported on internal VLANs (routed ports) or trunk ports; it is supported only on access ports.
- When IEEE 802.1x is enabled on a port, you cannot configure a port VLAN that is equal to a voice VLAN.
- The IEEE 802.1x with VLAN assignment feature is not supported on trunk ports, dynamic ports, or with dynamic-access port assignment through a VMPS.
- You can configure any VLAN except an RSPAN VLAN, a primary private VLAN, or a voice VLAN as an IEEE 802.1x restricted VLAN. The restricted VLAN feature is not supported on internal VLANs (routed ports) or trunk ports; it is supported only on access ports.
- You can configure IEEE 802.1x on a private-VLAN port, but do not configure IEEE 802.1x with port security, a voice VLAN, a guest VLAN, a restricted VLAN, or a per-user ACL on private-VLAN ports.
Maximum Number of Allowed Devices Per Port
This is the maximum number of devices allowed on an IEEE 802.1x-enabled port:
- In single-host mode, only one device is allowed on the access VLAN. If the port is also configured with a voice VLAN, an unlimited number of Cisco IP phones can send and receive traffic through the voice VLAN.
- In multidomain authentication (MDA) mode, one device is allowed for the access VLAN, and one IP phone is allowed for the voice VLAN.
Configuring IEEE 802.1x Violation Modes
You can configure an IEEE 802.1x port so that it shuts down, generates a syslog error, or discards packets from a new device when:
- a device connects to an IEEE 802.1x-enable port
- the maximum number of allowed about devices have been authenticated on the port
Beginning in privileged EXEC mode, follow these steps to configure the security violation actions on the switch:
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
aaa new-model |
Enable AAA. |
Step 3 |
aaa authentication dot1x { default } method1 |
Create an IEEE 802.1x authentication method list. To create a default list that is used when a named list is not specified in the authentication command, use the default keyword followed by the method that is to be used in default situations. The default method list is automatically applied to all ports. For method1, enter the group radius keywords to use the list of all RADIUS servers for authentication. Note Though other keywords are visible in the command-line help string, only the group radius keywords are supported. |
Step 4 |
interface interface-id |
Specify the port connected to the client that is to be enabled for IEEE 802.1x authentication, and enter interface configuration mode. |
Step 5 |
switchport mode access |
Set the port to access mode. |
Step 6 |
authentication violation{shutdown | restrict | protect} |
Configure the violation mode. The keywords have these meanings:
- shutdown–Error disable the port.
- restrict–Generate a syslog error.
- protect–Drop packets from any new device that sends traffic to the port.
|
Step 7 |
end |
Return to privileged EXEC mode. |
Step 8 |
show authentication |
Verify your entries. |
Step 9 |
copy running-config startup-config |
(Optional) Save your entries in the configuration file. |
Configuring IEEE 802.1x Authentication
To configure IEEE 802.1x port-based authentication, you must enable AAA and specify the authentication method list. A method list describes the sequence and authentication methods to be queried to authenticate a user.
The software uses the first method listed to authenticate users. If that method fails to respond, the software selects the next authentication method in the method list. This process continues until there is successful communication with a listed authentication method or until all defined methods are exhausted. If authentication fails at any point in this cycle, the authentication process stops, and no other authentication methods are attempted.
To allow per-user ACLs or VLAN assignment, you must enable AAA authorization to configure the switch for all network-related service requests.
Beginning in privileged EXEC mode, follow these steps to configure IEEE 802.1x port-based authentication. This procedure is required.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
aaa new-model |
Enable AAA. |
Step 3 |
aaa authentication dot1x { default } method1 [ method2 ...] |
Create an IEEE 802.1x authentication method list. To create a default list that is used when a named list is not specified in the authentication command, use the default keyword followed by the methods that are to be used in default situations. The default method list is automatically applied to all ports. Enter at least one of these keywords:
- group radius —Use the list of all RADIUS servers for authentication.
- none —Use no authentication. The client is automatically authenticated by the switch without using the information supplied by the client.
|
Step 4 |
dot1x system-auth-control |
Enable IEEE 802.1x authentication globally on the switch. |
Step 5 |
aaa authorization network { default } group radius |
(Optional) Configure the switch for user RADIUS authorization for all network-related service requests, such as per-user ACLs or VLAN assignment. Note For per-user ACLs, single-host mode must be configured. This setting is the default. |
Step 6 |
interface interface-id |
Specify the port connected to the client that is to be enabled for IEEE 802.1x authentication, and enter interface configuration mode. |
Step 7 |
dot1x port-control auto |
Enable IEEE 802.1x authentication on the port. For feature interaction information, see the “802.1x Configuration Guidelines” section. |
Step 8 |
dot1x pae authenticator |
Set the interface Port Access Entity to act only as an authenticator and ignore messages meant for a supplicant. |
Step 9 |
end |
Return to privileged EXEC mode. |
Step 10 |
show authentication |
Verify your entries. |
Step 11 |
copy running-config startup-config |
(Optional) Save your entries in the configuration file. |
To disable AAA, use the no aaa new-model global configuration command. To disable 802.1x AAA authentication, use the no aaa authentication dot1x { default | list-name } global configuration command. To disable 802.1x AAA authorization, use the no aaa authorization global configuration command. To disable 802.1x authentication on the switch, use the no dot1x system-auth-control global configuration command.
This example shows how to enable AAA and 802.1x on a port:
Switch# configure terminal
Switch(config)# aaa new-model
Switch(config)# aaa authentication dot1x default group radius
Switch(config)# dot1x system-auth-control
Switch(config)# interface fastethernet1/0/1
Switch(config)# switchport mode access
Switch(config-if)# authentication port-control auto
Configuring the Switch-to-RADIUS-Server Communication
RADIUS security servers are identified by any of the following:
- Host name
- Host IP address
- Host name and specific UDP port numbers
- IP address and specific UDP port numbers
The combination of the IP address and UDP port number creates a unique identifier, which enables RADIUS requests to be sent to multiple UDP ports on a server at the same IP address. If two different host entries on the same RADIUS server are configured for the same service (for example, authentication) the second host entry configured acts as the fail-over backup to the first one. The RADIUS host entries are tried in the order that they were configured.
Beginning in privileged EXEC mode, follow these steps to configure the RADIUS server parameters on the switch. This procedure is required.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
ip radius source-interface interface_name |
Specifies that the RADIUS packets have the IP address of the indicated interface. |
Step 3 |
radius-server host { hostname | ip-address } |
Configure the RADIUS server host name or IP address on the switch. If you want to use multiple RADIUS servers, re-enter this command. |
Step 4 |
radius-server key string |
Configures the authorization and encryption key used between the router and the RADIUS daemon running on the RADIUS server. |
Step 5 |
end |
Return to privileged EXEC mode. |
Step 6 |
show running-config |
Verify your entries. |
Step 7 |
copy running-config startup-config |
(Optional) Save your entries in the configuration file. |
When you configure the RADIUS server parameters, note the following information:
- For hostname | ip-address, s pecify the hostname or IP address of the remote RADIUS server.
- For key string , specify the authentication and encryption key used between the switch and the RADIUS daemon running on the RADIUS server. The key is a text string that must match the encryption key used on the RADIUS server.
- When you specify the key string, spaces within and at the end of the key are used. If you use spaces in the key, do not enclose the key in quotation marks unless the quotation marks are part of the key. This key must match the encryption used on the RADIUS daemon.
- You can globally configure the timeout, retransmission, and encryption key values for all RADIUS servers by using the radius-server host global configuration command. If you want to configure these options on a per-server basis, use the radius-server timeout, radius-server retransmit, and the radius-server key global configuration commands.
Note
You also need to configure some settings on the RADIUS server. These settings include the IP address of the switch and the key string to be shared by both the server and the switch. For more information, see the RADIUS server documentation.
This example shows how to configure the RADIUS server parameters on the switch:
Switch# configure terminal
Switch(config)# ip radius source-interface Vlan80
Switch(config)# radius-server host 172.120.39.46
Switch(config)# radius-server key rad123
Configuring Periodic Re-Authentication
You can enable periodic 802.1x client re-authentication and specify how often it occurs. If you do not specify a time period before enabling re-authentication, the number of seconds between re-authentication attempts is 3600.
Beginning in privileged EXEC mode, follow these steps to enable periodic re-authentication of the client and to configure the number of seconds between re-authentication attempts. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to be configured, and enter interface configuration mode. |
Step 3 |
dot1x reauthentication |
Enable periodic re-authentication of the client, which is disabled by default. |
Step 4 |
dot1x timeout reauth-period seconds |
Set the number of seconds between re-authentication attempts. The range is 1 to 65535; the default is 3600 seconds. This command affects the behavior of the switch only if periodic re-authentication is enabled. |
Step 5 |
end |
Return to privileged EXEC mode. |
Step 6 |
show dot1x all |
Verify your entries. |
This example shows how to enable periodic re-authentication and set the number of seconds between re-authentication attempts to 4000, then verify the entries:
Switch(config)# interface gigabitethernet 4/1/1
Switch(config-if)# dot1x reauthentication
Switch(config-if)# dot1x timeout reauth-period 4000
Manually Re-Authenticating a Client Connected to a Port
You can manually re-authenticate the client connected to a specific port at any time by entering the dot1x re-authenticate interface interface-id privileged EXEC command. This step is optional. If you want to enable or disable periodic re-authentication, see the “Configuring Periodic Re-Authentication” section.
This example shows how to manually re-authenticate the client connected to a port:
Switch# dot1x re-authenticate interface fastethernet1/0/1
Changing the Quiet Period
When the switch cannot authenticate the client, the switch remains idle for a set period of time and then tries again. The dot1x timeout quiet-period interface configuration command controls the idle period. A failed authentication of the client might occur because the client provided an invalid password. You can provide a faster response time to the user by entering a smaller number than the default.
Beginning in privileged EXEC mode, follow these steps to change the quiet period. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to be configured, and enter interface configuration mode. |
Step 3 |
dot1x timeout quiet-period seconds |
Set the number of seconds that the switch remains in the quiet state following a failed authentication exchange with the client. The range is 0 to 65535 seconds; the default is 60. |
Step 4 |
end |
Return to privileged EXEC mode. |
Step 5 |
show dot1x all |
Verify your entries. |
This example shows how to set the quiet time on the switch to 30 seconds:
Switch(config-if)# dot1x timeout quiet-period 30
Changing the Switch-to-Client Retransmission Time
The client responds to the EAP-request/identity frame from the switch with an EAP-response/identity frame. If the switch does not receive this response, it waits a set period of time (known as the retransmission time) and then resends the frame.
Note
You should change the default value of this command only to adjust for unusual circumstances such as unreliable links or specific behavioral problems with certain clients and authentication servers.
Beginning in privileged EXEC mode, follow these steps to change the amount of time that the switch waits for client notification. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to be configured, and enter interface configuration mode. |
Step 3 |
dot1x timeout tx-period seconds |
Set the number of seconds that the switch waits for a response to an EAP-request/identity frame from the client before resending the request. The range is 1 to 65535 seconds; the default is 30. |
Step 4 |
end |
Return to privileged EXEC mode. |
Step 5 |
show dot1x all |
Verify your entries. |
This example shows how to set 60 as the number of seconds that the switch waits for a response to an EAP-request/identity frame from the client before resending the request:
Switch(config-if)# dot1x timeout tx-period 60
Setting the Switch-to-Client Frame-Retransmission Number
In addition to changing the switch-to-client retransmission time, you can change the number of times that the switch sends an EAP-request/identity frame (assuming no response is received) to the client before restarting the authentication process.
Note
You should change the default value of this command only to adjust for unusual circumstances such as unreliable links or specific behavioral problems with certain clients and authentication servers.
Beginning in privileged EXEC mode, follow these steps to set the switch-to-client frame-retransmission number. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to be configured, and enter interface configuration mode. |
Step 3 |
dot1x timeout supp-timeout seconds |
Set the number of times that the switch sends an EAP-request/identity frame to the client before restarting the authentication process. |
Step 4 |
end |
Return to privileged EXEC mode. |
Step 5 |
show dot1x all |
Verify your entries. |
This example shows how to set 5 as the number of times that the switch sends an EAP-request/identity request before restarting the authentication process:
Switch(config-if)# dot1x timeout supp-timeout 25
Setting the Re-Authentication Number
You can also change the number of times that the switch restarts the authentication process before the port changes to the unauthorized state.
Note
You should change the default value of this command only to adjust for unusual circumstances such as unreliable links or specific behavioral problems with certain clients and authentication servers.
Beginning in privileged EXEC mode, follow these steps to set the re-authentication number. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to be configured, and enter interface configuration mode. |
Step 3 |
dot1x max-req count |
Set the number of times that the switch restarts the authentication process before the port changes to the unauthorized state. The range is 1 to 10; the default is 2. |
Step 4 |
end |
Return to privileged EXEC mode. |
Step 5 |
show dot1x all |
Verify your entries. |
To return to the default re-authentication number, use the no dot1x max-reauth-req interface configuration command.
This example shows how to set 4 as the number of times that the switch restarts the authentication process before the port changes to the unauthorized state:
Switch(config-if)# dot1x max-reauth-req 4
Configuring the Host Mode
You can configure an 802.1x port for single-host or for multiple-hosts mode. In single-host mode, only one host is allowed on an 802.1x port. When the host is authenticated, the port is placed in the authorized state. When the host leaves the port, the port becomes unauthorized. Packets from hosts other than the authenticated one are dropped.
Note
ME3600X and ME3800X do not support dot1x multiple-hosts mode.
You can attach multiple hosts to a single 802.1x-enabled port as shown in Figure 22-3. In this mode, only one of the attached hosts must be successfully authorized for all hosts to be granted network access. If the port becomes unauthorized (re-authentication fails or an EAPOL-logoff message is received), all attached clients are denied access to the network.
Beginning in privileged EXEC mode, follow these steps to allow multiple hosts (clients) on an IEEE 802.1x-authorized port that has the dot1x port-control interface configuration command set to auto. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to which multiple hosts are indirectly attached, and enter interface configuration mode. |
Step 3 |
dot1x host-mode multi-host |
Allows multiple hosts (clients) on an 802.1X-authorized port. Note Make sure that the dot1x port-control interface configuration command set is set to auto for the specified interface. |
Step 4 |
end |
Return to privileged EXEC mode. |
Step 5 |
show dot1x all |
Verify your entries. |
This example shows how to enable 802.1x on a port and to allow multiple hosts:
Switch(config)# interface fastethernet1/0/1
Switch(config-if)# dot1x host-mode multi-host
Resetting the 802.1x Configuration to the Default Values
Beginning in privileged EXEC mode, follow these steps to reset the 802.1x configuration to the default values. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
interface interface-id |
Specify the port to be configured, and enter interface configuration mode. |
Step 3 |
dot1x default |
Reset the configurable 802.1x parameters to the default values. |
Step 4 |
end |
Return to privileged EXEC mode. |
Step 5 |
show dot1x all |
Verify your entries. |
Configuring 802.1x Accounting
Enabling AAA system accounting with 802.1x accounting allows system reload events to be sent to the accounting RADIUS server for logging. The server can then infer that all active 802.1x sessions are closed.
Because RADIUS uses the unreliable UDP transport protocol, accounting messages might be lost due to poor network conditions. If the switch does not receive the accounting response message from the RADIUS server after a configurable number of retransmissions of an accounting request, this system message appears:
Accounting message %s for session %s failed to receive Accounting Response.
When the stop message is not sent successfully, this message appears:
00:09:55: %RADIUS-4-RADIUS_DEAD: RADIUS server 172.20.246.201:1645,1646 is not responding.
Note
You must configure the RADIUS server to perform accounting tasks, such as logging start, stop, and interim-update messages and time stamps. To turn on these functions, enable logging of “Update/Watchdog packets from this AAA client” in your RADIUS server Network Configuration tab. Next, enable “CVS RADIUS Accounting” in your RADIUS server System Configuration tab.
Beginning in privileged EXEC mode, follow these steps to configure 802.1x accounting after AAA is enabled on your switch. This procedure is optional.
|
|
|
Step 1 |
configure terminal |
Enter global configuration mode. |
Step 2 |
aaa accounting dot1x default start-stop group radius |
Enable 802.1x accounting using the list of all RADIUS servers. |
Step 3 |
aaa accounting system default start-stop group radius |
(Optional) Enables system accounting (using the list of all RADIUS servers) and generates system accounting reload event messages when the switch reloads. |
Step 4 |
end |
Return to privileged EXEc mode. |
Step 5 |
show running-config |
Verify your entries. |
Step 6 |
copy running-config startup-config |
(Optional) Saves your entries in the configuration file. |
Use the show radius statistics privileged EXEC command to display the number of RADIUS messages that do not receive the accounting response message.
This example shows how to configure 802.1x accounting. The first command configures the RADIUS server, specifying 1813 as the UDP port for accounting:
Switch(config)# radius-server host 172.120.39.46 auth-port 1812 acct-port 1813 key rad123
Switch(config)# aaa accounting dot1x default start-stop group radius
Switch(config)# aaa accounting system default start-stop group radius
Configuring 802.1x User Distribution
Beginning in global configuration, follow these steps to configure a VLAN group and to map a VLAN to it:
|
|
|
Step 1 |
vlan group vlan-group-name vlan-list vlan-list |
Configure a VLAN group, and map a single VLAN or a range of VLANs to it. |
Step 2 |
show vlan group all vlan-group-name |
Verify the configuration. |
Step 3 |
no vlan group vlan-group-name vlan-list vlan-list |
Clear the VLAN group configuration or elements of the VLAN group configuration. |
This example shows how to configure the VLAN groups, to map the VLANs to the groups, to and verify the VLAN group configurations and mapping to the specified VLANs:
Switch(config)# vlan group eng-dept vlan-list 10
Switch(config)# show vlan group group-name eng-dept
------------- --------------
switch# show dot1x vlan-group all
------------- --------------
This example shows how to add a VLAN to an existing VLAN group and to verify that the VLAN was added:
Switch(config)# vlan group eng-dept vlan-list 30
Switch(config)# show vlan group eng-dept
------------- --------------
This example shows how to remove a VLAN from a VLAN group:
Switch# no vlan group eng-dept vlan-list 10
This example shows that when all the VLANs are cleared from a VLAN group, the VLAN group is cleared:
Switch(config)# no vlan group eng-dept vlan-list 30
Vlan 30 is successfully cleared from vlan group eng-dept.
Switch(config)# show vlan group group-name eng-dept
This example shows how to clear all the VLAN groups:
Switch(config)# no vlan group end-dept vlan-list all
Switch(config)# show vlan-group all
For more information about these commands, see the Cisco IOS Security Command Reference.