본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Catalyst 9000 제품군 스위치에 사용되는 SISF(Switch Integrated Security Features)에 대해 설명합니다. 또한 SISF를 사용하는 방법과 다른 기능과 상호 작용하는 방법에 대해서도 설명합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서의 정보는 Cisco IOS® XE 17.3.x를 실행하는 Cisco Catalyst 9300-48P를 기반으로 합니다
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
참고: 다른 Cisco 플랫폼에서 이러한 기능을 활성화하는 데 사용되는 명령은 해당 설정 가이드를 참조하십시오.
이 문서는 다음과 같은 하드웨어 및 소프트웨어 버전에서도 사용할 수 있습니다.
17.3.4 이상 Cisco IOS XE 소프트웨어 버전
참고: 이 문서는 SISF 대 디바이스 추적을 사용하는 대부분의 Cisco IOS XE 버전에도 적용됩니다.
SISF는 호스트 바인딩 테이블을 제공하며, 이 테이블의 정보를 사용하는 기능 클라이언트가 있습니다. 호스트 활동을 추적하고 테이블을 동적으로 채우는 데 도움이 되는 DHCP, ARP, ND, RA와 같은 패킷을 조명하여 항목이 테이블에 채워집니다. L2 도메인에 무음 호스트가 있는 경우 정적 항목을 사용하여 SISF 테이블에 항목을 추가할 수 있습니다.
SISF는 정책 모델을 사용하여 스위치에서 디바이스 역할 및 추가 설정을 구성합니다. 단일 정책은 인터페이스 또는 VLAN 레벨에 적용할 수 있습니다. 정책이 VLAN에 적용되고 다른 정책이 인터페이스에 적용되는 경우 인터페이스 정책이 우선합니다.
SISF를 사용하여 테이블의 호스트 수를 제한할 수도 있지만 IPv4와 IPv6 동작 간에는 차이가 있습니다. SISF 제한이 설정되어 있고 이에 도달한 경우:
16.9.x 이상부터 SISF 클라이언트 기능 우선 순위가 도입되었습니다. SISF에 대한 업데이트를 제어하는 옵션을 추가하며, 둘 이상의 클라이언트가 바인딩 테이블을 사용 중인 경우 우선 순위가 더 높은 기능의 업데이트가 적용됩니다. 여기서는 "mac당 IPv4/IPv6에 대한 주소 수 제한" 설정을 제외하고 우선순위가 가장 낮은 정책 설정이 적용됩니다.
디바이스 추적을 활성화해야 하는 몇 가지 기능의 예는 다음과 같습니다.
참고: 우선순위는 정책 설정을 선택하는 데 사용됩니다.
CLI에서 만든 정책의 우선순위가 가장 높으므로(128) 사용자가 프로그래밍 방식의 정책과 다른 정책 설정을 적용할 수 있습니다. 사용자 지정 정책에서 구성 가능한 모든 설정을 수동으로 변경할 수 있습니다.
다음 이미지는 SISF 정책 및 읽기 방법의 예입니다.
정책 내부의 protocol 키워드에는 SISF 데이터베이스를 채우는 데 사용되는 패킷 유형을 확인할 수 있는 옵션이 있습니다.
switch(config-device-tracking)#? device-tracking policy configuration mode: data-glean binding recovery by data traffic source address gleaning default Set a command to its defaults destination-glean binding recovery by data traffic destination address gleaning device-role Sets the role of the device attached to the port distribution-switch Distribution switch to sync with exit Exit from device-tracking policy configuration mode limit Specifies a limit medium-type-wireless Force medium type to wireless no Negate a command or set its defaults prefix-glean Glean prefixes in RA and DHCP-PD traffic protocol Sets the protocol to glean (default all) <-- security-level setup security level tracking Override default tracking behavior trusted-port setup trusted port vpc setup vpc port switch(config-device-tracking)#protocol ? arp Glean addresses in ARP packets dhcp4 Glean addresses in DHCPv4 packets dhcp6 Glean addresses in DHCPv6 packets ndp Glean addresses in NDP packets udp Gleaning from UDP packets
다음 표의 기능은 활성화될 때 SISF를 프로그램적으로 활성화하거나 SISF에 대한 클라이언트 역할을 합니다.
SISF 프로그래밍 기능 |
SISF 클라이언트 기능 |
VLAN의 LISP |
점1x |
VLAN의 EVPN |
웹 인증 |
DHCP 스누핑 |
CTS |
SISF를 활성화하는 기능 없이 구성된 디바이스에서 SISF 클라이언트 기능이 활성화된 경우 호스트에 연결하는 인터페이스에 사용자 지정 정책을 구성해야 합니다.
장치 추적의 주요 역할은 네트워크 내 엔드-노드의 존재, 위치, 이동을 추적하는 것이다. SISF는 스위치에서 수신한 트래픽을 스누핑하고 디바이스 ID(MAC 및 IP 주소)를 추출하여 바인딩 테이블에 저장합니다. IEEE 802.1X, 웹 인증, Cisco TrustSec 및 LISP 등 여러 기능은 이 정보의 정확성에 따라 올바르게 작동합니다. SISF 기반 디바이스 추적은 IPv4 및 IPv6를 모두 지원합니다. 클라이언트가 IP를 학습할 수 있는 5가지 방법이 지원됩니다.
포트 채널(또는 이더 채널)에서 디바이스 추적이 지원됩니다. 그러나 개별 포트 채널 멤버가 아닌 채널 그룹에 컨피그레이션을 적용해야 합니다. 바인딩 관점에서 볼 때 나타나는(알려진) 유일한 인터페이스는 port-channel입니다.
프로브:
데이터베이스:
SISF에서 몇 가지 옵션을 구성하여 데이터베이스에 항목이 유지되는 기간을 제어할 수 있습니다.
tracking enable reachable-lifetime <second|infinite> <-- how long an entry is kept reachable (or keep permanently reachable)
tracking disable stale-lifetime <seconds|infinite> <-- how long and entry is kept inactive before deletion (or keep permanently inactive)
호스트가 폴링되는 항목의 수명 주기:
노드 절도 유형:
다음은 SISF 종속 기능의 일부입니다.
SISF와 관련하여 가장 자주 관찰되는 동작은 다음과 같습니다.
토폴로지 다이어그램은 다음 SISF 시나리오에서 사용됩니다. 9300 스위치는 레이어 2만 해당하며 클라이언트 Vlan 10에 SVI가 구성되어 있지 않습니다.
참고: 이 실습에서는 SISF가 수동으로 활성화됩니다.
기본 SISF 컨피그레이션은 액세스 포트를 향하는 9300 스위치 모두에서 설정되었지만, 예상되는 SISF 출력을 설명하기 위해 트렁크 포트에 사용자 지정 정책이 적용되었습니다.
스위치 9300-1:
9300-1#show running-config interface GigabitEthernet 1/0/1 Building configuration... Current configuration : 111 bytes ! interface GigabitEthernet1/0/1 switchport access vlan 10 switchport mode access device-tracking <-- enable default SISF policy end
9300-1#
9300-1#show running-config | section trunk-policy
device-tracking policy trunk-policy <-- custom policy
trusted-port <-- custom policy parameters
device-role switch <-- custom policy parameters
no protocol udp
9300-1# 9300-1#show running-config interface tenGigabitEthernet 1/1/1 Building configuration... Current configuration : 109 bytes ! interface TenGigabitEthernet1/1/1 switchport mode trunk device-tracking attach-policy trunk-policy <-- enable custom SISF policy
end
스위치 9300-2:
9300-2#show running-config interface GigabitEthernet 1/0/2 Building configuration... Current configuration : 105 bytes ! interface GigabitEthernet1/0/2 switchport access vlan 10 switchport mode access device-tracking <-- enable default SISF policy end
9300-2#show running-config | section trunk-policy
device-tracking policy trunk-policy <-- custom policy
trusted-port <-- custom policy parameters
device-role switch <-- custom policy parameters
no protocol udp
9300-2#show running-config interface tenGigabitEthernet 1/1/1 Building configuration... Current configuration : 109 bytes ! interface TenGigabitEthernet1/1/1 switchport mode trunk device-tracking attach-policy trunk-policy <-- custom policy applied to interface
end
다음 명령을 사용하여 적용된 정책을 검증할 수 있습니다.
show device-tracking policy <policy name>
show device-tracking policies
show device-tracking database
스위치 9300-1:
9300-1#show device-tracking policy default Device-tracking policy default configuration: security-level guard device-role node <-- gleaning from Neighbor Discovery gleaning from DHCP gleaning from ARP gleaning from DHCP4 NOT gleaning from protocol unkn Policy default is applied on the following targets: Target Type Policy Feature Target range Gi1/0/1 PORT default Device-tracking vlan all
9300-1#show device-tracking policy trunk-policy Device-tracking policy trunk-policy configuration: trusted-port <-- security-level guard device-role switch <-- gleaning from Neighbor Discovery gleaning from DHCP gleaning from ARP gleaning from DHCP4 NOT gleaning from protocol unkn Policy trunk-policy is applied on the following targets: Target Type Policy Feature Target range Te1/1/1 PORT trunk-policy Device-tracking vlan all 9300-1#
9300-1#show device-tracking policies Target Type Policy Feature Target range Te1/1/1 PORT trunk-policy Device-tracking vlan all Gi1/0/1 PORT default Device-tracking vlan all
9300-1#show device-tracking database Binding Table has 1 entries, 1 dynamic (limit 200000) Codes: L - Local, S - Static, ND - Neighbor Discovery, ARP - Address Resolution Protocol, DH4 - IPv4 DHCP, DH6 - IPv6 DHCP, PKT - Other Packet, API - API created Preflevel flags (prlvl): 0001:MAC and LLA match 0002:Orig trunk 0004:Orig access 0008:Orig trusted trunk 0010:Orig trusted access 0020:DHCP assigned 0040:Cga authenticated 0080:Cert authenticated 0100:Statically assigned Network Layer Address Link Layer Address Interface vlan prlvl age state Time left ARP 10.10.10.100 98a2.c07e.7902 Gi1/0/1 10 0005 8s REACHABLE 306 s 9300-1#
스위치 9300-2:
9300-2#show device-tracking policy default Device-tracking policy default configuration: security-level guard device-role node <-- gleaning from Neighbor Discovery gleaning from DHCP gleaning from ARP gleaning from DHCP4 NOT gleaning from protocol unkn Policy default is applied on the following targets: Target Type Policy Feature Target range Gi1/0/2 PORT default Device-tracking vlan all
9300-2#show device-tracking policy trunk-policy Device-tracking policy trunk-policy configuration: trusted-port <-- security-level guard device-role switch <-- gleaning from Neighbor Discovery gleaning from DHCP gleaning from ARP gleaning from DHCP4 NOT gleaning from protocol unkn Policy trunk-policy is applied on the following targets: Target Type Policy Feature Target range Te1/1/1 PORT trunk-policy Device-tracking vlan all 9300-2#
9300-2#show device-tracking policies Target Type Policy Feature Target range Te1/1/1 PORT trunk-policy Device-tracking vlan all Gi1/0/2 PORT default Device-tracking vlan all
9300-2#show device-tracking database Binding Table has 1 entries, 1 dynamic (limit 200000) Codes: L - Local, S - Static, ND - Neighbor Discovery, ARP - Address Resolution Protocol, DH4 - IPv4 DHCP, DH6 - IPv6 DHCP, PKT - Other Packet, API - API created Preflevel flags (prlvl): 0001:MAC and LLA match 0002:Orig trunk 0004:Orig access 0008:Orig trusted trunk 0010:Orig trusted access 0020:DHCP assigned 0040:Cga authenticated 0080:Cert authenticated 0100:Statically assigned Network Layer Address Link Layer Address Interface vlan prlvl age state Time left ARP 10.10.10.101 98a2.c07e.9902 Gi1/0/2 10 0005 41s REACHABLE 273 s 9300-2#
문제
스위치가 보낸 "keepalive" 프로브는 L2 검사입니다. 스위치의 관점에서 볼 때 ARP에서 소스로 사용되는 IP 주소는 중요하지 않습니다. 이 기능은 IP 주소가 전혀 구성되지 않은 디바이스에서 사용할 수 있으므로 IP 소스 0.0.0.0은 관련이 없습니다. 호스트는 이 메시지를 받으면 다시 회신하고 수신 패킷에서 사용 가능한 유일한 IP 주소(자체 IP 주소)로 대상 IP 필드를 채웁니다. 이렇게 하면 응답하는 호스트에서 자체 IP 주소를 패킷의 소스와 대상 둘 다로 인식하기 때문에 잘못된 중복 IP 주소 알림이 발생할 수 있습니다.
keepalive 프로브에 자동 소스를 사용하도록 SISF 정책을 구성하는 것이 좋습니다.
참고: 자세한 내용은 중복 주소 문제에 대한 이 문서를 참조하십시오
기본 프로브
로컬 SVI가 없고 기본 프로브 설정이 없는 경우의 프로브 패킷입니다.
Ethernet II, Src: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02), Dst: Cisco_76:63:c6 (00:41:d2:76:63:c6) <-- Probe source MAC is the BIA of physical interface connected to client Destination: Cisco_76:63:c6 (00:41:d2:76:63:c6) Address: Cisco_76:63:c6 (00:41:d2:76:63:c6) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Source: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02) Address: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Type: ARP (0x0806) Padding: 000000000000000000000000000000000000 Address Resolution Protocol (request) Hardware type: Ethernet (1) Protocol type: IPv4 (0x0800) Hardware size: 6 Protocol size: 4 Opcode: request (1) Sender MAC address: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02) Sender IP address: 0.0.0.0 <-- Sender IP is 0.0.0.0 (default) Target MAC address: Cisco_76:63:c6 (00:41:d2:76:63:c6) Target IP address: 10.10.10.101 <-- Target IP is client IP
솔루션
프로브에 호스트 PC 이외의 주소를 사용하도록 프로브를 구성합니다. 이는 다음 방법으로 수행할 수 있습니다
"Keep-Alive" 프로브의 자동 소스
소스 IP로 0.0.0.0 사용을 줄이려면 "keep-alive" 프로브에 대한 자동 소스를 구성합니다.
device-tracking tracking auto-source fallback <IP> <MASK> [override]
auto-source 명령을 적용할 때의 논리는 다음과 같이 작동합니다.
device-tracking tracking auto-source fallback 0.0.0.253 255.255.255.0 [override] <-- Optional parameter
참고: 명령이 <override>와 함께 적용되면 항상 3단계로 이동합니다.
수정된 프로브
서브넷의 IP를 사용하도록 자동 소스 폴백 구성을 설정하면 프로브가 수정됩니다. 서브넷에 SVI와 다른 클라이언트가 없으므로 컨피그레이션에서 구성된 IP/마스크로 돌아갑니다.
switch(config)#device-tracking tracking auto-source fallback 0.0.0.253 255.255.255.0 <-- it uses .253 for all subnets where there is no existing client and no SVI
수정된 프로브 패킷입니다.
Ethernet II, Src: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02), Dst: Cisco_76:63:c6 (00:41:d2:76:63:c6) <-- Probe source MAC is the BIA of physical interface connected to client Destination: Cisco_76:63:c6 (00:41:d2:76:63:c6) Address: Cisco_76:63:c6 (00:41:d2:76:63:c6) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Source: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02) Address: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Type: ARP (0x0806) Padding: 000000000000000000000000000000000000 Address Resolution Protocol (request) Hardware type: Ethernet (1) Protocol type: IPv4 (0x0800) Hardware size: 6 Protocol size: 4 Opcode: request (1) Sender MAC address: c0:64:e4:cc:66:02 (c0:64:e4:cc:66:02) Sender IP address: 10.10.10.253 <-- Note the new sender IP is now using the fallback IP configured. Target MAC address: Cisco_76:63:c6 (00:41:d2:76:63:c6) Target IP address: 10.10.10.101
프로브 동작에 대한 추가 세부 정보
명령을 사용합니다 |
작업 (디바이스 추적 ARP 프로브에 소스 IP 및 MAC 주소를 선택하려면) |
참고 |
장치 추적 추적 자동 원본 |
|
MAC 플래핑을 방지하려면 모든 트렁크 포트에서 디바이스 추적을 비활성화하는 것이 좋습니다. |
장치 추적 추적 자동 원본 재정의 |
|
SVI가 없는 경우에는 권장되지 않습니다. |
디바이스 추적 자동 소스 폴백 <IP> <MASK> |
|
MAC 플래핑을 방지하려면 모든 트렁크 포트에서 디바이스 추적을 비활성화하는 것이 좋습니다. 계산된 IPv4 주소는 어떤 클라이언트나 네트워크 장치에도 할당해서는 안 됩니다. |
장치 추적 자동 소스 대체 <IP> <MASK> 재정의 |
|
계산된 IPv4 주소는 어떤 클라이언트나 네트워크 장치에도 할당해서는 안 됩니다. |
디바이스 추적 추적 자동 소스 폴백 <IP> <MASK> [override] 명령에 대한 설명:
호스트 ip에 따라 IPv4 주소를 예약해야 합니다.
<reserved IPv4 address> = (<host-ip> & <MASK> ) | <IP>
참고: 부울 공식입니다.
예.
명령을 사용하는 경우:
device-tracking tracking auto-source fallback 0.0.0.1 255.255.255.0 override
호스트 IP = 10.152.140.25
IP = 0.0.0.1
마스크 = 24
부울 공식을 두 부분으로 나눕니다.
1. 10.152.140.25 및 255.255.255.0 작동:
10.152.140.25 = 00001010.10011000.10001100.00011001 AND 255.255.255.0 = 11111111.11111111.11111111.00000000 RESULT 10.152.140.0 = 00001010.10011000.10001100.00000000
2. 10.152.140.0 또는 0.0.0.1 작업:
10.152.140.0 = 00001010.10011000.10001100.00000000 OR 0.0.0.1 = 00000000.00000000.00000000.00000001 RESULT 10.152.140.1 = 00001010.10011000.10001100.00000001
예약된 IP = 10.152.140.1
예약된 IP = (10.152.140.25 및 255.255.255.0) | (0.0.0.1) = 10.152.140.1
참고: IP 소스로 사용되는 주소는 서브넷의 DHCP 바인딩에서 제외되어야 합니다.
문제
네트워크에서 IPv6가 활성화되고 VLAN에 SVI(Switched Virtual Interface)가 구성된 경우 IPv6 주소 중복 오류가 발생합니다.
일반 IPv6 DAD 패킷에서 IPv6 헤더의 Source Address 필드는 지정되지 않은 주소(0:0:0:0:0:0:0)로 설정됩니다. IPv4 사례와 유사합니다.
SISF 프로브에서 Source Address(소스 주소)를 선택하는 순서는 다음과 같습니다.
솔루션
다음 명령을 SVI 컨피그레이션에 추가하는 것이 좋습니다. 이렇게 하면 SVI가 링크-로컬 주소를 자동으로 획득할 수 있습니다. 이 주소는 SISF 프로브의 소스 IP 주소로 사용되므로 중복 IP 주소 문제를 방지할 수 있습니다.
interface vlan <vlan> ipv6 enable
문제
스위치에서 전송하는 "keepalive" 프로브는 프로그래밍으로 활성화될 때 모든 포트에서 브로드캐스트됩니다. 동일한 L2 도메인에 연결된 스위치는 이러한 브로드캐스트를 호스트로 전송하여 원래 스위치가 디바이스 추적 데이터베이스에 원격 호스트를 추가하게 합니다. 추가 호스트 엔트리는 디바이스의 메모리 사용량을 증가시키고 원격 호스트를 추가하는 프로세스는 디바이스의 CPU 사용률을 증가시킵니다.
포트를 신뢰할 수 있고 스위치에 연결된 것으로 정의하려면 연결된 스위치에 대한 업링크에 정책을 구성하여 프로그래밍 정책의 범위를 지정하는 것이 좋습니다.
참고: DHCP 스누핑과 같은 SISF 종속 기능은 SISF가 제대로 작동할 수 있게 하므로 이 문제가 발생할 수 있습니다.
솔루션
업링크(트렁크)에서 다른 스위치를 사랑하는 원격 호스트의 프로브 및 학습을 중지하도록 정책 구성(SISF는 로컬 호스트 테이블을 유지 관리하는 데만 필요)
device-tracking policy DT_trunk_policy trusted-port device-role switch interface <interface> device-tracking policy DT_trunk_policy
문제
IPDT에서 SISF 기반 디바이스 추적으로의 마이그레이션 문제로 인해 이전 릴리스에서 16.x 이상 릴리스로 마이그레이션할 때 기본이 아닌 연결 가능 시간이 도입되는 경우가 있습니다.
솔루션
다음을 구성하여 기본 연결 가능 시간으로 되돌리는 것이 좋습니다.
no device-tracking binding reachable-time <seconds>
문제
스위치가 Meraki Cloud Monitoring 툴에 온보딩되면 해당 툴은 맞춤형 디바이스 추적 정책을 푸시합니다.
device-tracking policy MERAKI_POLICY security-level glean no protocol udp tracking enable
이 정책은 구분이 없는 모든 인터페이스에 적용됩니다. 즉, 에지 포트와 다른 네트워크 디바이스(예: 스위치, 방화벽 라우터 등)와 마주하는 트렁크 포트를 구분하지 않습니다. 스위치는 MERAKI_POLICY가 구성된 트렁크 포트에 여러 SISF 항목을 생성할 수 있으므로 이러한 포트에 플러시가 발생하고 CPU 사용량이 증가합니다.
switch#show interfaces port-channel 5
Port-channel5 is up, line protocol is up (connected)
<omitted output> Input queue: 0/2000/0/112327 (size/max/drops/flushes); Total output drops: 0 <-- we have many flushes <omitted output>
switch#show process cpu sorted CPU utilization for five seconds: 26%/2%; one minute: 22%; five minutes: 22% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 572 1508564 424873 3550 11.35% 8.73% 8.95% 0 SISF Main Thread 105 348502 284345 1225 2.39% 2.03% 2.09% 0 Crimson flush tr
솔루션
모든 비 에지 인터페이스에 다음 정책을 설정합니다.
configure terminal device-tracking policy NOTRACK no protocol ndp no protocol dhcp6 no protocol arp no protocol dhcp4 no protocol udp exit
interface <interface> device-tracking policy NOTRACK end
문제
이 시나리오는 HA(고가용성) 모드의 어플라이언스에서 일반적으로 IP 주소가 다르지만 동일한 MAC 주소를 공유합니다. 동일한 조건(둘 이상의 IP 주소에 대한 단일 MAC 주소)을 공유하는 VM 환경에서도 관찰됩니다. 이 조건은 보호 모드의 사용자 지정 SISF 정책이 있는 경우 SISF 테이블에 항목이 없는 모든 IP에 대한 네트워크 연결을 차단합니다.SISF 기능에 따라 MAC 주소당 하나의 IP만 학습됩니다.
참고: 이 문제는 17.7.1 이후 릴리스에 있습니다.
예:
SISF 정책
switch#show run | sec IPDT_POLICY device-tracking policy IPDT_POLICY no protocol udp tracking enable
switch#show device-tracking policy IPDT_POLICY Device-tracking policy IPDT_POLICY configuration: security-level guard <-- default mode device-role node gleaning from Neighbor Discovery gleaning from DHCP6 gleaning from ARP gleaning from DHCP4 NOT gleaning from protocol unkn tracking enable Policy IPDT_POLICY is applied on the following targets: Target Type Policy Feature Target range Gi1/0/1 PORT IPDT_POLICY Device-tracking vlan all Gi1/0/2 PORT IPDT_POLICY Device-tracking vlan all
SISF 데이터베이스
switch#show device-tracking database Binding Table has 2 entries, 2 dynamic (limit 200000) Codes: L - Local, S - Static, ND - Neighbor Discovery, ARP - Address Resolution Protocol, DH4 - IPv4 DHCP, DH6 - IPv6 DHCP, PKT - Other Packet, API - API created Preflevel flags (prlvl): 0001:MAC and LLA match 0002:Orig trunk 0004:Orig access 0008:Orig trusted trunk 0010:Orig trusted access 0020:DHCP assigned 0040:Cga authenticated 0080:Cert authenticated 0100:Statically assigned Network Layer Address Link Layer Address Interface vlan prlvl age state Time left ARP 10.0.0.3 10b3.d659.7858 Gi1/0/3 10 0005 90s REACHABLE 222 s try 0 ARP 10.0.0.1 10b3.d5a9.bd9f Gi1/0/1 10 0005 84s REACHABLE 220 s try 0
연결성 테스트 서버 A
ServerA#ping 10.0.0.3 source 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.3, timeout is 2 seconds:
Packet sent with a source address of 10.0.0.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
ServerA#ping 10.0.0.3 source 10.0.0.100 <-- entry for 10.0.0.100 is not on SISF table
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.3, timeout is 2 seconds:
Packet sent with a source address of 10.0.0.100
.....
연결 가능성 테스트 서버 B.
ServerB#ping 10.0.0.3 <-- entry for 10.0.0.2 is not on SISF table
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
스위치의 삭제를 확인하는 중입니다.
switch(config)#device-tracking logging
로그
switch#show logging
<omitted output>
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.100 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/1 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.100 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/1 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.100 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/1 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.100 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/1 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.100 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/1 P=ARP Reason=Packet accepted but not forwarded
<omitted output>
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/2 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-MAC_THEFT: MAC Theft IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f IF=Gi1/0/1 New I/F=Gi1/0/2
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/2 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-MAC_THEFT: MAC Theft IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f IF=Gi1/0/1 New I/F=Gi1/0/2
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/2 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-MAC_THEFT: MAC Theft IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f IF=Gi1/0/1 New I/F=Gi1/0/2
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/2 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-MAC_THEFT: MAC Theft IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f IF=Gi1/0/1 New I/F=Gi1/0/2
%SISF-4-PAK_DROP: Message dropped IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f I/F=Gi1/0/2 P=ARP Reason=Packet accepted but not forwarded
%SISF-4-MAC_THEFT: MAC Theft IP=10.0.0.2 VLAN=10 MAC=10b3.d5a9.bd9f IF=Gi1/0/1 New I/F=Gi1/0/2
솔루션
옵션 1: 포트에서 IPDT 정책을 제거하면 ARP 패킷 및 영향을 받는 디바이스에 연결할 수 있습니다
switch(config)#interface gigabitEthernet 1/0/1
switch(config-if)#no device-tracking attach-policy IPDT_POLICY
switch(config-if)#interface gigabitEthernet 1/0/2
switch(config-if)#no device-tracking attach-policy IPDT_POLICY
옵션 2: 디바이스 추적 정책에서 프로토콜 arp 경사를 제거합니다.
switch(config)#device-tracking policy IPDT_POLICY
switch(config-device-tracking)#no protocol arp
옵션 3: IPDT_POLICY의 보안 수준을 glean으로 변경합니다.
switch(config)#device-tracking policy IPDT_POLICY
switch(config-device-tracking)#security-level glean
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
17-Jan-2024 |
최초 릴리스 |