소개
이 문서에서는 IPDT(IP Device Tracking) 및 IP 장치를 비활성화하고 해당 작업을 확인하는 방법에 대해 설명합니다.
IPDT 개요
정의 및 사용
기본 IPDT 작업은 연결된 호스트(MAC 및 IP 주소 연결)를 추적하는 것입니다. 이를 위해 기본 간격 30초로 유니캐스트 ARP(Address Resolution Protocol) 프로브를 전송합니다.이러한 프로브는 링크의 반대쪽에 연결된 호스트의 MAC 주소로 전송되며, RFC 5227에 나열된 ARP 프로브 정의를 기반으로, 레이어 2(L2)를 ARP가 이동하는 물리적 인터페이스의 MAC 주소와 0.0.0.0의 발신자 IP 주소로 기본 소스로 사용합니다.
이 문서에서 'ARP 프로브'라는 용어는 모든 0의 '발신자 IP 주소'를 사용하여 로컬 링크에서 브로드캐스트되는 ARP 요청 패킷을 참조하는 데 사용됩니다. '발신자 하드웨어 주소'는 패킷을 전송하는 인터페이스의 하드웨어 주소를 포함해야 합니다.주소가 다른 호스트에서 이미 사용 중인 것으로 확인되는 경우 동일한 링크의 다른 호스트에서 ARP 캐시를 오염시키지 않으려면 'sender IP address' 필드를 모두 0으로 설정해야 합니다.'대상 IP 주소' 필드는 조사 중인 주소로 설정해야 합니다.ARP 프로브는 질문("이 주소를 사용하는 사람이 있습니까?")과 암시적 문("이 주소를 사용하고자 하는 주소"입니다)을 모두 전달합니다.
IPDT의 목적은 스위치가 IP 주소를 통해 스위치에 연결된 장치 목록을 가져오고 유지 관리하는 것입니다.프로브가 추적 항목을 채우지 않습니다.호스트에서 ARP 요청/회신을 통해 학습된 후 테이블의 항목을 유지하기 위해 간단하게 사용됩니다.
IPDT가 활성화되면 IP ARP 검사가 자동으로 활성화됩니다.ARP 패킷을 모니터링할 때 새 호스트의 존재를 탐지합니다.동적 ARP 검사가 활성화된 경우, Device Tracking 테이블에 대한 새 호스트를 탐지하기 위해 검증하는 ARP 패킷만 사용됩니다.
IP DHCP Snooping이 활성화된 경우 DHCP가 IP 주소를 할당하거나 취소할 때 새 호스트의 존재 또는 제거를 탐지합니다.
IPDT는 항상 사용 가능한 기능입니다.그러나 최신 Cisco IOS® 릴리스에서 기본적으로 상호 의존성이 활성화됩니다(Cisco 버그 ID CSCuj04986 참조). IP/MAC 호스트 연결의 데이터베이스를 사용하여 동적 ACL(Access Control List)의 소스 IP를 채우거나 보안 그룹 태그에 대한 IP 주소의 바인딩을 유지하는 데 사용할 경우 매우 유용합니다.
ARP 프로브는 두 가지 상황에서 전송됩니다.
- IPDT 데이터베이스의 현재 항목과 연결된 링크는 DOWN에서 UP 상태로 이동하고 ARP 항목이 채워졌습니다.
- IPDT 데이터베이스의 항목과 연결된 UP 상태에 이미 있는 링크의 프로브 간격이 만료되었습니다.
알려진 문제
스위치에서 전송하는 'keepalive' 프로브는 L2 검사입니다.스위치의 관점에서 볼 때 ARP에서 소스로 사용되는 IP 주소는 중요하지 않습니다.이 기능은 IP 주소가 전혀 구성되지 않은 디바이스에서 사용할 수 있으므로 0.0.0.0의 IP 소스는 관련이 없습니다.
호스트가 이 메시지를 수신하면 다시 응답하고 수신 패킷에서 사용 가능한 유일한 IP 주소(자체 IP 주소)로 대상 IP 필드를 채웁니다.이렇게 하면 응답하는 호스트가 자신의 IP 주소를 패킷의 소스 및 대상으로 인식하기 때문에 잘못된 중복 IP 주소 알림이 발생할 수 있습니다.중복 IP 주소 시나리오에 대한 자세한 내용은 Duplicate IP Address 0.0.0.0. 오류 메시지 문제 해결 문서를 참조하십시오.
기본 상태 및 작업
IPDT가 전역적으로 활성화된 경우에도 IPDT가 해당 포트를 능동적으로 모니터링한다는 것을 의미하지는 않습니다.IPDT가 항상 켜져 있고 IPDT를 전역적으로 설정/해제할 수 있는 릴리스에서 IPDT가 전역적으로 활성화된 경우 다른 기능이 실제로 특정 인터페이스에서 활성 상태인지 여부를 결정합니다(기능 영역 섹션 참조).
기능 영역
지정된 인터페이스에서 전송된 IPDT 및 해당 ARP 프로브는 다음 기능에 사용됩니다.
- NMSP(Network Mobility Services Protocol), 버전 3.2.0E, 15.2(1)E, 3.5.0E 이상
- 장치 센서, 버전 15.2(1)E, 3.5.0E 이상
- 1X, MAB(MAC Authentication Bypass), 세션 관리자
- 웹 기반 인증
- 인증 프록시
- 고정 호스트용 IPSG(IP Services Gateway)
- 유연한 netflow
- Cisco TrustSec(CTS)
- 미디어 추적
- HTTP 리디렉션
IPDT 비활성화
IPDT가 기본적으로 활성화되지 않은 릴리스에서는 다음 명령을 사용하여 IPDT를 전역적으로 해제할 수 있습니다.
# no ip device tracking
IPDT가 항상 켜져 있는 릴리스에서는 이전 명령을 사용할 수 없거나 IPDT(Cisco 버그 ID CSCuj04986)를 비활성화할 수 없습니다. 이 경우 IPDT가 특정 포트를 모니터링하지 않거나 중복 IP 알림을 생성하지 않도록 하는 몇 가지 방법이 있습니다.
ip 디바이스 추적 프로브 지연 입력 10 명령
이 명령은 링크 UP/플랩을 탐지할 경우 스위치가 10초 동안 프로브를 보낼 수 없습니다. 그러면 링크 반대측의 호스트가 중복 IP 주소를 확인하는 동안 프로브가 전송될 가능성이 최소화됩니다.RFC는 중복 주소 탐지를 위한 10초 창을 지정하므로 디바이스 추적 프로브를 지연할 경우 대부분의 경우 문제를 해결할 수 있습니다.
호스트(예: Microsoft Windows PC)가 Duplicate-Address Detection(중복 주소 탐지) 단계에 있는 동안 스위치가 클라이언트에 ARP 프로브를 보내는 경우, 호스트는 프로브를 중복 IP 주소로 탐지하고 네트워크에서 중복 IP 주소를 발견했다는 메시지를 사용자에게 표시합니다.PC에서 주소를 얻지 못할 수 있으며 사용자는 수동으로 주소를 해제/갱신하고, 네트워크 연결을 끊고 다시 연결하거나, 네트워크에 액세스하려면 PC를 재부팅해야 합니다.
프로브-지연 외에도 스위치가 PC/호스트에서 프로브를 탐지하면 지연이 자동으로 재설정됩니다.예를 들어 프로브 타이머가 5초로 카운트다운되어 PC/호스트에서 ARP 프로브를 탐지하면 타이머가 다시 10초로 재설정됩니다.
이 컨피그레이션은 Cisco 버그 ID CSCtn27420을 통해 제공됩니다.
ip 디바이스 추적 프로브 use-svi를 입력합니다...명령
이 명령을 사용하면 비 RFC 규격 ARP 프로브를 전송하도록 스위치를 구성할 수 있습니다.IP 소스는 0.0.0.0이 아니지만 호스트가 상주하는 VLAN의 SVI(Switch Virtual Interface)가 됩니다.Microsoft Windows 시스템은 더 이상 프로브를 RFC 5227에 정의된 프로브로 볼 수 없으며 잠재적인 중복 IP에 플래그를 지정하지 않습니다.
IP 장치 추적 프로브 auto-source [fallback <host-ip> <mask>] [override] 명령을 입력합니다.
예측 가능/제어 가능한 최종 장치가 없는 고객 또는 L2 전용 역할의 스위치가 많은 고객을 위해 설계에서 레이어 3 변수를 도입하는 SVI의 구성은 적합한 솔루션이 아닙니다.버전 15.2(2)E 이상에서는 IPDT에 의해 생성된 ARP 프로브에서 소스 주소로 사용하기 위해 스위치에 속하지 않아도 되는 IP 주소를 임의로 할당할 수 있는 개선 사항이 도입되었습니다.이러한 향상된 기능으로 시스템의 자동 동작을 다음과 같은 방식으로 수정할 수 있습니다(이 목록에는 각 명령을 사용한 후 시스템이 자동으로 동작하는 방식이 나와 있음).
ip 디바이스 추적 프로브 auto-source 명령 입력
- 소스가 있는 경우 VLAN SVI로 설정합니다.
- 동일한 서브넷에 대해 IP 호스트 테이블에서 소스/MAC 쌍을 검색합니다.
- 기본 경우처럼 0의 IP 소스를 전송합니다.
IP 장치 추적 프로브 자동 소스 폴백 0.0.0.1 255.255.255.0 명령 입력
- 소스가 있는 경우 VLAN SVI로 설정합니다.
- 동일한 서브넷에 대해 IP 호스트 테이블에서 소스/MAC 쌍을 검색합니다.
- 제공된 호스트 비트 및 마스크로 대상 IP의 소스 IP를 계산합니다.
IP 장치 추적 프로브 자동 소스 폴백 0.0.0.1 255.255.255.0 override 명령 입력
- 소스가 있는 경우 VLAN SVI로 설정합니다.
- 제공된 호스트 비트 및 마스크로 대상 IP의 소스 IP를 계산합니다.
참고:재정의를 사용하면 테이블에서 항목 검색을 건너뜁니다.
이전 계산의 예로 호스트 192.168.1.200을 프로브한다고 가정합니다. 제공된 마스크 및 호스트 비트를 사용하여 소스 주소 192.168.1.1을 생성합니다.
항목 10.5.5.20을 프로브하면 소스 주소 10.5.5.1이 있는 ARP 프로브를 생성합니다.
IP 장치 추적 최대값 0 명령 입력
이 명령은 IPDT를 실제로 비활성화하지는 않지만 추적된 호스트 수를 0으로 제한합니다.이 솔루션은 권장되지 않으며 Cisco 버그 ID CSCun81556에 설명된 대로 포트 채널 컨피그레이션을 포함하는 IPDT에 의존하는 다른 모든 기능에 영향을 주기 때문에 주의해야 합니다.
IPDT를 트리거하는 활성 기능 끄기
IPDT를 트리거할 수 있는 일부 기능에는 NMSP, 디바이스 센서, dot1x/MAB, WebAuth 및 IPSG가 포함됩니다.이 솔루션은 이전에 사용할 수 있는 모든 솔루션이 예상대로 작동하지 않거나 추가 문제를 일으킨 가장 어렵거나 복잡한 경우에 예약됩니다.그러나 IPDT를 비활성화하면 문제를 일으키고 다른 모든 것을 영향을 받지 않는 IPDT 관련 기능만 끌 수 있으므로, 이 솔루션은 매우 세분화된 방식으로 사용할 수 있습니다.
최신 Cisco IOS 버전 15.2(2)E 이상에서는 다음과 유사한 출력이 표시됩니다.
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
출력의 맨 아래에 있는 모든 대문자로 된 두 줄은 IPDT를 사용하여 작업하는 라인입니다.인터페이스에서 실행되는 단일 서비스를 비활성화하면 디바이스 추적을 비활성화할 때 발생하는 대부분의 문제를 방지할 수 있습니다.
이전 버전의 Cisco IOS에서는 인터페이스에서 어떤 모듈을 사용할 수 있는지 알 수 있는 '쉬운' 방법이 아직 제공되지 않으므로, 동일한 결과를 얻으려면 더 많은 관련 프로세스를 거쳐야 합니다.디버그 ip 디바이스 트랙 인터페이스를 설정해야 합니다. 이는 대부분의 설정에서 안전해야 하는 저주파수 로그입니다.디버그 IP 디바이스 추적을 모두 켜지 않도록 주의하십시오. 이는 반대로 확장 상황에서 콘솔이 플러딩되기 때문입니다.
디버그가 설정되면 인터페이스를 기본값으로 되돌린 다음 인터페이스 컨피그레이션에서 IPDT 서비스를 추가 및 제거합니다.디버그의 결과는 사용한 명령으로 어떤 서비스가 활성화/비활성화되었는지 보여줍니다.
예를 들면 다음과 같습니다.
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)#
출력에 따르면 기능 00000008을 활성화했으며 새 기능의 마스크는 0000004C입니다.
이제 방금 추가한 컨피그레이션을 제거합니다.
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)#
피쳐 00000008을 제거하면 00000044 마스크가 원래 기본 마스크여야 합니다.AIM은 0x00000004이고 SM은 0x0000040이므로 이 값은 0000040이 예상되므로 00000044이 됩니다.
인터페이스에서 실행할 수 있는 여러 IPDT 서비스가 있습니다.
IPDT 서비스 |
인터페이스 |
HOST_TRACK_CLIENT_IP_EXCLUSIONS |
= 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 |
= 0x0000040 |
HOST_TRACK_CLIENT_WIRELESS |
= 0x00000080 |
이 예에서 HOST_TRACK_CLIENT_SM(SESSION-MANAGER) 및 HOST_TRACK_CLIENT_ATTACHMENT(AIM/NMSP라고도 함) 모듈은 IPDT에 대해 구성됩니다.이 인터페이스에서 IPDT를 끄려면 두 기능을 모두 비활성화해야 합니다. IPDT는 사용하는 모든 함수도 비활성화된 경우에만 비활성화되기 때문입니다.
이러한 기능을 비활성화하면 다음과 유사한 출력이 표시됩니다.
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
--------------------------------------------
이렇게 하면 IPDT가 더 세분화하여 비활성화됩니다.
다음은 앞서 설명한 일부 기능을 비활성화하기 위해 사용되는 명령의 예입니다.
- nmsp 연결 표시 안 함
- 매크로 자동 모니터 없음
참고:최신 기능은 네트워크의 스위치 위치를 기반으로 기능과 설정을 활성화하고 네트워크 전체의 대규모 구성 구축을 위해 사용하는 스마트 포트(SmartPort Flash 프레젠테이션)를 지원하는 플랫폼에서만 사용할 수 있습니다.
IPDT 작업 확인
디바이스에서 IPDT 상태를 확인하려면 다음 명령을 사용합니다.