FortiNAC-F
FortiNAC-F is a zero-trust network access solution that provides users with enhanced visibility into the Internet of Things (IoT) devices on their enterprise networks. For legacy FortiNAC articles prior to FortiNAC-F 7.2, see FortiNAC.
ebilcari
Staff
Staff
Article Id 374825
Description This article describes the details of the integration with a Cisco WLC while using RADIUS authentication. If the integration is not properly done, the Change of Authorization CoA/DM message will not be sent by FortiNAC. In this example, the host is registered through the portal, and after successful registration, the network/VLAN remains unchanged.
Scope FortiNAC and Cisco WLC.
Solution

After the host gets successfully registered, as seen also from the Events or the master.output logs and matches the new Network access Policy, it can be seen from the Airspace debug output that FortiNAC decides not to disconnect this host:

 

yams INFO :: #789 :: DevicePluginThread0 in CiscoWLCSwitchingPolicy.checkRegisteredVlans for client 01:02:03:04:05:06 host = test@mail.com 01:02:03:04:05:06 and device 10.1.1.11

yams.RadiusAccess :: #456 :: GetNasPortId: Returning null
yams.RadiusAccess :: #456 :: RadiusServer.getWiredPort: (WLC-name/10.1.1.11) null
yams.Airespace INFO :: #123 :: Determined that client : 01:02:03:04:05:06 did not need to be cleared from the device

 

The reason for this behavior is related to the wrong location of this host; it will appear as connected to a VLAN, not connected to the SSID. This is because the Cisco WLC is not configured to send the SSID information in the 'Called-Station-Id' RADIUS attribute. This can be quickly verified by running a packet capture from FortiNAC CLI or checking through 'RadiusAccess' logs in the output.master log file:

 

yams.RadiusAccess. :: #777 :: [Access-Request] Authenticate Request (17 RadAttrs):
yams.RadiusAccess. :: #777 :: -- Acct-Session-Id = [6789c98s/01:02:03:04:05:06/4568489] (RadAttr Type=string)
yams.RadiusAccess. :: #777 :: -- Airespace-Wlan-Id = [6] (RadAttr Type=integer)
yams.RadiusAccess. :: #777 :: -- Called-Station-Id = [10.1.1.11] (RadAttr Type=string) 

 

This can be changed in the Cisco WLC configuration, as also shown in this external article, to send the MAC address of the AP and the SSID information:

 

cisco WLC.png

Related document:

RADIUS/Authentication Server