Introducción
Este documento describe cómo configurar Identity Based Networking Services 2.0 (IBNS) para escenarios de un solo host y varios dominios.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Protocolo de autenticación extensible sobre la red de área local (EAPoL)
- protocolo Radius
- Cisco Identity Services Engine versión 2.0
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Parche 2 de Cisco Identity Service Engine versión 2.0
- Terminal con SO Windows 7
- Switch Cisco 3750X con Cisco IOS® 15.2(4)E1
- Switch Cisco 3850 con 03.02.03.SE
- Cisco IP Phone 9971
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Configurar
Teoría de configuración
Para habilitar IBNS 2.0, debe ejecutar el comando en el modo de privilegio en su switch de Cisco:
#authentication display new-style
Configure el puerto de switch para IBNS 2.0 con los comandos como se muestra:
access-session host-mode {single-host | multi-domain | multi-auth | multi-host}
access-session port-control auto
dot1x pae authenticator
{mab}
service-policy type control subscriber TEST
Estos comandos habilitan la autenticación dot1x y, opcionalmente, la derivación de autenticación MAC (MAB) en la interfaz. Cuando utiliza la nueva sintaxis, utiliza comandos que comienzan con access-session. El propósito de estos comandos es el mismo que para los comandos que utilizan sintaxis antigua (comenzando con la palabra clave authentication). Aplique service-policy para especificar policy-map que se puede utilizar para la interfaz.
El policy-map mencionado define el comportamiento del switch (autenticador) durante la autenticación. Por ejemplo, puede especificar lo que puede suceder en caso de que falle la autenticación. Para cada evento puede configurar varias acciones basadas en el tipo de evento coincidente en el mapa de clase configurado bajo él. Como ejemplo, eche un vistazo a la lista como se muestra (policy-map TEST4). Si falla el punto final dot1x, que está conectado a la interfaz donde se aplica esta política, se ejecuta la acción definida en DOT1X_FAILED. Si desea especificar el mismo comportamiento para clases como MAB_FAILED y DOT1X_FAILED, puede utilizar class - class-map always predeterminado.
policy-map type control subscriber TEST4
(...)
event authentication-failure match-first
10 class DOT1X_FAILED do-until-failure
10 terminate dot1x
(...)
40 class always do-until-failure
10 terminate mab
20 terminate dot1x
30 authentication-restart 60
(...)
El policy-map utilizado para IBNS 2.0 siempre debe tener un suscriptor de control de tipo.
Puede ver la lista de eventos disponibles de esta manera:
Switch(config-event-control-policymap)#event ?
aaa-available aaa-available event
absolute-timeout absolute timeout event
agent-found agent found event
authentication-failure authentication failure event
authentication-success authentication success event
authorization-failure authorization failure event
authorization-success authorization success event
identity-update identity update event
inactivity-timeout inactivity timeout event
remote-authentication-failure authentication failure event
remote-authentication-success authentication remote success event
remote-update update from remote device
session-disconnected session disconnected event
session-started session started event
tag-added tag to apply event
tag-removed tag to remove event
template-activated template activated event
template-activation-failed template activation failed event
template-deactivated template deactivated event
template-deactivation-failed template deactivation failed event
timer-expiry timer-expiry event
violation session violation event
En la configuración de eventos, tiene la posibilidad de definir cómo se pueden evaluar las clases:
Switch(config-event-control-policymap)#event authentication-failure ?
match-all Evaluate all the classes
match-first Evaluate the first class
Puede definir opciones similares para los class-maps, aunque aquí puede especificar cómo se pueden ejecutar las acciones en caso de que su clase coincida:
Switch(config-class-control-policymap)#10 class always ?
do-all Execute all the actions
do-until-failure Execute actions until one of them fails
do-until-success Execute actions until one of them is successful
La última parte (opcional) de la configuración del nuevo estilo dot1x es class-map. También puede escribir el suscriptor de control y se utiliza para hacer coincidir un comportamiento o tráfico específico. Configure los requisitos para la evaluación de la condición del mapa de clase. Puede especificar que todas las condiciones deben coincidir, que cualquier condición debe coincidir o que ninguna de las condiciones coincide.
Switch(config)#class-map type control subscriber ?
match-all TRUE if everything matches in the class-map
match-any TRUE if anything matches in the class-map
match-none TRUE if nothing matches in the class-map
Este es un ejemplo de class-map utilizado para la coincidencia de la falla de autenticación dot1x:
class-map type control subscriber match-all DOT1X_FAILED
match method dot1x
match result-type method dot1x authoritative
Para algunos escenarios, principalmente cuando la plantilla de servicio está en uso, debe agregar la configuración para el cambio de autorización (CoA):
aaa server radius dynamic-author
client 10.48.17.232 server-key cisco
Escenario para host único
Diagrama de la red
Configuraciones
Configuración básica de 802.1X necesaria para el escenario de host único probado en Catalyst 3750X con Cisco IOS 15.2(4)E1. Situación probada con Windows Native Supplicant y Cisco AnyConnect.
aaa new-model
!
aaa group server radius tests
server name RAD-1
!
aaa authentication dot1x default group tests
aaa authorization network default group tests
!
dot1x system-auth-control
!
policy-map type control subscriber TEST
event session-started match-all
10 class always do-until-failure
10 authenticate using dot1x priority 10
!
interface GigabitEthernet1/0/21
switchport access vlan 613
switchport mode access
access-session host-mode single-host
access-session port-control auto
dot1x pae authenticator
service-policy type control subscriber TEST
!
radius server RAD-1
address ipv4 10.48.17.232 auth-port 1812 acct-port 1813
key cisco
Situación para varios dominios
Diagrama de la red
Configuraciones
El escenario de múltiples dominios se probó en Catalyst 3850 con Cisco IOS 03.02.03.SE debido a los requisitos de PoE (alimentación a través de Ethernet) para el teléfono IP (Cisco IP Phone 9971).
aaa new-model
!
aaa group server radius tests
server name RAD-1
!
aaa authentication dot1x default group tests
aaa authorization network default group tests
!
aaa server radius dynamic-author
client 10.48.17.232 server-key cisco
!
dot1x system-auth-control
!
class-map type control subscriber match-all DOT1X
match method dot1x
!
class-map type control subscriber match-all DOT1X_FAILED
match method dot1x
match result-type method dot1x authoritative
!
class-map type control subscriber match-all DOT1X_NO_RESP
match method dot1x
match result-type method dot1x agent-not-found
!
class-map type control subscriber match-all MAB
match method mab
!
class-map type control subscriber match-all MAB_FAILED
match method mab
match result-type method mab authoritative
!
policy-map type control subscriber TEST4
event session-started match-all
10 class always do-until-failure
10 authenticate using dot1x priority 10
20 authenticate using mab priority 20
event authentication-failure match-first
10 class DOT1X_FAILED do-until-failure
10 terminate dot1x
20 class MAB_FAILED do-until-failure
10 terminate mab
20 authenticate using dot1x priority 10
30 class DOT1X_NO_RESP do-until-failure
10 terminate dot1x
20 authentication-restart 60
40 class always do-until-failure
10 terminate mab
20 terminate dot1x
30 authentication-restart 60
event agent-found match-all
10 class always do-until-failure
10 terminate mab
20 authenticate using dot1x priority 10
event authentication-success match-all
10 class always do-until-failure
10 activate service-template DEFAULT_LINKSEC_POLICY_SHOULD_SECURE
!
interface GigabitEthernet1/0/1
switchport access vlan 613
switchport mode access
switchport voice vlan 612
access-session host-mode multi-domain
access-session port-control auto
mab
dot1x pae authenticator
spanning-tree portfast
service-policy type control subscriber TEST4
!
radius-server attribute 6 on-for-login-auth
radius-server attribute 8 include-in-access-req
radius-server attribute 25 access-request include
radius-server vsa send cisco-nas-port
!
radius server RAD-1
address ipv4 10.48.17.232 auth-port 1812 acct-port 1813
key cisco
Verificación
Utilize esta sección para confirmar que su configuración funcione correctamente.
Para fines de verificación, utilice este comando para enumerar las sesiones de todos los puertos de switch:
show access-session
También puede ver información detallada sobre las sesiones desde un solo puerto de switch:
show access-session interface [Gi 1/0/1] {detail}
Troubleshoot
En esta sección se brinda información que puede utilizar para resolver problemas en su configuración.
Para resolver problemas relacionados con 802.1X, puede habilitar los debugs (a partir de Cisco IOS XE 16.3.2):
set platform software trace smd switch active R0 radius debug
set platform software trace smd switch active R0 dot1x-all debug
set platform software trace smd switch active R0 auth-mgr-all debug
set platform software trace smd switch active R0 epm-all debug
El comando show platform software trace level smd switch active R0 muestra las depuraciones activas actualmente.
Para inhabilitar los debugs, puede utilizar undebug all o set platform software trace smd switch active R0 <sub-component> Notice.
Para mostrar los registros generados, puede utilizar el comando: show platform software trace message smd switch active R0.
En el IOS de Cisco anterior, puede habilitar los debugs usando comandos heredados:
debug mab all
debug dot1x all
debug pre all*
* Opcionalmente, para debug pre, puede utilizar solamente eventos y/o reglas para limitar la salida a la información relevante de IBNS 2.0.