Configure Cisco ISE and Juniper EX Switches for 802.1X-Based Authentication
About This Network Configuration Example
This network configuration example (NCE) shows you how to configure Cisco Identity Services Engine 2.X (Cisco ISE) and Juniper EX switches for IEEE 802.1X-based authentication.
Overview
Cisco ISE 2.X comes with many pre-imported network device profiles, but it doesn’t come with one for Juniper. Network device profiles specify how to handle MAC Radius, dot1x authentication, VLAN and ACL assignment, and CoA features.
Cisco ISE allows you to import network device profiles in XML format, enabling integration with any IEEE 802.1X standard network device. This example shows you how to import the Juniper network device profile, and configure settings to allow IEEE 802.1X-based authentication with Cisco ISE and Juniper EX switches.
Topology
In this example, we use the following network topology Figure 1:

Here’s more details about the hardware and software components used in this example:
Device | Software Version | Role |
---|---|---|
Juniper EX2300-C-12P | Junos 18.2R1-S1 | Switch and Authenticator |
Cisco ISE | 2.4.0.357 Patch2-18080100 | RADIUS Server |
Polycom VVX 310 IP Phone | SIP/5.5.1.11526/22-Nov-16 15:05 | Supplicant (MAC Radius) |
Windows 10 Professional | All recommended patches as of 2018-08-22 | Supplicant (Dot1x) |
Network Printer | N/A | Supplicant (MAC Radius) |
Juniper Mist AP43 | 0.6.18981 | Supplicant (MAC Radius) |
All users and endpoints are stored in the internal Cisco ISE database.
For external user database integration such as Microsoft Active Directory, LDAP and Certificate Based Authentication, refer to the Cisco Identity Services Engine Administrator Guide, Release 2.4.
Step-by-Step Procedure
- Import the Juniper Wired Device Profile
- Add EX Switches to the Juniper Device Profile
- Create Authorization Profiles
- Create Endpoint Identity Groups
- Add Endpoints
- Create User Identity Groups
- Add Users
- Set Authentication Policies
- Set Authorization Policies
- Configure a Cisco ISE Policy to Enable Guest Access
- Configure a Colorless Port Using IETF Egress-VLAN-ID Attributes
- Configure the 802.1X Protocol on the EX Switch
- Configure Windows 10
Import the Juniper Wired Device Profile
Assuming you’ve got Cisco ISE up and running on your network, the first thing you’ll need to do is add a Juniper EX switch device profile.
Add EX Switches to the Juniper Device Profile
You can add your EX switches individually, or as an IP address range.
Create Endpoint Identity Groups
Endpoints, such as IP Phones, can be grouped together in endpoint identity groups to make it easier to apply common attributes, for example, VoIP VLAN.
Add Endpoints
The Polycom IP Phone in this setup is not configured for dot1x authentication. Instead, we rely on MAC RADIUS and MAC Authentication Bypass (MAB).
Create User Identity Groups
User Identity Groups allow you to apply specific attributes to users that are members of the group. In this example, we create three new User Identity Groups:
VLAN_100_User_ID_Group
VLAN_100_ACL_User_ID_Group
VLAN_100_dACL_User_ID_Group
Add Users
In this example, we create three local users named user1, user2 and user3. Each user is assigned to a different User Identity Group.
Here’s an overview of the three users we just created:

Set Authentication Policies
The authentication policy contains three entries per default.
The predefined MAB and dot1x rules have conditions that are tied to the network device profile. When requests come from a Juniper device, the switch automatically uses the attributes configured in the Juniper network device profile to authenticate a MAB and dot1x request. The authentication policy named Default contains a default network access policy for allowed protocols. This network access policy is compatible with Juniper EX switches.
In this example, we use the Default authentication policy.
Cisco ISE Default Network Access Profile
Here’s the Cisco ISE configuration for the Default Network
Access profile for Juniper EX switches.
Configure a Cisco ISE Policy to Enable Guest Access
For guest access use-cases involving the Cisco ISE guest portal, Juniper EX switches support Juniper-CWA-Redirect-URL VSA along with a special Filter-Id JNPR_RSVD_FILTER_CWA to redirect unknown guest clients to the Cisco ISE portal. The following diagram outlines the guest access flow with Cisco ISE:

Here’s the Juniper EX switch configuration for this scenario:
Here’s how to configure a Cisco ISE policy to enable guest access:
Configure a Colorless Port Using IETF Egress-VLAN-ID Attributes
With Junos 20.4 and above, you can automatically configure switch ports into access/trunk ports and assign multiple VLANs based on the RADIUS (Cisco ISE) response. For example, you can have a common port configuration on the switch and then reconfigure it automatically based on the identity of a connecting device, such as a Mist AP, a printer, or a corporate laptop.
Here’s an example of a trunk port configured for Mist AP with an untagged native VLAN for management:

By default, the port is configured as an access port with 802.1X and MAC-Radius enabled.

Here’s how to create a new profiler policy in Cisco ISE to auto-profile Mist APs based on Mist MAC-OUI. The profiler policy will send the full switch port configuration (trunk, with native vlan 51 and all the other required VLAN tagged).
How did we get all the numbers above? We used the following formula:
Create hex values for each VLAN you want to push in access-accept. The hex format is 0x31000005. The first seven characters can either be 0x31000 (tagged) or 0x32000 (untagged). The last three characters are the actual VLAN ID converted to hex. You can use a Decimal to hexadecimal converter to figure out the hexadecimal value. For example, to send untagged VLAN 51, the value is 0x32000033.
Once you enter this hex value, convert the whole value back to decimal. You can use this Hexidecimal to decimal converter to figure out the decimal value.
In this example, if you convert 0x32000033 to decimal, the value is 52428851.
Configure the Cisco ISE authorization profile using the decimal value.
Plug in a Mist AP and verify the output:
Configure the 802.1X Protocol on the EX Switch


