소개
이 문서에서는 Cisco Catalyst Switch 9300에서 Cisco 인라인 태깅 기능을 구성하고 확인하는 방법에 대해 설명합니다.
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
네트워크에 Cisco ISE가 구축되어 있어야 하며, 최종 사용자가 유선으로 연결할 때 802.1x(또는 다른 방법)를 통해 Cisco ISE에 인증해야 합니다. Cisco ISE는 유선 네트워크에 인증 한 후 보안 그룹 태그 (SGT) 를 할당 합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- 3.0 P5를 실행하는 Cisco Identity Services Engine
- 17.03.02a를 실행하는 Cisco Catalyst 9300 스위치
- 17.07.01을 실행하는 Cisco Catalyst 9300 스위치
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
인라인 태깅은 정보의 첫 번째 연락 지점이므로 액세스 레이어에서 구현됩니다. 즉, 모든 엔드 디바이스가 액세스 레이어에 연결됩니다. 액세스 레이어 디바이스에서 분류를 수행하면 이 정보를 시행 중인 디바이스와 공유해야 합니다. 이를 위해 NAS는 이더넷 프레임에 20바이트를 추가할 수 있습니다. 프레임의 CMD(Cisco 메타데이터) 필드입니다. 여기에 SGT가 포함됩니다.
구성
네트워크 다이어그램
토폴로지 다이어그램
- PC1에서 SGT3을 인증하고 ISE에서 동적으로 할당합니다.
- C9300A 인라인 태깅(C9300B 사용)
- PC2에서 인증하고 ISE에서 SGT 17을 동적으로 할당
- C9300B는 SGT3에서 SGT17로 ICMP 트래픽을 시행합니다.
인라인 태깅
C9300A
interface TwoGigabitEthernet1/0/4
switchport trunk allowed vlan 761
switchport mode trunk
cts manual
policy static sgt 2 trusted
end
C9300B
interface GigabitEthernet1/0/4
switchport trunk allowed vlan 761
switchport mode trunk
cts manual
policy static sgt 2 trusted
end
인라인 태깅을 활성화하려면 cts manual 명령을 사용하고 policy static을 사용해야 합니다. 명령에 사용되는 sgt는 네트워크 디바이스의 sgt 또는 다른 임의의 자리 표시자일 수 있습니다. trusted 명령의 기능은 SGT가 CMD 헤더와 함께 트래픽을 수신할 경우 스위치에게 SGT를 적용하도록 지시하는 것입니다. trusted 명령 없이 스위치는 해당 인터페이스에서 흐르는 모든 트래픽을 정의된 SGT로 태그합니다.
검사
액세스 세션 다운로드 SGT
PC1
Switch#show authentication session interface Tw1/0/3 details
Interface: TwoGigabitEthernet1/0/3
IIF-ID: 0x1FB0D90E
MAC Address: 507b.9df0.34bb
IPv6 Address: Unknown
IPv4 Address: 10.4.16.142
User-Name: 50-7B-9D-F0-34-BB
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Common Session ID: 3D781F0A0000000F2AE95F4A
Acct Session ID: 0x00000005
Handle: 0x02000004
Current Policy: POLICY_Tw1/0/3
Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)
Security Policy: Should Secure
Server Policies:
SGT Value: 3
Method status list:
Method State
mab Authc Success
PC2
Switch#show authentication session interface Gi1/0/1 details
Interface: GigabitEthernet1/0/1
IIF-ID: 0x1D1CA5C7
MAC Address: 507b.9df8.02ed
IPv6 Address: fe80::114c:dce1:ffa1:1642
IPv4 Address: 10.4.16.141
User-Name: 50-7B-9D-F8-02-ED
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Common Session ID: 21781F0A000000242AF41195
Acct Session ID: 0x00000004
Handle: 0x4300000f
Current Policy: POLICY_Gi1/0/1
Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)
Security Policy: Should Secure
Server Policies:
SGT Value: 17
Method status list:
Method State
mab Authc Success
스위치가 IP에 SGT 바인딩을 학습함
C9300A
Switch#show cts role-based sgt-map all
Active IPv4-SGT Bindings Information
IP Address SGT Source
============================================
10.4.16.142 3 LOCAL
C9300B
Switch#show cts role-based sgt-map all
Active IPv4-SGT Bindings Information
IP Address SGT Source
============================================
10.4.16.141 17 LOCAL
10.31.120.33 2 INTERNAL
C9300A와 C9300B 사이의 권한 부여 상태
C9300A
Switch#show cts interface Two 1/0/4
Global Dot1x feature is Disabled
Interface TwoGigabitEthernet1/0/4:
CTS is enabled, mode: MANUAL
IFC state: OPEN
Interface Active for 01:36:44.332
Authentication Status: NOT APPLICABLE
Peer identity: "unknown"
Peer's advertised capabilities: ""
Authorization Status: SUCCEEDED
Peer SGT: 2:TrustSec_Devices
Peer SGT assignment: Trusted
SAP Status: NOT APPLICABLE
Propagate SGT: Enabled
Cache Info:
Expiration : N/A
Cache applied to link : NONE
Statistics:
authc success: 0
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 0
sap fail: 0
authz success: 0
authz fail: 0
port auth fail: 0
L3 IPM: disabled.
C9300B
Switch#show cts interfac Gig 1/0/4
Global Dot1x feature is Disabled
Interface GigabitEthernet1/0/4:
CTS is enabled, mode: MANUAL
IFC state: OPEN
Interface Active for 01:34:18.433
Authentication Status: NOT APPLICABLE
Peer identity: "unknown"
Peer's advertised capabilities: ""
Authorization Status: SUCCEEDED
Peer SGT: 2:TrustSec_Devices
Peer SGT assignment: Trusted
SAP Status: NOT APPLICABLE
Propagate SGT: Enabled
Cache Info:
Expiration : N/A
Cache applied to link : NONE
Statistics:
authc success: 0
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 0
sap fail: 0
authz success: 0
authz fail: 0
port auth fail: 0
L3 IPM: disabled.
문제 해결
문제를 해결하려면 다음을 고려하십시오.
- 프레임은 항상 SGT 가능 장치의 인그레스 포트에 태그가 지정됩니다.
- QoS와 같은 다른 L2 서비스에 앞서 태깅 프로세스
- IP MTU/단편화에는 영향을 미치지 않습니다.
- L2 프레임 MTU 영향: ~ 40바이트(~1600바이트, 1552바이트 MTU)
- MACsec은 지원 하드웨어에 대한 선택 사항입니다.
패킷 캡처/EPC
인라인 태깅 흐름
인라인 태깅의 문제를 해결하려면 인그레스에서 패킷 캡처를 수행해야 합니다.
팁: SW의 업링크에서 pcap를 사용할 경우 태그가 인터페이스 레벨에 포함되므로 태그가 적용되기 전에 EPC를 가져올 수 있습니다.
주의: C4500과 같은 몇 가지 예외는 있습니다. C4500의 아키텍처 때문에 인그레스 인터페이스에서 pcap를 가져와도 CMD 헤더를 탐지할 수 없습니다. 이 경우 Netflow, Netflow Trustsec 컨피그레이션을 사용할 수 있습니다
C9300B의 인그레스 포트에 EPC(Embedded Packet Capture)를 적용합니다.
Switch#monitor capture test interface Gig 1/0/4 both
Switch#monitor capture test match any
Switch#monitor capture test start
<
> Switch#
monitor capture test stop
EPC를 가져온 후 show monitor capture buffer brief 명령을 사용하여 ICMP 요청의 프레임 번호를 확인할 수 있습니다.
Switch#show monitor capture test buffer
..
..
44 17.059569 10.4.16.142 b^F^R 10.4.16.141 ICMP 86 Echo (ping) request id=0x0001, seq=147/37632, ttl=128
45 17.061079 10.4.16.141 b^F^R 10.4.16.142 ICMP 74 Echo (ping) reply id=0x0001, seq=147/37632, ttl=128 (request in 44)
..
..
이전 출력에서 는 ICMP 패킷이 프레임 44에 있는 것을 관찰했습니다. 이 기능을 사용하여 다음을 실행할 수 있습니다. show monitor capture <name> buffer detailed | <number> 프레임을 시작하여 내용을 확인합니다.
..
..
Frame 44: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface 0
Interface id: 0 (/tmp/epc_ws/wif_to_ts_pipe)
Interface name: /tmp/epc_ws/wif_to_ts_pipe
Encapsulation type: Ethernet (1)
Arrival Time: Jun 3, 2022 19:12:00.140014000 UTC
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1654283520.140014000 seconds
[Time delta from previous captured frame: 0.362660000 seconds]
[Time delta from previous displayed frame: 0.362660000 seconds]
[Time since reference or first frame: 17.059569000 seconds]
Frame Number: 44
Frame Length: 86 bytes (688 bits)
Capture Length: 86 bytes (688 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:vlan:ethertype:cmd:ethertype:ip:icmp:data]
Ethernet II, Src: 50:7b:9d:f0:34:bb (50:7b:9d:f0:34:bb), Dst: 50:7b:9d:f8:02:ed (50:7b:9d:f8:02:ed)
Destination: 50:7b:9d:f8:02:ed (50:7b:9d:f8:02:ed)
Address: 50:7b:9d:f8:02:ed (50:7b:9d:f8:02:ed)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: 50:7b:9d:f0:34:bb (50:7b:9d:f0:34:bb)
Address: 50:7b:9d:f0:34:bb (50:7b:9d:f0:34:bb)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: 802.1Q Virtual LAN (0x8100)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 761
000. .... .... .... = Priority: Best Effort (default) (0)
...0 .... .... .... = DEI: Ineligible
.... 0010 1111 1001 = ID: 761
Type: CiscoMetaData (0x8909)
Cisco MetaData <<<<<<<<<<<<<<<<<<<<<<< CMD header
Version: 1
Length: 1
Options: 0x0001
SGT: 3 <<<<<<<<<<<<<<<<<<<<<<<<<< SGT of PC1
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 10.4.16.142, Dst: 10.4.16.141
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 60
Identification: 0x7d1f (32031)
Flags: 0x0000
0... .... .... .... = Reserved bit: Not set
.0.. .... .... .... = Don't fragment: Not set
..0. .... .... .... = More fragments: Not set
...0 0000 0000 0000 = Fragment offset: 0
Time to live: 128
Protocol: ICMP (1)
Header checksum: 0x887f [validation disabled]
[Header checksum status: Unverified]
Source: 10.4.16.142
Destination: 10.4.16.141
Internet Control Message Protocol
Type: 8 (Echo (ping) request)
Code: 0
Checksum: 0x4cc8 [correct]
[Checksum Status: Good]
Identifier (BE): 1 (0x0001)
Identifier (LE): 256 (0x0100)
Sequence number (BE): 147 (0x0093)
Sequence number (LE): 37632 (0x9300)
Data (32 bytes)
0000 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 abcdefghijklmnop
0010 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi
Data: 6162636465666768696a6b6c6d6e6f707172737475767761...
[Length: 32]
..
..
SGACL 확인
스위치는 다양한 방법(로컬, SXP, 인라인 태깅 등)에서 학습된 IP-SGT 바인딩과 일치하는 SGACL만 다운로드합니다. C9300B는 ISE에서 대상 보안 그룹을 동적으로 학습합니다. 소스 보안 그룹을 어떻게 파악합니까? Inline Tagging을 사용합니다. show cts role-based sgt-map all 명령은 인라인 태깅에서 학습한 SGT를 표시하지 않으므로, SGACL을 다운로드하면 스위치가 소스(인라인 태깅) 및 대상(로컬) 보안 그룹 모두에서 인식된다는 결론을 내릴 수 있습니다.
Switch#show cts role-based permissions
IPv4 Role-based permissions default:
Permit_IP_Log-00
IPv4 Role-based permissions from group 3:DataCenter to group 17:MedicalDevices:
denyJonsICMP-06 <<<<
DENY_PRINTER_80_04-01
permitJons-01
IPv4 Role-based permissions from group 16:IUH_Office to group 17:MedicalDevices:
denyJonsICMP-06
RBACL Monitor All for Dynamic Policies : FALSE
RBACL Monitor All for Configured Policies : FALSE
PC1에서 PC2로 ping하면 ICMP가 차단됩니다.
cisco>ping -S 10.4.16.142 10.4.16.141
Pinging 10.4.16.141 from 10.4.16.142 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.4.16.141:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
관련 정보