Understanding and Configuring 802.1X Port-Based Authentication
Understanding and Configuring 802.1X Port-Based Authentication
This chapter describes how to configure IEEE 802.1X port-based authentication to prevent unauthorized
client devices from gaining access to the network.
This chapter includes the following major sections:
• Understanding 802.1X Port-Based Authentication, page 29-1
• How to Configure 802.1X, page 29-14
• Displaying 802.1X Statistics and Status, page 29-28
Note For complete syntax and usage information for the switch commands used in this chapter, refer to the
Catalyst 4500 Series Switch Cisco IOS Command Reference and related publications at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/index.htm.
Note 802.1X support requires an authentication server that is configured for Remote Authentication Dial-In
User Service (RADIUS). 802.1X authentication does not work unless the network access switch can
route packets to the configured authentication RADIUS server. To verify that the switch can route
packets, you must ping the server from the switch.
Until a client is authenticated, only Extensible Authentication Protocol over LAN (EAPOL) traffic is
allowed through the port to which the client is connected. After authentication succeeds, normal traffic
can pass through the port.
To configure 802.1X port-based authentication, you need to understand the concepts in these sections:
• Device Roles, page 29-2
• 802.1x and Network Access Control, page 29-3
Device Roles
With 802.1X port-based authentication, network devices have specific roles. Figure 29-1 shows the role
of each device, which is described below.
Client
Workstations Catalyst 4500 Network
Access Switch RADIUS
server
• Client—The workstation that requests access to the LAN, and responds to requests from the switch.
The workstation must be running 802.1X-compliant client software.
Note For more information on 802.1X-compliant client application software such as Microsoft
Windows 2000 Professional or Windows XP, refer to the Microsoft Knowledge Base article
at this URL: http://support.microsoft.com
• Authenticator—Controls physical access to the network based on the authentication status of the
client. The switch acts as an intermediary 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 encapsulates and decapsulates the
Extensible Authentication Protocol (EAP) frames and interacts with the RADIUS 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 reencapsulated 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 frame header is removed from the server, leaving the EAP frame, which
is then encapsulated for Ethernet and sent to the client.
Cisco devices that are capable of functioning as an 802.1X network access point include
Catalyst 4500 series switches, the Catalyst 3550 multilayer switch, the Catalyst 2950 switch, and a
Cisco Airnet series wireless access point. These devices must be running software that supports the
RADIUS client and 802.1X.
• Authentication server—Performs the actual authentication of the client. The authentication server
validates the identity of the client and notifies the switch that the client is authorized to access the
LAN and switch services. (The only supported authentication server is the RADIUS authentication
server with EAP extensions; it is available in Cisco Secure Access Control Server version 3.2 and
later.)
Client
Workstation Catalyst 4500 Network
Access Switch RADIUS
EAPOL-Start
EAP-Request/Identity
EAP-Response/Identity RADIUS Access-Request
EAP-Request/OTP RADIUS Access-Challenge
EAP-Response/OTP RADIUS Access-Request
EAP-Success RADIUS Access-Accept
Port Authorized
EAPOL-Logoff
Port Unauthorized
94159
Supplicant Authenticator Authentication
server
• auto—Enables 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. The switch can uniquely identify each client
attempting to access the network by the client’s 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 authentication fails, the port remains in the unauthorized state, but authentication can be retried.
If the authentication server cannot be reached, the switch can retransmit the request. If no response is
received from the server after the specified number of attempts, authentication fails and network access
is not granted.
If the link state of a port transitions from up to down, or if an EAPOL-logoff frame is received by the
port, the port returns to the unauthorized state.
• If a guest VLAN is configured to handle non-responsive hosts, the type of VLAN configured as the
guest VLAN must match the port type (that is, guest VLANs configured on access ports must be
standard VLANs, and guest VLANs configured on private-VLAN host ports must be PVLANs. If
the guest VLAN’s type does not match the port type, non-responsive hosts are treated as if no guest
VLAN is configured (that is, they are denied network access).
• To assign a port into a PVLAN, the named VLAN must be a secondary PVLAN. The switch
determines the implied primary VLAN from the locally configured secondary-primary association.
• You cannot configure voice VLANs on a private VLAN port.
Note If the port mode is changed from private VLAN host mode to access mode when the port is authorized
with a RADIUS-assigned private VLAN, the port is moved to the configured access VLAN. Similarly,
when the port mode is changed from access mode to private VLAN host mode, the port is moved into
the configured private VLANs.
Note If you configure a different VLAN when the port is authorized with a RADIUS-assigned private VLAN,
the port remains in the RADIUS-assigned private VLAN, but the configured private VLAN is changed.
Usage Guidelines for Using 802.1X Authentication with Guest VLANs on Windows-XP Hosts
The usage guidelines for using 802.1X authentication with guest VLANs on Windows-XP hosts are as
follows:
• If the host fails to respond to the authenticator, the port attempts to connect three times (with a 30
second timeout between each attempt). After this time, the login/password window does not appear
on the host, so you must unplug and reconnect the network interface cable.
• Hosts responding with an incorrect login/password fail authentication. Hosts failing authentication
are not put in the guest VLAN. The first time that a host fails authentication, the quiet-period timer
starts, and no activity occurs for the duration of the quiet-period timer. When the quiet-period timer
expires, the host is presented with the login/password window. If the host fails authentication for the
second time, the quiet-period timer starts again, and no activity will occur for the duration of the
quiet-period timer. The host is presented with the login/password window a third time. If the host
fails authentication the third time, the port is placed in the unauthorized state, and you must
disconnect and reconnect the network interface cable.
Note RADIUS may send a response without an EAP packet in it when it does not support EAP, and sometimes
third party RADIUS servers also send empty responses. When this happens, the authentication attempt
counter is incremented.
• EAP failure messages are not sent to the user. If the user failures authentication the port is moved
to an authentication-failed VLAN and a EAP success message is sent to the user. Because the user
is not notified of the authentication failure there may be confusion as to why there is restricted
access to the network. A EAP Success message is sent for the following reasons:
– If the EAP Success message is not sent, the user tries to authenticate every 60 seconds (by
default) by sending an EAP-start message.
– In some cases, users have configured DHCP to EAP-Success and unless the user sees a success,
DHCP will not work on the port.
• Sometimes a user caches an incorrect username and password combination after receiving a EAP
success message from the authenticator and reuses that information in every re-authentication. Until
the user passes the correct username and password combination the port remains in the
authentication failed VLAN.
• When an authentication failed port is moved to an unauthorized state the authentication process is
restarted. If you should fail the authentication process again the authenticator waits in the held state.
After you have correctly reauthenticated all 802.1x ports are reinitialized and treated as normal
802.1x ports.
• When you reconfigure an authentication-failed VLAN to a different VLAN, any authentication
failed ports are also moved and the ports stay in their current authorized state.
• When you shut down or remove an authentication-failed VLAN from the VLAN database, any
authentication failed ports are immediately moved to an unauthorized state and the authentication
process is restarted. The authenticator does not wait in a held state because the authentication-failed
VLAN configuration still exists. While the authentication-failed VLAN is inactive, all
authentication attempts are counted, and as soon as the VLAN becomes active the port is placed in
the authentication-failed VLAN.
• If you reconfigure the maximum number of authentication failures allowed by the VLAN, the
change takes affect after the reauthentication timer expires.
• All internal VLANs which are used for Layer 3 ports cannot be configured as an authentication
failed VLAN.
• You cannot configure a VLAN to be both an authentication-failed VLAN and a voice VLAN. If you
do, a syslog message is generated.
• The authentication-failed VLAN is supported only in single-host mode (the default port mode).
• When a port is placed in an authentication-failed VLAN the user’s MAC address is added to the
mac-address-table. If a new MAC address appears on the port, it is treated as a security violation.
• When an authentication failed port is moved to an authentication-failed VLAN, the Catalyst 4500
series switch does not transmit a RADIUS-Account Start Message like it does for regular 802.1X
authentication.
These examples describe the interaction between 802.1X and port security on the switch:
• When a client is authenticated, and the port security table is not full, the client’s MAC address is
added to the port security list of secure hosts. The port then proceeds to come up normally.
When a client is authenticated and manually configured for port security, it is guaranteed an entry
in the secure host table (unless port security static aging has been enabled).
A security violation occurs if an additional host is learned on the port. The action taken depends on
which feature (802.1X or port security) detects the security violation:
– If 802.1X detects the violation, the action is to err-disable the port.
– If port security detects the violation, the action is to shutdown or restrict the port (the action is
configurable).
The following describes when port security and 802.1X security violations occur:
– In single host mode, after the port is authorized, any MAC address received other than the
client’s will cause a 802.1X security violation.
– In single host mode, if installation of an 802.1X client’s MAC address fails because port
security has already reached its limit (due to a configured secure MAC addresses), a port
security violation is triggered.
– In multi host mode, once the port is authorized, any additional MAC addresses that cannot be
installed because the port security has reached its limit will trigger a port security violation.
• When an 802.1X client logs off, the port transitions back to an unauthenticated state, and all
dynamic entries in the secure host table are cleared, including the entry for the client. Normal
authentication then ensues.
• If you administratively shut down the port, the port becomes unauthenticated, and all dynamic
entries are removed from the secure host table.
• Only 802.1X can remove the client’s MAC address from the port security table. Note that in multi
host mode, with the exception of the client’s MAC address, all MAC addresses that are learned by
port security can be deleted using port security CLIs.
• Whenever port security ages out a 802.1X client’s MAC address, 802.1X attempts to reauthenticate
the client. Only if the reauthentication succeeds will the client’s MAC address be retained in the port
security table.
• All of the 802.1X client’s MAC addresses are tagged with (dot1x) when you display the port security
table by using CLI.
Note The supplicant on the port detects that its session has been terminated and attempts to initiate a new
session. Unless the authentication server treats this new session differently, the client may see only a
brief interruption in network connectivity as the switch sets up a new session.
If the switch is configured to use the RADIUS-supplied timeout, but the Access-Accept message does
not include a Session-Timeout attribute, the switch never reauthenticates the supplicant. This behavior
is consistent with Cisco's wireless access points.
Client
Workstation Catalyst 4500 Network
Access Switch RADIUS
EAPOL-Start
EAP-Request/Identity
EAP-Response/Identity RADIUS Access-Request
EAP-Request/OTP RADIUS Access-Challenge
EAP-Response/OTP RADIUS Access-Request
EAP-Success RADIUS Access-Accept
Port Authorized
RADIUS Account-Request (start)
RADIUS Account-Response
EAPOL-Logoff
Port Unauthorized
Note You must configure the 802.1X client to send an EAP-logoff (Stop) message to the switch when the user
logs off. If you do not configure the 802.1X client, an EAP-logoff message is not sent to the switch and
the accompanying accounting Stop message will not be sent to the authentication server. Refer to the
Microsoft Knowledge Base article at the URL: http://support.microsoft.com. Also refer to the Microsoft
article at the URL:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/columns/cableguy/cg0703.asp,
and set the SupplicantMode registry to 3 and the AuthMode registry to 1.
The client uses EAP to authenticate itself with the RADIUS server. The switch relays EAP packets
between the client and the RADIUS server.
After the client is authenticated, the switch sends accounting-request packets to the RADIUS server,
which responds with accounting-response packets to acknowledge the receipt of the request.
A RADIUS accounting-request packet contains one or more Attribute-Value pairs to report various
events and related information to the RADIUS server. The following events are tracked:
• User successfully authenticates
• User logs-off
• Link-down occurs on a 802.1X port
• Reauthentication succeeds
• Reauthentication fails
When the port state transitions between authorized and unauthorized, the RADIUS messages are
transmitted to the RADIUS server.
The switch does not log any accounting information. Instead, it sends such information to the RADIUS
server, which must be configured to log accounting messages.
The 802.1X authentication, authorization and accounting process is as follows:
When the stop message is not transmitted successfully, the following message appears:
00:09:55: %RADIUS-3-NOACCOUNTINGRESPONSE: Accounting message Start for session
172.20.50.145 sam 11/06/03 07:01:16 11000002 failed to receive Accounting Response.
Use the show radius statistics command to display the number of RADIUS messages that do not receive
the accounting response message.
• 802.1X port security works with the 802.1X voice VLAN port feature and is configured per port.
Three secure addresses must be configured: one for the Cisco IP phone MAC address on the VVID,
one for the PC MAC-address on PVID, and a third to allow the Cisco IP phone MAC address on the
PVID.
However, you cannot use the 802.1X voice VLAN port feature with 802.1X port security’s sticky
MAC address configuration and 802.1X port-security's statically configured MAC address
configuration.
• 802.1X accounting is unaffected by the 802.1X voice VLAN port feature.
• When 802.1X is configured on a port, you cannot connect multiple IP-phones to a Catalyst 4500
series switch through a hub.
• Because voice VLANs cannot be configured as private VLAN host ports, and because only private
VLANs can be assigned to private VLAN host ports, VLAN assignment cannot assign a private
VLAN to a port with a voice VLAN configured.
Supported Topologies
The 802.1X port-based authentication supports two topologies:
• Point to point
• Wireless LAN
In a point-to-point configuration (see Figure 29-1 on page 29-2), only one client can be connected to the
802.1X-enabled switch port when the multi-host mode is not enabled (the default). 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 29-4 illustrates 802.1X port-based authentication in a wireless LAN. You must configure the
802.1X port as a multiple-host port that is authorized as a wireless access point once the client is
authenticated. (See the “Enabling Multiple Hosts” section on page 29-27.) When the port is authorized,
all other hosts that are indirectly attached to the port are granted access to the network. If the port
becomes unauthorized (reauthentication fails or an EAPOL-logoff message is received), the switch
denies access to the network for all wireless access point-attached clients. In this topology, the wireless
access point is responsible for authenticating clients attached to it, and the wireless access point acts as
a client to the switch.
If you are planning to use either 802.1X accounting or VLAN assignment, be aware that both features
utilize general AAA commands. For information how to configure AAA, refer to “Enabling 802.1X
Authentication” on page 16 and “Enabling 802.1X Accounting” on page 19. Alternatively, you can refer
to the Cisco IOS security documentation.
Refer to the following Cisco IOS security documentation for information on how to configure AAA
system accounting:
• http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/index.htm
• http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_r/index.htm
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# Enables the 802.1X feature on your switch.
[no] dot1x system-auth-control
Step 3 Switch(config)# aaa new-model Enables AAA.
Step 4 Switch(config)# aaa authentication Creates an 802.1X authentication method list.
dot1x {default} method1 [method2...]
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 interfaces.
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 5 Switch(config)# aaa authorization (Optional) Configure the switch for user RADIUS authorization for all
network {default} group radius network-related service requests, such as VLAN assignment.
Step 6 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Command Purpose
Step 7 Switch(config-if)# dot1x Enables 802.1X authentication on the interface.
port-control auto
For feature interaction information with trunk, dynamic, dynamic-access,
EtherChannel, secure, and SPAN ports, see the “802.1X Configuration
Guidelines” section on page 29-15.
Step 8 Switch(config-if)# end Returns to privileged EXEC mode.
Step 9 Switch # show dot1x all Verifies your entries.
Check the Status column in the 802.1X Port Summary section of the
display. An enabled status means that the port-control value is set either
to auto or to force-unauthorized.
Step 10 Switch# show running-config Verifies your entries.
Step 11 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To configure the RADIUS server parameters on the switch, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# radius-server host Configures the RADIUS server parameters on the switch.
{hostname | ip-address} auth-port
port-number [acct-port port-number] For hostname | ip-address, specify the hostname or IP address of the
key string remote RADIUS server.
For auth-port port-number, specify the UDP destination port for
authentication requests. The default is 1812.
For acct-port port-number, specify the UDP destination port for
accounting requests. The default is 1813.
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.
Note Always configure the key as the last item in the radius-server
host command syntax because leading spaces are ignored, but
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.
To delete the specified RADIUS server, use the no radius-server host {hostname | ip-address} global
configuration command.
This example shows how to specify the server with IP address 172.20.39.46 as the RADIUS server. The
first command specifies port 1612 as the authorization port, sets the encryption key to rad123.
The second command dictates that key matches will be performed on the RADIUS server:
Switch(config)# radius-server host 172.l20.39.46 auth-port 1612 key rad123
Switch(config)# ip radius source-interface m/p
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.
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.
Refer to the following Cisco IOS security documentation for information on how to configure AAA
system accounting:
• http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/index.htm
• http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_r/index.htm
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode.
interface-id
Step 3 Switch(config-if)# dot1x-timeout Sets the re-authentication period (seconds).
reauth-period {interface | server}
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch # show dot1x interface Verifies your entries.
Step 6 Switch # copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to configure the switch to derive the re-authentication period from the server:
Switch# configure terminal
Switch(config)# interface fa3/1
Switch(config-if)# dot1x timeout reauth-period server
Switch(config-if)# end
Switch)# show dot1x interface fa2/1
Note If you plan to implement system-wide accounting, you should also configure 802.1X accounting.
Moreover, you need to inform the accounting server of the system reload event when the system is
reloaded. Doing this, ensures that the accounting server knows that all outstanding 802.1X sessions on
this system are closed.
After you configure 802.1X authentication and switch-to-RADIUS server communication, perform this
task to enable 802.1X accounting:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# aaa accounting Enables 802.1X accounting, using the list of all RADIUS servers.
dot1x default start-stop group
radius
Command Purpose
Step 3 Switch(config)# clock timezone Sets the time zone for the accounting event-time stamp field.
PST -8
Step 4 Switch(config)# clock Enables the date for the accounting event-time stamp field.
calendar-valid
Step 5 Switch(config-if)# aaa accounting (Optional) Enables system accounting (using the list of all RADIUS
system default start-stop group servers) and generates system accounting reload event messages when the
radius
switch reloads.
Step 6 Switch(config-if)# end Returns to privileged EXEC mode.
Step 7 Switch# show running-config Verifies your entries.
Step 8 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
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
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.
Note When a port is put into a guest VLAN, it is automatically placed into multihost mode, and an unlimited
number of hosts can connect through the port. Changing the multihost configuration does not effect a
port in a guest VLAN.
Except for an RSPAN VLAN or a voice VLAN, you can configure any active VLAN as an 802.1X guest
VLAN. The guest VLAN feature is not supported on trunk ports; it is supported only on access ports.
To configure 802.1X with guest VLAN, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
or
Switch(config-if)# switchport mode Specifies that the ports with a valid PVLAN trunk association become active
private-vlan host host private VLAN trunk ports.
Step 4 Switch(config-if)# dot1x Enables 802.1X authentication on the interface.
port-control auto
For feature interaction information with trunk, dynamic, dynamic-access,
EtherChannel, secure, and SPAN ports, see the “802.1X Configuration
Guidelines” section on page 29-15.
Step 5 Switch(config-if)# dot1x guest-vlan Enables a guest VLAN on a particular interface.
vlan-id
Step 6 Switch(config-if)# end Returns to configuration mode.
Step 7 Switch(config)# end Returns to privileged EXEC mode.
To disable the guest VLAN feature on a particular port, use the no dot1x guest-vlan interface
configuration command.
This example shows how to enable a regular VLAN 50 on Fast Ethernet 4/3 as a guest VLAN on a static
access port:
Switch# configure terminal
Switch(config)# interface fa4/3
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x port-control auto
Switch(config-if)# dot1x guest-vlan 50
Switch(config-if)# end
Switch#
This example shows how to enable a secondary private VLAN 100 as a guest VLAN on a private VLAN
host port:
Switch# configure terminal
Switch(config)# interface fa4/3
Switch(config-if)# switchport mode private-vlan host
Switch(config-if)# dot1x port-control auto
Switch(config-if)# dot1x guest-vlan 100
Switch(config-if)# end
Switch#
To enable the optional guest VLAN behavior and to configure a guest VLAN, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch# dot1x guest-vlan supplicant Enables the optional guest VLAN behavior globally on the switch.
Step 3 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 4 Switch(config-if)# dot1x guest-vlan Specifies an active VLAN as an 802.1X guest VLAN. The range is 1 to
vlan-id 4094.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch(config)# show dot1x Verifies your entries.
interface interface-id
Step 7 Switch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable the optional guest VLAN feature on a particular port, use the no dot1x guest-vlan supplicant
global configuration command.
This example shows how enable the optional guest VLAN behavior and to specify VLAN 5 as an 802.1X
guest VLAN:
Switch# configure terminal
Switch(config)# dot1x guest-vlan supplicant
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# dot1x guest-vlan 5
Switch(config-if)# end
Switch#
Note You cannot configure an authentication-failed VLAN and a voice VLAN on the same port. When you
try to configure these two features on the same port, a syslog message is generated.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
or
Switch(config-if)# switchport mode Specifies that the ports with a valid private VLAN trunk association become
private-vlan host active host private VLAN trunk ports.
Step 4 Switch(config-if)# dot1x Enables 802.1X authentication on the interface.
port-control auto
For feature interaction information with trunk, dynamic, dynamic-access,
EtherChannel, secure, and SPAN ports, see the “802.1X Configuration
Guidelines” section on page 29-15.
Step 5 Switch(config-if)# dot1x auth-fail Enables authentication-failed VLAN on a particular interface.
vlan vlan-id
Step 6 Switch(config-if)# dot1x auth-fail Configure a maximum number of attempts before the port is moved to
max-attempts max-attemtps authentication-failed VLAN.
Default is 3 attempts.
Step 7 Switch(config-if)# end Returns to configuration mode.
Step 8 Switch(config)# end Returns to privileged EXEC mode.
To disable the authentication-failed VLAN feature on a particular port, use the no dot1x auth-fail vlan
interface configuration command.
This example shows how to enable a regular VLAN 40 on Fast Ethernet 4/3 as a authentication failure
VLAN on a static access port:
Switch# configure terminal
Switch(config)# interface gigabitethernet3/1
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x port-control auto
Switch(config-if)# dot1x auth-fail vlan 40
Switch(config-if)# dot1x auth-fail max-attempts 5
Switch(config-if)# end
Switch(config)# end
Switch# show dot1x all
Dot1x Info for interface GigabitEthernet3/1
----------------------------------------------------
PortStatus = AUTHORIZED(AUTH-FAIL-VLAN)
MaxReq = 2
MaxAuthReq = 2
HostMode = Single(AUTH-FAIL-VLAN)
PortControl = Auto
QuietPeriod = 60 Seconds
Re-authentication = Disabled
ReAuthPeriod = 3600 Seconds
ServerTimeout = 30 Seconds
SuppTimeout = 30 Seconds
TxPeriod = 30 Seconds
Guest-Vlan = 6
Switch
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode.
interface-id
Step 3 Switch(config-if)# switchport Sets the VLAN for a switched interface in access mode.
access vlan vlan-id
Step 4 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 5 Switch(config-if)# switchport voice Sets the voice VLAN for the interface.
vlan vlan-id
Step 6 Switch(config-if)# dot1x Enables 802.1X authentication on the interface.
port-control auto
Step 7 Switch(config-if)# end Returns to configuration mode.
Step 8 Switch(config)# end Returns to privileged EXEC mode.
This example shows how to enable 802.1X with voice VLAN feature on Fast Ethernet interface 5/9:
Switch# configure terminal
Switch(config)# interface fastethernet5/9
Switch(config-if)# switchport access vlan 2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport voice vlan 10
Switch(config-if)# dot1x port-control auto
Switch(config-if)# end
Note You must configure 802.1X and voice VLAN at the same time.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for periodic reauthentication.
Command Purpose
Step 3 Switch(config-if)# dot1x Enables periodic reauthentication of the client, which is disabled by
re-authentication default.
Step 4 Switch(config)# dot1x timeout Specifies the number of seconds between reauthentication attempts or
reauth-period {seconds | server} have the switch use a RADIUS-provided session timeout.
The range is 1 to 65,535; the default is 3600 seconds.
This command affects the behavior of the switch only if periodic
reauthentication is enabled.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show dot1x all Verifies your entries.
Step 7 Switch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for timeout quiet-period.
Command Purpose
Step 3 Switch(config)# dot1x timeout Sets the number of seconds that the switch remains in the quiet-period
quiet-period seconds following a failed authentication exchange with the client.
The range is 0 to 65,535 seconds; the default is 60.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show dot1x all Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To return to the default quiet-period, use the no dot1x timeout quiet-period configuration command.
This example shows how to set the quiet-period on the switch to 30 seconds:
Switch(config)# dot1x timeout quiet-period 30
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.
To change the amount of time that the switch waits for client notification, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for timeout tx-period.
Step 3 Switch(config-if)# dot1x timeout Sets the number of seconds that the switch waits for a response to an
tx-period seconds EAP-request/identity frame from the client before retransmitting the
request.
The range is 1 to 65,535 seconds; the default is 30.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show dot1x all Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To return to the default retransmission time, use the no dot1x timeout tx-period interface configuration
command.
This example shows how to set the retransmission time to 60 seconds:
Switch(config)# dot1x timeout tx-period 60
Note You should change the default values of these commands only to adjust for unusual circumstances such
as unreliable links or specific behavioral problems with certain clients and authentication servers.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for max-reauth-req and/or max-req.
Step 3 Switch(config-if)# dot1x max-req Specifies the number of times that the switch retransmits an EAP-request
count frame of a type other than EAP-request/identity to the client before
restarting the authentication process.
or
Switch(config-if)# dot1x max-req Specifies the number of times that the switch retransmits an
count
EAP-request/identity frame to the client before restarting the
authentication process.
The range for count is 1 to 10; the default is 2.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show dot1x all Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To return to the default retransmission number, use the no dot1x max-req and
no dot1x max-reauth-req global configuration command.
This example shows how to set 5 as the number of times that the switch retransmits an
EAP-request/identity request before restarting the authentication process:
Switch(config)# dot1x max-reauth-req 5
To allow multiple hosts (clients) on an 802.1X-authorized port that has the dot1x port-control interface
configuration command set to auto, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to which
interface-id multiple hosts are indirectly attached.
Step 3 Switch(config-if)# dot1x host-mode Allows multiple hosts (clients) on an 802.1X-authorized port.
multi-host
Make sure that the dot1x port-control interface configuration command
set is set to auto for the specified interface.
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# show dot1x all interface Verifies your entries.
interface-id
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable multiple hosts on the port, use the no dot1x multiple-hosts interface configuration command.
This example shows how to enable 802.1X on Fast Ethernet interface 0/1 and to allow multiple hosts:
Switch(config)# interface fastethernet0/1
Switch(config-if)# dot1x port-control auto
Switch(config-if)# dot1x multiple-hosts
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# dot1x default Resets the configurable 802.1X parameters to the default values.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show dot1x all Verifies your entries.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config