Introducción
El documento describe el seguimiento de dispositivos IP (IPDT) y cómo desactivarlo y verificar su funcionamiento.
Descripción general de IPDT
Definición y uso
La tarea principal de IPDT es realizar un seguimiento de los hosts conectados (asociación de direcciones MAC e IP). Para hacer esto, envía sondas de protocolo de resolución de direcciones unicast (ARP) con un intervalo predeterminado de 30 segundos; estas sondas se envían a la dirección MAC del host conectado en el otro lado del link, y utilizan la capa 2 (L2) como origen predeterminado la dirección MAC de la interfaz física de la que sale el ARP y una dirección IP del remitente 0.0.0.0, basada en la definición de sonda ARP enumerada en el RFC 5227 extraído aquí:
En este documento, el término 'sonda ARP' se utiliza para hacer referencia a un paquete de solicitud ARP, transmitido en el link local, con una 'dirección IP del remitente' de cero. La 'dirección de hardware del remitente' DEBE contener la dirección de hardware de la interfaz que envía el paquete. El campo 'dirección IP del remitente' DEBE configurarse en todos los ceros, para evitar contaminar las memorias caché ARP en otros hosts del mismo link en el caso de que la dirección resulte estar ya en uso por otro host. El campo 'dirección IP de destino' DEBE estar configurado en la dirección que se está sondeando. Una sonda ARP transmite tanto una pregunta ("¿Alguien está usando esta dirección?") como una afirmación implícita ("Esta es la dirección que espero utilizar").
El propósito de IPDT es que el switch obtenga y mantenga una lista de dispositivos que están conectados al switch a través de una dirección IP. La sonda no rellena la entrada de seguimiento; simplemente se utiliza para mantener la entrada en la tabla después de que se aprenda a través de una solicitud/respuesta ARP del host.
IP ARP Inspection se habilita automáticamente cuando IPDT está habilitado; detecta la presencia de nuevos hosts cuando monitorea los paquetes ARP. Si se habilita la inspección ARP dinámica, sólo se utilizan los paquetes ARP que valida para detectar nuevos hosts para la tabla Seguimiento de Dispositivos.
La función IP DHCP Snooping, si está activada, detecta la presencia o eliminación de nuevos hosts cuando DHCP asigna o revoca sus direcciones IP.
IPDT es una función que siempre ha estado disponible. Sin embargo, en las versiones más recientes de Cisco IOS®, sus interdependencias están habilitadas de forma predeterminada (consulte Cisco bug ID CSCuj04986). Puede ser extremadamente útil cuando se utiliza su base de datos de asociaciones de hosts IP/MAC para rellenar la IP de origen de las listas de control de acceso dinámicas (ACL) o para mantener un enlace de una dirección IP a una etiqueta de grupo de seguridad.
La sonda ARP se envía en dos circunstancias:
- El link asociado a una entrada actual en la base de datos IPDT pasa de un estado DOWN a uno UP y la entrada ARP se ha rellenado.
- Un enlace que ya se encuentra en el estado UP y que está asociado a una entrada de la base de datos IPDT tiene un intervalo de sonda vencido.
Problema conocido
La sonda 'keepalive' enviada por el switch es una verificación L2. Como tal, desde el punto de vista del switch, las direcciones IP utilizadas como origen en los ARP no son importantes: esta función se puede utilizar en dispositivos sin dirección IP configurada en absoluto, por lo que el origen IP de 0.0.0.0 no es relevante.
Cuando el host recibe estos mensajes, responde y rellena el campo IP de destino con la única dirección IP disponible en el paquete recibido, que es su propia dirección IP. Esto puede causar falsas alertas de direcciones IP duplicadas, porque el host que responde ve su propia dirección IP como el origen y el destino del paquete; consulte Dirección IP duplicada 0.0.0.0. Artículo Solución de problemas de mensajes de error para obtener más información sobre el escenario de direcciones IP duplicadas.
Estado predeterminado y funcionamiento
Es importante observar que, incluso si el IPDT se habilita globalmente, eso no implica necesariamente que el IPDT monitoree activamente un puerto determinado. En las versiones en las que IPDT siempre está activo y en las que IPDT se puede activar o desactivar globalmente, cuando IPDT se habilita globalmente, otras funciones determinan realmente si está activo en una interfaz específica (consulte la sección Áreas de Funcionalidad).
Áreas de funcionalidad
IPDT y sus sondas ARP enviadas desde una interfaz dada se utilizan para estas funciones:
- Protocolo de servicios de movilidad de red (NMSP), versiones 3.2.0E, 15.2(1)E, 3.5.0E y posteriores
- Sensor de dispositivos, versiones 15.2(1)E, 3.5.0E y posteriores
- 1X, desviación de autenticación MAC (MAB), administrador de sesiones
- Autenticación basada en Web
- Auth-proxy
- Gateway de servicios IP (IPSG) para hosts estáticos
- Flexible NetFlow
- Cisco TrustSec (CTS)
- Seguimiento de medios
- Redireccionamiento HTTP
Desactivar IPDT
En las versiones en las que IPDT no está habilitado de forma predeterminada, IPDT se puede desactivar globalmente con este comando:
# no ip device tracking
En las versiones en las que IPDT está siempre activo, el comando anterior no está disponible o no le permite inhabilitar IPDT (ID de bug Cisco CSCuj04986). En este caso, hay varias maneras de asegurar que IPDT no monitoree un puerto específico o que no genere alertas IP duplicadas.
Ingrese el comando ip device track probe delay 10
Este comando no permite que un switch envíe una sonda durante 10 segundos cuando detecta un link UP/flap, lo que minimiza la posibilidad de que se envíe la sonda mientras el host del otro lado del link verifica si hay direcciones IP duplicadas. El RFC especifica una ventana de 10 segundos para la detección de direcciones duplicadas, de modo que si demora la sonda de seguimiento del dispositivo, el problema se puede resolver en la mayoría de los casos.
Si el switch envía una sonda ARP para el cliente mientras el host (por ejemplo, un PC de Microsoft Windows) está en su fase de detección de dirección duplicada, el host detecta la sonda como una dirección IP duplicada y presenta al usuario un mensaje de que se ha encontrado una dirección IP duplicada en la red. Es posible que el PC no obtenga una dirección y que el usuario deba liberar/renovar manualmente la dirección, desconectar y volver a conectarse a la red o reiniciar el PC para obtener acceso a la red.
Además del retraso de sonda, el retraso también se restablece cuando el switch detecta una sonda del PC/host. Por ejemplo, si el temporizador de sonda se ha reducido a cinco segundos y detecta una sonda ARP del PC/host, el temporizador se restablece a 10 segundos.
Esta configuración se ha puesto a disposición a través del ID de bug de Cisco CSCtn27420.
Ingrese la sonda de seguimiento del dispositivo ip use-svi. . . Comando
Con este comando, puede configurar el switch para enviar una sonda ARP no compatible con RFC; el origen IP no será 0.0.0.0, pero será la interfaz virtual del switch (SVI) en la VLAN donde reside el host. Las máquinas de Microsoft Windows ya no ven la sonda como una sonda definida por RFC 5227 y no marcan una IP duplicada potencial.
Ingrese el comando ip device track probe auto-source [fallback <host-ip> <mask>] [override]
Para los clientes que no tienen dispositivos finales predecibles/controlables o para aquellos que tienen muchos switches en una función de solo L2, la configuración de una SVI, que introduce una variable de Capa 3 en el diseño, no es una solución adecuada. Una mejora introdujo, en la versión 15.2(2)E y posteriores, la posibilidad de permitir la asignación arbitraria de una dirección IP que no necesita pertenecer al switch para ser utilizada como la dirección de origen en sondas ARP generadas por IPDT. Esta mejora introduce la posibilidad de modificar el comportamiento automático del sistema de estas maneras (esta lista muestra cómo se comporta automáticamente el sistema después de utilizar cada comando):
Ingrese el comando ip device track probe auto-source
- Establezca el origen en VLAN SVI si está presente.
- Busque un par de origen/MAC en la tabla de host IP para la misma subred.
- Envíe el origen de IP cero como en el caso predeterminado.
Ingrese el comando ip device track probe auto-source fallback 0.0.0.1 255.255.255.0
- Establezca el origen en VLAN SVI si está presente.
- Busque un par de origen/MAC en la tabla de host IP para la misma subred.
- Calcule la IP de origen de la IP de destino con la máscara y el bit de host proporcionados.
Ingrese el comando de reemplazo de la sonda de seguimiento del dispositivo ip auto-source 0.0.0.1 255.255.255.0
- Establezca el origen en VLAN SVI si está presente.
- Calcule la IP de origen de la IP de destino con la máscara y el bit de host proporcionados.
Nota: Un reemplazo hace que omita la búsqueda de una entrada en la tabla.
Como ejemplo de los cálculos anteriores, suponga que usted sondeó el host 192.168.1.200. Con la máscara y los bits de host proporcionados, genera una dirección de origen de 192.168.1.1.
Si sondea la entrada 10.5.5.20, generaría una sonda ARP con la dirección de origen 10.5.5.1, y así sucesivamente.
Ingrese el comando ip device track maximum 0
Este comando no inhabilita realmente IPDT, pero limita el número de hosts de seguimiento a cero. Esta no es una solución recomendada y debe usarse con precaución, ya que afecta a todas las demás funciones que dependen de IPDT, que incluye la configuración de canales de puerto como se describe en el Id. de error de Cisco CSCun81556.
Desactivar las funciones activas que activan IPDT
Algunas funciones que podrían activar IPDT incluyen NMSP, sensor de dispositivos, dot1x/MAB, WebAuth e IPSG. Esta solución está reservada para las situaciones más difíciles o complejas, en las que todas las soluciones disponibles anteriormente no funcionaban como se esperaba o creaban problemas adicionales. Esta es, sin embargo, la única solución que permite una granularidad extrema cuando inhabilita IPDT, porque puede desactivar solamente las características relacionadas con IPDT que causan problemas y dejar todo lo demás sin afectar.
En las versiones más recientes de Cisco IOS, 15.2(2)E y posteriores, verá un resultado similar a este:
Switch#show ip device tracking interface gig 1/0/9
--------------------------------------------
Interface GigabitEthernet1/0/9 is: STAND ALONE
IP Device Tracking = Disabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 180000
IPv6 Device Tracking Client Registered Handle: 75
IP Device Tracking Enabled Features:
HOST_TRACK_CLIENT_ATTACHMENT
HOST_TRACK_CLIENT_SM
Las dos líneas en todas las tapas de la parte inferior del resultado son las que utilizan IPDT para funcionar. La mayoría de los problemas creados cuando inhabilita el seguimiento del dispositivo se pueden evitar si inhabilita los servicios únicos que se ejecutan en la interfaz.
En versiones anteriores de Cisco IOS, esta forma 'fácil' de saber qué módulos están habilitados bajo una interfaz todavía no está disponible, por lo que debe pasar por un proceso más involucrado para obtener los mismos resultados. Debe activar debug ip device track interface, que es un registro de baja frecuencia que debería ser seguro en la mayoría de las configuraciones. Tenga cuidado de no activar el seguimiento del dispositivo ip debug all porque, por el contrario, inunda la consola en situaciones de escala.
Una vez que la depuración está activada, vuelva a colocar una interfaz en el valor predeterminado y, a continuación, agregue y elimine un servicio IPDT de la configuración de la interfaz. Los resultados de las depuraciones le indican qué servicio se ha habilitado/inhabilitado con el comando que utilizó.
Aquí tiene un ejemplo:
Switch(config)#int gig 1/0/9
Switch(config-if)#ip device track max 10
Switch(config-if)#
*Mar 27 09:58:49.470: sw_host_track-interface:Feature 00000008 enabled on port
Gi1/0/9, mask now 0000004C, 65 ports enabled
*Mar 27 09:58:49.471: sw_host_track-interface:Gi1/0/9[L2 DOWN, IPHOST DIS]IP
host tracking max set to 10
Switch(config-if)#
Lo que revela el resultado es que usted habilitó la función 0000008, y que la máscara de la nueva característica es 0000004C.
Ahora, elimine la configuración que acaba de agregar:
Switch(config-if)#no ip device track max 10
Switch(config-if)#
*Mar 27 10:02:31.154: sw_host_track-interface:Feature 00000008 disabled on port
Gi1/0/9, mask now 00000044, 65 ports enabled
*Mar 27 10:02:31.154: sw_host_track-interface:Gi1/0/9[L2 DOWN, IPHOST DIS]IP
host tracking max cleared
*Mar 27 10:02:31.154: sw_host_track-interface:Max limit has been removed from
the interface GigabitEthernet1/0/9.
Switch(config-if)#
Una vez que elimina la función 0000008, puede ver la máscara 00000044, que debe haber sido la máscara predeterminada original. Este valor de 0000044 se espera ya que AIM es 0x00000004 y SM es 0x00000040, lo que juntos resulta en 0x000004 4.
Hay varios servicios IPDT que pueden ejecutarse bajo una interfaz:
Servicio IPDT |
Interfaz |
HOST_TRACK_CLIENT_IP_ADMISSIONS |
= 0x00000001 |
HOST_TRACK_CLIENT_DOT1X |
= 0x00000002 |
HOST_TRACK_CLIENT_ATTACHMENT |
= 0x00000004 |
HOST_TRACK_CLIENT_TRACK_HOST_UPTO_MAX |
= 0x00000008 |
HOST_TRACK_CLIENT_RSVP |
= 0x0000010 |
HOST_TRACK_CLIENT_CTS |
= 0x0000020 |
HOST_TRACK_CLIENT_SM |
= 0x00000040 |
HOST_TRACK_CLIENT_WIRELESS |
= 0x0000080 |
En el ejemplo, los módulos HOST_TRACK_CLIENT_SM (SESSION-MANAGER) y HOST_TRACK_CLIENT_ATTACHMENT (también conocidos como AIM/NMSP) se configuran para IPDT. Para desactivar IPDT en esta interfaz, debe inhabilitar ambos, porque IPDT está inhabilitado SOLAMENTE cuando todas las funciones que lo utilizan también están inhabilitadas.
Después de inhabilitar estas funciones, tiene un resultado similar al siguiente:
Switch(config-if)#do show ip dev trac int gig 1/0/9
--------------------------------------------
Interface GigabitEthernet1/0/9 is: STAND ALONE
IP Device Tracking = Disabled IPDT is disabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 180000
IP Device Tracking Enabled Features:
? No active features
--------------------------------------------
De esta manera, IPDT se inhabilita con más granularidad.
A continuación se muestra un ejemplo de los comandos utilizados para inhabilitar algunas de las funciones que se discutieron anteriormente:
- nmsp attach suppress
- no macro auto monitor
Nota: La última función sólo debe estar disponible en las plataformas que admiten puertos inteligentes (presentación de SmartPort Flash), que se utilizan para habilitar funciones y configuraciones basadas en la ubicación de un switch en la red y para implementaciones de configuración masiva en toda la red.
Verificación de la Operación IPDT
Utilice estos comandos para verificar el estado IPDT en su dispositivo:
- show ip device track ...
Este comando muestra las interfaces en las que se habilita IPDT y en las que actualmente se realiza un seguimiento de las asociaciones MAC/IP/interfaz.
- clear ip device track ...
Este comando borra las entradas relacionadas con IPDT.
Nota: El switch envía sondas ARP a los hosts que fueron eliminados. Si hay un host presente, responde a la sonda ARP y el switch agrega una entrada IPDT para el host. Debe inhabilitar las sondas ARP antes del comando clear IPDT; de esta manera, todas las entradas ARP deben desaparecer. Si las sondas ARP se habilitan después del comando clear ip device track, todas las entradas vuelven a aparecer.
- debug ip device track ...
Este comando le permite recopilar depuraciones para mostrar la actividad IPDT en tiempo real.