Skip to content

MAC Authentication Bypass (MAB) Configuration on Cisco IOS XE and ISE

J
MAC Authentication Bypass (MAB) Configuration on Cisco IOS XE and ISE

Every production 802.1X deployment has devices that do not support 802.1X: network printers, IP cameras, badge readers, environmental monitoring sensors, VoIP phones from non-Cisco vendors, and legacy industrial equipment. These devices cannot send EAPOL frames or run a supplicant. Without a fallback mechanism, every port hosting such a device is permanently unauthorized.

MAC Authentication Bypass (MAB) is that fallback. When the switch times out waiting for an 802.1X supplicant, it sends the device's MAC address to ISE as the username and password in a RADIUS Access-Request. ISE evaluates the MAC against its endpoint database and returns an authorization policy — the same VLAN, dACL, and session attribute mechanism used for full 802.1X.

The fundamental limitation of MAB is that MAC addresses can be spoofed. An attacker who knows an authorized MAC address can connect a laptop, set its MAC to match, and pass MAB authentication. This is why MAB policy design matters: MAB-authenticated devices should receive the minimum access necessary, and ISE's profiling engine should verify that the device characteristics match the claimed device type.

This article assumes [Article 8: Basic 802.1X Port Configuration on Cisco IOS XE Switches] and [Article 9: Configuring Cisco ISE as a RADIUS Server for 802.1X] are complete.


How MAB Works on the Switch

When a port is configured with both dot1x pae authenticator and mab:

  1. The switch sends an EAP-Request/Identity frame and waits for a response
  2. If no EAPOL response is received within tx-period * max-reauth-req seconds, MAB begins
  3. The switch sends a RADIUS Access-Request to ISE with:
    • User-Name: MAC address in the format aabbccddeeff (lowercase, no delimiters — default on IOS XE 17.9.x)
    • Password: Same MAC address (also used as the password for PAP-based MAB)
    • Service-Type: Call Check (value 10) — this is ISE's indicator that this is a MAB request
    • Calling-Station-Id: MAC address in aa-bb-cc-dd-ee-ff format (hyphen-delimited, uppercase)
    • NAS-Port-Type: Ethernet
  4. ISE receives the Access-Request, recognizes it as MAB (Service-Type = Call Check), and checks its endpoint database
  5. ISE returns Access-Accept or Access-Reject based on the endpoint's identity group and authorization policy

The Service-Type: Call Check attribute is what distinguishes a MAB RADIUS request from a regular 802.1X RADIUS request in ISE's Authentication Policy matching logic.


Switch Configuration

The MAB-specific switch configuration is minimal because most of the work is done in the base 802.1X interface configuration. The key additions for MAB are mab and the fallback order settings.

interface GigabitEthernet1/0/12
 description Printer - HP LaserJet Pro
 switchport mode access
 switchport access vlan 10
 switchport nonegotiate
 spanning-tree portfast
 spanning-tree bpduguard enable
 !
 authentication host-mode multi-auth
 authentication order dot1x mab
 authentication priority dot1x mab
 authentication port-control auto
 authentication periodic
 authentication timer reauthenticate server
 authentication event fail action authorize vlan 40
 authentication event server dead action authorize vlan 50
 authentication event server alive action reinitialize
 !
 dot1x pae authenticator
 dot1x timeout tx-period 10
 dot1x max-reauth-req 2
 !
 mab

Line-by-line explanation:

authentication order dot1x mab — 802.1X is tried first. Only after 802.1X times out (tx-period * max-reauth-req seconds = 10 * 2 = 20 seconds here) does MAB begin. For ports that exclusively host non-supplicant devices (dedicated printer ports, camera ports), you can swap the order to mab dot1x to reduce authentication time, but this is generally not recommended for shared ports.

authentication priority dot1x mab — if MAB has authenticated a device and then an EAPOL frame arrives on the port (a user plugs in a laptop to a printer's network port, for example), 802.1X takes priority and preempts the MAB session. This prevents a scenario where a supplicant-capable device hides behind an already-MAB-authenticated connection.

dot1x max-reauth-req 2 — reduced from 3 to 2 for printer/device ports. Two retransmits * 10 second tx-period = 20 seconds before MAB fallback. For dedicated non-supplicant ports, reducing this speeds up network access for the device.

mab — enables MAC Authentication Bypass. Without this command, 802.1X times out and the port falls to the Guest VLAN (if configured) or stays unauthorized. There is no explicit MAB configuration block required on the switch — mab is the only command.

Ports Dedicated to Non-Supplicant Devices

For ports that will never have an 802.1X supplicant — dedicated to a printer, IP camera, or badge reader — you can optimize by reducing the dot1x timeout:

interface GigabitEthernet1/0/24
 description IP Camera - Axis P3245
 switchport mode access
 switchport access vlan 10
 switchport nonegotiate
 spanning-tree portfast
 spanning-tree bpduguard enable
 !
 authentication host-mode single-host
 authentication order mab dot1x
 authentication priority dot1x mab
 authentication port-control auto
 authentication periodic
 authentication timer reauthenticate server
 authentication event server dead action authorize vlan 50
 authentication event server alive action reinitialize
 !
 dot1x pae authenticator
 dot1x timeout tx-period 5
 dot1x max-reauth-req 1
 !
 mab

authentication order mab dot1x — MAB is tried first. The switch still sends one EAP-Request/Identity (because dot1x pae authenticator is present), but if no response arrives in 5 seconds * 1 retry = 5 seconds, MAB runs immediately. Total time to authentication: approximately 5-6 seconds instead of 20-30 seconds.

authentication host-mode single-host — only one device is allowed on this port. If a second MAC address is detected (someone connecting another device), the port goes unauthorized. Appropriate for cameras and badge readers where the connected device never changes.


ISE Configuration

Step 1: Endpoint Identity Groups

ISE organizes endpoints into Endpoint Identity Groups for policy matching. Create groups for each device category:

Navigation: Administration > Identity Management > Groups > Endpoint Identity Groups > Add

Create the following groups:

Name: Printers
Description: Network printers and MFPs (MAB authenticated)
Parent: Endpoint Identity Groups

Name: IP-Cameras
Description: IP surveillance cameras (MAB authenticated)
Parent: Endpoint Identity Groups

Name: Badge-Readers
Description: Physical access control readers (MAB authenticated)
Parent: Endpoint Identity Groups

Name: IoT-Sensors
Description: Environmental and industrial IoT sensors (MAB authenticated)
Parent: Endpoint Identity Groups

Name: Unknown-MAB
Description: MAC addresses not yet classified (MAB authenticated, restricted access)
Parent: Endpoint Identity Groups

Step 2: Add Endpoints to Identity Groups

For known MAC addresses, add them to identity groups manually or via import:

Navigation: Administration > Identity Management > Identities > Endpoints > Add

MAC Address:       A4:B1:E9:F0:3C:01
Static Assignment: Yes
Identity Group:    Printers
Description:       HP LaserJet Pro M404dn - Finance Dept

For large deployments, use the bulk import feature:

Navigation: Administration > Identity Management > Identities > Endpoints > Import

CSV format:

MACAddress,StaticAssignment,StaticGroupAssignment,IdentityGroup,Description
a4b1e9f03c01,TRUE,TRUE,Printers,HP LaserJet Pro M404dn - Finance
00408c112233,TRUE,TRUE,IP-Cameras,Axis P3245 - Lobby
001a2b3c4d5e,TRUE,TRUE,Badge-Readers,HID Reader - Main Entrance

For environments where MAC addresses are not known in advance, ISE's profiling engine classifies endpoints automatically based on DHCP, HTTP, SNMP, and RADIUS attributes. Configure profiling and let ISE populate the identity groups dynamically.

ISE profiling classifies endpoints by analyzing network behaviors and attributes. For MAB environments, profiling determines what type of device is connected before authorization policy is applied.

Navigation: Administration > System > Deployment > [ISE Node] > Profiling Configuration

Enable:

RADIUS probe:     On  (receives RADIUS attributes for profiling)
DHCP probe:       On  (analyzes DHCP requests — hostname, vendor class ID, options)
HTTP probe:       On  (analyzes HTTP User-Agent from redirect or sensor)
SNMP probe:       On  (polls SNMP on endpoints — useful for network devices)
SNMP Trap probe:  On
DNS probe:        On

With profiling enabled, ISE builds an endpoint profile for each MAC address it sees. Common profiles relevant to MAB:

  • HP-Printer — matched by DHCP vendor class ID (HP JetDirect) and SNMP OID
  • Axis-Camera — matched by DHCP hostname pattern and HTTP User-Agent
  • Cisco-IP-Phone-8800 — matched by DHCP options, CDP (via SNMP), and RADIUS Calling-Station-Id OUI

The profiling engine assigns each endpoint a profiling policy. Use EndpointProfile as a condition in the authorization policy to match specific device types without requiring manual MAC address assignment.

Step 4: Allowed Protocols for MAB

ISE uses a specific Allowed Protocols configuration for MAB. The built-in MAB Allowed Protocols list is configured for this purpose:

Navigation: Policy > Policy Elements > Results > Authentication > Allowed Protocols

The built-in MAB Allowed Protocols allows only PAP/ASCII (which is how the MAC address password is sent). Do not use the same Allowed Protocols list for MAB and 802.1X — keep them separate. ISE recognizes MAB by the Service-Type: Call Check attribute, and the Authentication Policy routes these requests to the MAB rule.

Step 5: Authentication Policy for MAB

Navigation: Policy > Policy Sets > Default > Authentication Policy

Rule Name:     Wired_MAB
Priority:      2  (below the Dot1X rule)
Conditions:
  - Wired_MAB  (built-in compound condition: NAS-Port-Type EQUALS Ethernet
                AND Radius:Service-Type EQUALS Call Check)
Use (Allowed Protocols): MAB
Use (Identity Source):   Internal Endpoints
Options:
  If user not found:      Continue  (allow unknown MACs to reach authorization policy)
  If process failed:      Drop

If user not found: Continue — critical for MAB. Unlike 802.1X where an unknown user should be rejected, MAB should continue to the authorization policy even when the MAC is not in the Internal Endpoints database. The authorization policy then decides whether to deny, place in Guest VLAN, or apply a limited-access profile. If you set this to Reject, every unregistered MAC receives an Access-Reject instead of going through authorization policy evaluation.

Step 6: Authorization Policy for MAB

Navigation: Policy > Policy Sets > Default > Authorization Policy

Rule Name:     MAB_Printers
Priority:      10
Conditions:
  - Network_Access:AuthenticationMethod EQUALS PAP_ASCII
  - AND: Endpoint:IdentityGroup EQUALS Printers
  - OR: EndpointProfile EQUALS HP-Printer
Authorization Profile: VLAN10_Corp_Data  (with printer-specific dACL if needed)

Rule Name:     MAB_IP_Cameras
Priority:      11
Conditions:
  - Network_Access:AuthenticationMethod EQUALS PAP_ASCII
  - AND: Endpoint:IdentityGroup EQUALS IP-Cameras
  - OR: EndpointProfile EQUALS Axis-Camera
Authorization Profile: VLAN10_Corp_Data  (cameras on dedicated camera VLAN in production)

Rule Name:     MAB_Badge_Readers
Priority:      12
Conditions:
  - Network_Access:AuthenticationMethod EQUALS PAP_ASCII
  - AND: Endpoint:IdentityGroup EQUALS Badge-Readers
Authorization Profile: VLAN10_Corp_Data  (badge readers on dedicated security VLAN)

Rule Name:     MAB_Unknown_Endpoint
Priority:      20
Conditions:
  - Network_Access:AuthenticationMethod EQUALS PAP_ASCII
  - AND: Endpoint:IdentityGroup NOT EQUALS Printers
  - AND: Endpoint:IdentityGroup NOT EQUALS IP-Cameras
  - AND: Endpoint:IdentityGroup NOT EQUALS Badge-Readers
Authorization Profile: VLAN30_Guest

Rule Name:     MAB_Deny_Unlisted
Priority:      25  (before Default_Deny, explicit deny for unknown MAB with no group)
Conditions:
  - Network_Access:AuthenticationMethod EQUALS PAP_ASCII
Authorization Profile: DenyAccess

The condition Network_Access:AuthenticationMethod EQUALS PAP_ASCII is the reliable way to identify MAB sessions in the authorization policy. It pins the rule to sessions where the authentication was PAP — the mechanism used by MAB — rather than 802.1X EAP.

The MAB_Unknown_Endpoint rule places endpoints with registered MACs (in Internal Endpoints) but no assigned identity group into Guest VLAN 30. These are known-but-unclassified endpoints — they exist in the database but haven't been assigned to a device-type group. The Guest VLAN provides limited access while the administrator reviews and categorizes the endpoint.

The MAB_Deny_Unlisted rule catches MAC addresses that are not in the Internal Endpoints database at all (new, unregistered devices). These receive Access-Reject. In an open enrollment environment, you might replace this with a Guest VLAN profile to allow unregistered devices temporary access.


Configuring MAB MAC Address Format on ISE

IOS XE 17.9.x sends the MAC address in the User-Name attribute as lowercase with no delimiters: a4b1e9f03c01. ISE must be configured to accept this format.

Navigation: Administration > Identity Management > External Identity Sources > [Not applicable — this is in ISE global settings]

Navigation: Administration > System > Settings > Protocols > RADIUS

Under MAC Address Normalization:

Endpoint MAC Address Normalization: Enabled
Format:                             No Delimiter (aabbccddeeff)
Case:                               Lowercase

Confirm this matches what the switch sends. Mismatched MAC formats cause ISE to not find the endpoint in its database even when the MAC is correctly registered. The Calling-Station-Id attribute (which uses AA-BB-CC-DD-EE-FF format by default) is used for endpoint lookup by the profiling engine; the User-Name attribute is what ISE uses for the identity store lookup.


Verifying MAB Authentication

C9300# show authentication sessions interface GigabitEthernet1/0/12 details

            Interface:  GigabitEthernet1/0/12
               IIF-ID:  0x3G7D9E5F
          MAC Address:  a4b1.e9f0.3c01
         IPv4 Address:  10.0.10.201
           User-Name:  a4b1e9f03c01
              Status:  Authorized
              Domain:  DATA
      Oper host mode:  multi-auth
    Oper control dir:  both
     Session timeout:  28800s (server), Remaining: 28741s
  Common Session ID:  0A006301000001C6F4F56G30

Server Policies:
            Vlan Group:  Vlan: 10

Method status list:
       Method           State
       mab              Authc Success

Key verification points:

  • User-Name: a4b1e9f03c01 — the MAC address in lowercase no-delimiter format, confirming MAB authenticated this session (not dot1x)
  • Method: mab / Authc Success — MAB is the authentication method, not dot1x
  • Status: Authorized — ISE returned Access-Accept for this MAC
  • Vlan Group: Vlan: 10 — ISE assigned VLAN 10 via the Printers authorization rule
C9300# show authentication sessions

 Interface    MAC Address     Method   Domain   Status         Fg  Session ID
 Gi1/0/1      a4b1.e9f0.3c22  dot1x    DATA     Auth               0A006301000001B4
 Gi1/0/12     a4b1.e9f0.3c01  mab      DATA     Auth               0A006301000001C6
 Gi1/0/24     0040.8c11.2233  mab      DATA     Auth               0A006301000001C7
 Gi1/0/36     001a.2b3c.4d5e  mab      DATA     Auth               0A006301000001C8

The Method column clearly shows which ports are using dot1x vs. MAB. Any port showing mab in the Method column is depending on MAC address authentication, which is a weaker security posture than 802.1X.

On ISE — Live Logs

Navigation: Operations > RADIUS > Live Logs

Status:              Authentication Succeeded
Username:            a4b1e9f03c01
MAC Address:         A4:B1:E9:F0:3C:01
NAS-IP:              10.0.99.1
NAS-Port:            GigabitEthernet1/0/12
Auth Policy:         Wired_MAB
Authz Policy:        MAB_Printers
Authz Profile:       VLAN10_Corp_Data
Authentication:      MAB
Endpoint Profile:    HP-Printer (from profiling)
Identity Group:      Printers

The Endpoint Profile: HP-Printer field shows that ISE's profiling engine classified this MAC as an HP Printer, which triggered the MAB_Printers authorization rule via the EndpointProfile EQUALS HP-Printer condition.


MAB in Monitor Mode vs. Closed Mode

The behavior of MAB changes significantly based on the deployment mode on the switch port. In monitor mode (ports default to authorized and authentication runs without enforcement), MAB may not be the right mechanism at all — all traffic passes regardless of authentication result. In closed mode (default deny, only authenticated sessions pass traffic), MAB is the critical fallback for non-supplicant devices. See [Article 26: Monitor Mode vs Low-Impact Mode vs Closed Mode: Choosing Your 802.1X Deployment Strategy] for a full comparison of deployment modes and when each is appropriate.


Troubleshooting

Symptom: Non-supplicant device connects but is never authorized via MAB — show authentication sessions shows the port in connecting state indefinitely.
Cause: mab is not configured on the interface, or the authentication order does not include mab. The switch waits for dot1x indefinitely.
Fix: Verify mab appears in the interface configuration with show run interface GigabitEthernet1/0/12. Also confirm authentication order dot1x mab includes mab. If mab is configured but not triggering, check that dot1x timeout tx-period and dot1x max-reauth-req are set to values that allow reasonable wait time before MAB begins. With tx-period 30 and max-reauth-req 2, MAB does not start for 60 seconds.

Symptom: ISE Live Logs show MAB authentication as "User not found in Internal Endpoints" and the Authorization Policy falls to Default_Deny, even though the MAC is registered in ISE.
Cause: MAC address format mismatch. The switch sends the MAC in aabbccddeeff format but ISE has the MAC registered as AA:BB:CC:DD:EE:FF or AA-BB-CC-DD-EE-FF. ISE's string comparison for endpoint lookup is exact.
Fix: Navigate to Administration > Identity Management > Identities > Endpoints and search for the MAC. Check the stored format. Under Administration > System > Settings > Protocols > RADIUS, verify MAC Address Normalization is enabled and matches the switch's transmission format. Alternatively, re-add the endpoint in the correct format and retest.

Symptom: MAB authenticates the device but places it in Guest VLAN 30 instead of the correct device VLAN — the device is in the Printers identity group.
Cause: The Authorization Policy MAB_Printers rule is not matching. The condition on the rule may use Endpoint:IdentityGroup EQUALS Printers but the ISE identity group name has a different case or parent path, causing a condition evaluation mismatch.
Fix: In ISE Live Logs, expand the authentication event and review the Other Attributes section — look for Endpoint-Profile, EndpointGroup, and IdentityGroup attribute values. Compare these exact strings to the conditions in your Authorization Policy. ISE condition matching is case-sensitive for string comparisons. Also confirm the endpoint's Identity Group assignment is static (not dynamic) if you assigned it manually — dynamic profiling-based assignment can be overridden if the profiling engine reclassifies the endpoint.

Symptom: A laptop with its MAC address spoofed to match a registered printer MAC passes MAB authentication and receives printer-level network access.
Cause: This is the inherent limitation of MAB. MAC address spoofing is trivial and ISE cannot differentiate a spoofed MAC from a legitimate device MAC through MAB alone.
Fix: This is a design issue, not a configuration bug. Mitigations: (1) Use ISE profiling to verify the endpoint's behavior matches the expected device type — a laptop spoofing a printer MAC will have different DHCP vendor class, HTTP User-Agent, and SNMP characteristics. ISE can trigger a CoA to change the authorization if the profiling result changes. (2) Use VLAN segmentation to restrict what MAB-authenticated devices can reach — printers should only be on a printer VLAN with restricted firewall rules. (3) For high-security ports, disable MAB fallback and require 802.1X for all devices.


What's Next: [Article 13: 802.1X Authentication Host Modes: Single-Host, Multi-Host, Multi-Domain, Multi-Auth] — a detailed comparison of all four host modes on Cisco IOS XE, with configuration examples for each and guidance on which mode to use for access ports, IP phone ports, and shared device ports.

© 2025 Ping Labz. All rights reserved.