Implementing 802.1X authentication, which includes everything from setting up a RADIUS server to keeping end users connected, isn't easy.
Using 802.1X complicates the connection process, opening your network up to many more potential connectivity issues. For example, the extra exchange of packets for the 802.1X authentication increases the time it takes to connect and to roam across different wireless access points.
If you're having connection issues, here are some troubleshooting techniques, features, and tools you can use.
1. Check the RADIUS Server Logs
Before performing troubleshooting steps on the client you should check the logs on the RADIUS server. If the authentication attempts are making it to the server, the logs can usually give you an idea of the underlying issue. But if the logs don't help or the authentication attempts aren't making it to the server you can continue troubleshooting via other methods.
2. Address Intermittent Connection Issues
If a client is having intermittent connection issues — disconnecting periodically, not reconnecting after resuming from sleep, or not roaming well between wireless access points — you may first want to eliminate general networking issues.
For wireless adapters that came with their own wireless configuration software, try uninstalling it so the adapter uses the native Windows interface and Microsoft 802.1X supplicant. Also consider reinstalling and even updating the driver for the client's network adapter.
If clients are still being intermittently disconnected (even if automatically reconnected), it may be because a Fast Roaming technique isn't being used. By default, the full 802.1X authentication process must take place the first time a client connects to the network, when roaming to another wireless access point, and after the 802.1X session interval expires. And this full authentication process can interrupt the client connection, especially for latency-sensitive traffic like VoIP or video streams.
When a Fast Roaming technique is supported by your network, however, it helps reduce the amount of full authentication processes a client must make on the network. The three most popular techniques are called WPA/WPA2 Fast Reconnect (or EAP Session Resumption), WPA2 PMK Caching, and Pre-authentication.
WPA/WPA2 Fast Reconnect (or EAP Session Resumption) caches the TLS session from the initial connection and uses it to simplify and shorten TLS handshake process for re-authentication attempts. This is usually enabled by default when a client connects to an 802.1X network the first time, but if you push network settings to domain clients you should make sure Fast Reconnect is enabled.
WPA2 Pairwise Master Key (PMK) Caching allows clients to perform a partial authentication process when roaming back to the access point the client had originally performed the full authentication on. This is typically enabled by default in Windows, with a default expiration time of 720 minutes (12 hours). In Windows 7 and later you can configure these settings via the advanced 802.1X settings for each network connection, however in Windows Vista and earlier they must be edited via registry entries or Group Policy.
Pre-authentication is a step further than PMK caching, basically performing PMK caching with other access points after connecting to just one, which can help make roaming the wireless network even more seamless. Once a client authenticates via one access point, the existing network connection is used to convey the authentication details to the other access points. By default, pre-authentication is disabled by Windows but can be enabled via the advanced 802.1X settings in Windows 7 or later, or via registry entries or Group Policy in Windows Vista or earlier.
3. Solve connectivity issues with a single client
If a single computer or device can't connect, the first item to check is if the correct login credentials are being provided. For instance, the username and password if using PEAP, the smart card and PIN, or the user certificate if using EAP-TLS.
Next you may want to check for general network-related issues, such as with the wireless adapter or OS. So consider steps like disabling and re-enabling the client's network connection and rebooting the computer or device.
Next you may want to see if there are issues related to the RADIUS server validation, the verification made by the client to ensure the legitimacy of the RADIUS server before moving forward with authentication. To see if it's causing the problem, you can temporary disable it. Though this server validation is optional, it's typically enabled by default for 802.1X networks in Windows, whereas on smartphones and tablets it usually must be manually setup.
When using Windows you can disable server verification by unchecking the Validate server certificate option in the EAP Properties dialog. For smartphones and tablets you can deselect the Certificate Authority certificate in the network's properties, if one has even been previously installed and selected.
If the computer or device successfully connects to the network after disabling server validation, there is likely something wrong with the RADIUS server's root Certificate Authority certificate loaded on the client and/or the server validation settings on the client. But there's also a slight possibility that the validation feature was doing its job and you're connecting to a different RADIUS server, maybe even from an attacker's fake network trying to perform man-in-the-middle attacks.
To further troubleshoot the server validation, verify/change some settings before re-enabling it and connecting:
• Ensure the computer or device has been using the correct Certificate Authority certificate for the server validation and consider reinstalling the certificate anyways.
• For Windows and other devices that allow you to specify the RADIUS server's IP or FQDN, verify they're correct and consider temporarily removing them to see if that might be your issue.
• For Windows and other devices that allow you to set the client to not prompt users for trusting new servers or Certificate Authorities, consider disabling that option in case you've made a change to your RADIUS server recently.
• Verify the system time of the client is correct because an incorrect time or date can cause issues if it doesn't fall inside the validity period of Certificate Authority certificate.
If the client still can't connect after verifying the server validation settings and disabling the validation altogether, next check other client settings that can be misconfigured:
• Verify the correct authentication mode (machine or user) is being used. In Windows 7 and later, click the advanced button on the network's properties dialog and verify the selected authentication mode. For Windows Vista and later, refer to Microsoft's support site.
• If using EAP-TLS, verify the system time of the client is correct because an incorrect time or date can cause issues if it doesn't fall inside the validity period of the user certificate.
If problems still persist, lastly consider reinstalling the network adapter driver on the client and verifying user attributes (VLAN ID, log-time, etc) on the RADIUS server.
4. Solve connectivity issues with a switch or access point
If multiple clients can't connect to your 802.1X network via a single switch or access point, first check if it's a general network issue, like the Ethernet/network connection and also consider power cycling the switch or access point. And then if problems persist, verify the RADIUS server settings in the switch or access point:
• Make sure the Shared Secret is the same as defined by the RADIUS server for that particular access point's IP address.
• Ensure the RADIUS IP address is set to the IP of the server.
• Ensure the defined RADIUS ports are those that your server is using, keeping in mind servers may use two different port pairs: 1812/1813 or 1645/1646.
Keep in mind; you want the RADIUS server and all switches and access points to have static IP addresses because if they change it will cause issues.
5. Turn to troubleshooting tools
For further troubleshooting, you might try using client-based tools and utilities. In Windows Vista or later, for instance, you can perform wireless tracing with the netsh wlan commands. Plus there are also third-party applications you might consider:
Radius Test is a Windows-based RADIUS testing tool featuring a GUI and command-line access. You can send simulated authentication and accounting requests to the RADIUS server and see the replies. It supports a wide range of EAP types.
Radlogin is a freeware RADIUS test client, available for Windows, FreeBSD, Sparc Solaris and Linux platforms. You can use to simulate, debug and monitor your RADIUS server. Its monitoring capabilities give you the ability to keep stats on RADIUS servers and supports email alerts.
In addition to troubleshooting tools, you might consider solutions to help distribute the 802.1X and other network settings to your clients, which can help reduce misconfigurations. If you deploy a domain network with a Windows Server, consider using Group Policy to distribute the settings. And for clients that aren't joined to the domain, consider using a solution such as XpressConnect, QuickConnect, or SU1x.
Eric Geier is a freelance tech writer — keep up with his writings on his Facebook Fan Page. He's also the founder of NoWiresSecurity, a cloud-based Wi-Fi security service, and On Spot Techs, an on-site computer services company.