IEEE 802.1X VLAN Assignment

The IEEE 802.1X VLAN Assignment feature is automatically enabled when IEEE 802.1X authentication is configured for an access port, which allows the RADIUS server to send a VLAN assignment to the device port. This assignment configures the device port so that network access can be limited for certain users.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Prerequisites for IEEE 802.1X VLAN Assignment

The following tasks must be completed before implementing the IEEE 802.1X VLAN Assignment feature:

  • IEEE 802.1X must be enabled on the device port.

  • The device must have a RADIUS configuration and be connected to the Cisco secure access control server (ACS). You should understand the concepts of the RADIUS protocol and have an understanding of how to create and apply access control lists (ACLs).

  • EAP support must be enabled on the RADIUS server.

  • You must configure the IEEE 802.1X supplicant to send an EAP-logoff (Stop) message to the switch when the user logs off. If you do not configure the IEEE 802.1X supplicant, an EAP-logoff message is not sent to the switch and the accompanying accounting Stop message is not sent to the authentication server. See the Microsoft Knowledge Base article at the location http:/​/​support.microsoft.com and set the SupplicantMode registry to 3 and the AuthMode registry to 1.

  • Authentication, authorization, and accounting (AAA) must be configured on the port for all network-related service requests. The authentication method list must be enabled and specified. A method list describes the sequence and authentication method to be queried to authenticate a user. See the IEEE 802.1X Authenticator feature module for information.

  • The port must be successfully authenticated.

The IEEE 802.1X VLAN Assignment feature is available only on Cisco 89x and 88x series integrated switching routers (ISRs) that support switch ports.

The following ISR-G2 routers are supported:

  • 1900

  • 2900

  • 3900

  • 3900e

The following cards or modules support switch ports:

  • Enhanced High-speed WAN interface cards (EHWICs) with ACL support:

    • EHWIC-4ESG-P

    • EHWIC-9ESG-P

    • EHWIC-4ESG

    • EHWIC-9ESG

  • High-speed WAN interface cards (HWICs) without ACL support:

    • HWIC-4ESW-P

    • HWIC-9ESW-P

    • HWIC-4ESW

    • HWIC-9ES


Note


Not all Cisco ISR routers support all the components listed. For information about module compatibility with a specific router platform, see Cisco EtherSwitch Modules Comparison.


To determine whether your router has switch ports, use the show interfaces switchport command.

Restrictions for IEEE 802.1X VLAN Assignment

  • The IEEE 802.1X VLAN Assignment feature is available only on a switch port.

  • The device port is always assigned to the configured access VLAN when any of the following conditions occurs:
    • No VLAN is supplied by the RADIUS server.
    • The VLAN information from the RADIUS server is not valid.
    • IEEE 802.1X authentication is disabled on the port.
    • The port is in the force authorized, force unauthorized, unauthorized, or shutdown state.

Note


An access VLAN is a VLAN assigned to an access port. All packets sent from or received on this port belong to this VLAN.


  • Assignment to the configured access VLAN prevents ports from appearing unexpectedly in an inappropriate VLAN because of a configuration error. Examples of configuration errors include the following:
    • A nonexistent or malformed VLAN ID
    • Attempted assignment to a voice VLAN ID
  • When IEEE 802.1X authentication is enabled on a port, you cannot configure a port VLAN that is equal to a voice VLAN.

  • The IEEE 802.1X authentication with VLAN assignment feature is not supported on trunk ports, dynamic ports, or with dynamic-access port assignment through a VLAN Membership Policy Server (VMPS).

  • If the multihost mode is enabled on an IEEE 802.1X port, all hosts are placed in the same VLAN (specified by the RADIUS server) as the first authenticated host.

  • If an IEEE 802.1X port is authenticated and put in the RADIUS server-assigned VLAN, any change to the port access VLAN configuration does not take effect.

  • This feature does not support standard ACLs on the switch port.

Information About IEEE 802.1X VLAN Assignment

Configuring Authorization

The AAA authorization feature is used to determine what a user can and cannot do. When AAA authorization is enabled, the network access server uses information retrieved from the user’s profile, which is located either in the local user database or on the security server, to configure the user’s session. Once this is done, the user is granted access to a requested service only if the information in the user profile allows it.

IEEE 802.1X Authentication with VLAN Assignment

In Cisco IOS Release 12.4(11)T and later releases, the device ports support IEEE 802.1X authentication with VLAN assignment. After successful IEEE 802.1X authentication of a port, the RADIUS server sends the VLAN assignment to configure the device port.

The RADIUS server database maintains the username-to-VLAN mappings, assigning the VLAN based on the username of the supplicant connected to the device port.

How to Configure IEEE 802.1X VLAN Assignment

Enabling AAA Authorization for VLAN Assignment

AAA authorization limits the services available to a user. When AAA authorization is enabled, the device uses information retrieved from the user's profile, which is in the local user database or on the security server, to configure the user's session. The user is granted access to a requested service only if the information in the user profile allows it.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    aaa new-model

    4.    aaa authorization network radius if-authenticated

    5.    aaa authorization exec radius if-authenticated

    6.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3 aaa new-model


    Example:
    Device(config)# aaa new-model
     

    Enables AAA.

     
    Step 4 aaa authorization network radius if-authenticated


    Example:
    Device(config)# aaa authorization network radius if-authenticated 
     

    Configures the device for user RADIUS authorization for all network-related service requests. RADIUS authorization succeeds if the user has authenticated.

     
    Step 5aaa authorization exec radius if-authenticated


    Example:
    Device(config)# aaa authorization exec radius if-authenticated
     

    Configures the device for user RADIUS authorization if the user has privileged EXEC access. RADIUS authorization succeeds if the user has authenticated.

     
    Step 6end


    Example:
    Device(config)# end
     

    Exits global configuration mode and enters privileged EXEC mode.

     

    Enabling IEEE 802.1X Authentication and Authorization

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    aaa new-model

      4.    aaa authentication dot1x {default | listname} method1 [method2...]

      5.    dot1x system-auth-control

      6.    identity profile default

      7.    interface type slot/port

      8.    authentication port-control {auto | force-authorized | force-unauthorized}

      9.    dot1x pae [supplicant | authenticator | both]

      10.    end

      11.    show dot1x


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3 aaa new-model


      Example:
      Device(config)# aaa new-model
       

      Enables AAA.

       
      Step 4 aaa authentication dot1x {default | listname} method1 [method2...]


      Example:
      Device(config)# aaa authentication dot1x default group radius
       

      Creates a series of authentication methods that are used to determine user privilege to access the privileged command level so that the device can communicate with the AAA server.

       
      Step 5 dot1x system-auth-control


      Example:
      Device(config)# dot1x system-auth-control
       

      Globally enables 802.1X port-based authentication.

       
      Step 6 identity profile default


      Example:
      Device(config)# identity profile default
       

      Creates an identity profile and enters dot1x profile configuration mode.

       
      Step 7 interface type slot/port


      Example:
      Device(config-identity-prof)# interface fastethernet 0/1
       

      Enters interface configuration mode and specifies the interface to be enabled for 802.1X authentication.

       
      Step 8 authentication port-control {auto | force-authorized | force-unauthorized}


      Example:
      Device(config-if)# authentication port-control auto
       

      Enables 802.1X port-based authentication on the interface.

      • auto—Enables IEEE 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 changes from down to up or when an EAPOL-start frame is received. The router requests the identity of the supplicant and begins relaying authentication messages between the supplicant and the authentication server. Each supplicant attempting to access the network is uniquely identified by the router by using the supplicant MAC address.

      • force-authorized-—Disables IEEE 802.1X authentication and causes the port to change to the authorized state without any authentication exchange required. The port sends and receives normal traffic without IEEE 802.1X-based authentication of the client. This is the default setting.

      • force-unauthorized—Causes the port to remain in the unauthorized state, ignoring all attempts by the supplicant to authenticate. The router cannot provide authentication services to the supplicant through the port.

      Note   

      Effective with Cisco IOS Release 12.2(33)SXI, the authentication port-control command replaces the dot1xport-control command.

       
      Step 9 dot1x pae [supplicant | authenticator | both]


      Example:
      Device(config-if)# dot1x pae authenticator
       

      Sets the Port Access Entity (PAE) type.

      • supplicant—The interface acts only as a supplicant and does not respond to messages that are meant for an authenticator.

      • authenticator-—The interface acts only as an authenticator and does not respond to any messages meant for a supplicant.

      • both—The interface behaves both as a supplicant and as an authenticator and thus does respond to all dot1x messages.

       
      Step 10 end


      Example:
      Device(config-if)# end
       

      Exits interface configuration mode and enters privileged EXEC mode.

       
      Step 11 show dot1x


      Example:
      Device# show dot1x
       

      Displays whether 802.1X authentication has been configured on the device.

       

      Specifying an Authorized VLAN in the RADIUS Server Database

      The Internet Engineering Task Force (IETF) draft standard specifies a method for communicating vendor-specific information between the device and the RADIUS server by using the vendor-specific attribute (attribute 26). Vendor-specific attributes (VSAs) allow vendors to support their own extended attributes not suitable for general use. The Cisco RADIUS implementation supports one vendor-specific option by using the format recommended in the specification.

      • You must assign the following vendor-specific tunnel attributes in the RADIUS server database. The RADIUS server must return these attributes to the device:
        • [64] Tunnel-Type = VLAN
        • [65] Tunnel-Medium-Type = 802
        • [81] Tunnel-Private-Group-ID = VLAN name or VLAN ID

      Attribute [64] must contain the value “VLAN” (type 13). Attribute [65] must contain the value “802” (type 6). Attribute [81] specifies the VLAN name or VLAN ID assigned to the IEEE 802.1X-authenticated user.

      Configuration Example for IEEE 802.1X VLAN Assignment

      Example: Enabling AAA Authorization for VLAN Assignment

      The following example shows how to enable AAA Authorization for VLAN assignment:

      Device> enable
      Device# configure terminal
      Device(config)# aaa new-model
      Device(config)# aaa authorization network radius if-authenticated
      Device(config)# aaa authorization exec radius if-authenticated
      Device(config)# end

      Example: Enabling 802.1X Authentication

      The following example shows how to enable 802.1X authentication on a device:

      Device# configure terminal
      Device(config)# aaa new-model
      Device(config)# aaa authentication dot1x default group radius group radius
      Device(config)# dot1x system-auth-control
      Device(config)# interface fastethernet 1
      Device(config-if)# dot1x port-control auto
      

      The following show dot1x command output shows that 802.1X authentication has been configured on a device:

      Device# show dot1x all
      Sysauthcontrol              Enabled
      Dot1x Protocol Version            2
      Dot1x Info for FastEthernet1
      -----------------------------------
      PAE                       = AUTHENTICATOR
      PortControl               = AUTO
      ControlDirection          = Both 
      HostMode                  = MULTI_HOST
      ReAuthentication          = Enabled
      QuietPeriod               = 600
      ServerTimeout             = 60
      SuppTimeout               = 30
      ReAuthPeriod              = 1800 (Locally configured)
      ReAuthMax                 = 2
      MaxReq                    = 3
      TxPeriod                  = 60
      RateLimitPeriod           = 60

      Example: Specifying an Authorized VLAN in the RADIUS Server Database

      This example shows how to specify an authorized VLAN in the RADIUS server by assigning vendor-specific tunnel attributes:

      cisco-avpair= "tunnel-type(#64)=VLAN(13)"
      cisco-avpair= "tunnel-medium-type(#65)=802 media(6)"
      cisco-avpair= "tunnel-private-group-ID(#81)=vlanid"
      

      Additional References for IEEE 802.1X Port-Based Authentication

      Related Documents

      Related Topic

      Document Title

      Cisco IOS commands

      Cisco IOS Master Command List, All Releases

      Security commands

      Standards and RFCs

      Standard/RFC Title

      IEEE 802.1X

      Port Based Network Access Control

      RFC 3580

      IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines

      MIBs

      MIB

      MIBs Link

      • Cisco-PAE-MIB

      • IEEE8021-PAE-MIB

      To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

      http:/​/​www.cisco.com/​go/​mibs

      Technical Assistance

      Description

      Link

      The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

      http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

      Feature Information for IEEE 802.1X VLAN Assignment

      The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

      Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

      Table 1 Feature Information for IEEE 802.1X VLAN Assignment

      Feature Name

      Releases

      Feature Information

      IEEE Information for IEEE 802.1X VLAN Assignment

      The IEEE 802.1X VLAN Assignment feature is automatically enabled when IEEE 802.1X authentication is configured for an access port, which allows the RADIUS server to send a VLAN assignment to the device port. This assignment configures the device port so that network access can be limited for certain users.