소개
이 문서에서는 ACI PBR Multipod 환경을 사용하여 원격 POD에서 IP SLA 추적 디바이스를 식별하고 문제를 해결하는 단계를 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Multipod 솔루션
- PBR이 포함된 서비스 그래프
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco ACI 버전 4.2(7l)
- Cisco Leaf 스위치 N9K-C93180YC-EX
- Cisco Spine 스위치 N9K-C9336PQ
- Nexus 7k 버전 8.2(2)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
네트워크 토폴로지
토폴로지
배경 정보
Cisco ACI는 서비스 그래프를 사용하여 방화벽 또는 로드 밸런서가 서버의 기본 게이트웨이가 될 필요 없이 보안 영역 간의 트래픽을 방화벽 또는 로드 밸런서로 리디렉션할 수 있습니다.
PBR 설정의 IP SLA 기능을 사용하면 ACI 패브릭에서 사용자 환경의 서비스 노드(L4-L7 디바이스)를 모니터링하고, 패브릭에서 소스 및 대상 간의 트래픽을 연결할 수 없는 경우 다운된 서비스 노드로 리디렉션하지 않을 수 있습니다.
참고: ACI IPSLA는 패브릭 시스템 GIPO(멀티캐스트 주소 239.255.255.240/28)에 따라 프로브를 전송하고 추적 상태를 배포합니다.
시나리오
이 예에서는 POD-1의 소스 엔드포인트 192.168.150.1과 POD-2의 목적지 서버 192.168.151.1 간에 동-서 연결을 완료할 수 없습니다. 트래픽이 POD-1의 서비스 리프 103에서 PBR 노드 172.16.1.1로 리디렉션되고 있습니다. PBR이 IP SLA 모니터링 및 상태 그룹 리디렉션 정책을 사용하고 있습니다.
문제 해결 단계
1단계. IP SLA 상태 식별
- APIC UI에서 Tenants(테넌트) > Your_Tenant > Faults(결함)로 이동합니다.
- 결함 F2911, F2833, F2992를 찾습니다.
IP SLA 결함
2단계. 작동 중지 상태의 상태 그룹이 있는 노드 ID 식별
- APIC CLI에서 결함 F2911, F2833, F2992 중 하나를 사용하여 moquery 명령을 실행합니다.
- 상태 그룹 lb1::lb-healthGrp가 POD-2의 Leaf 202에 대해 다운된 것을 볼 수 있습니다.
MXS2-AP002# moquery -c faultInst -f 'fault.Inst.code == "F2911"'
# fault.Inst
code : F2911
ack : no
alert : no
annotation :
cause : svcredir-healthgrp-down
changeSet : operSt (New: disabled), operStQual (New: healthgrp-service-down)
childAction :
created : 2024-01-31T19:07:31.505-06:00
delegated : yes
descr : PBR service health grp lb1::lb-healthGrp on nodeid 202 fabric hostname MXS2-LF202 is in failed state, reason Health grp service is down.
dn : topology/pod-2/node-202/sys/svcredir/inst/healthgrp-lb1::lb-healthGrp/fault-F2911 <<<
domain : infra
extMngdBy : undefined
highestSeverity : major
3단계. PBR 디바이스가 엔드포인트로 학습되고 서비스 리프에서 연결 가능한지 확인
MXS2-LF103# show system internal epm endpoint ip 172.16.1.1
MAC : 40ce.2490.5743 ::: Num IPs : 1
IP# 0 : 172.16.1.1 ::: IP# 0 flags : ::: l3-sw-hit: No
Vlan id : 22 ::: Vlan vnid : 13192 ::: VRF name : lb1:vrf1
BD vnid : 15958043 ::: VRF vnid : 2162693
Phy If : 0x1a00b000 ::: Tunnel If : 0
Interface : Ethernet1/12
Flags : 0x80004c04 ::: sclass : 16391 ::: Ref count : 5
EP Create Timestamp : 02/01/2024 00:36:23.229262
EP Update Timestamp : 02/02/2024 01:43:38.767306
EP Flags : local|IP|MAC|sclass|timer|
MXS2-LF103# iping 172.16.1.1 -V lb1:vrf1
PING 172.16.1.1 (172.16.1.1) from 172.16.1.254: 56 data bytes
64 bytes from 172.16.1.1: icmp_seq=0 ttl=255 time=1.046 ms
64 bytes from 172.16.1.1: icmp_seq=1 ttl=255 time=1.074 ms
64 bytes from 172.16.1.1: icmp_seq=2 ttl=255 time=1.024 ms
64 bytes from 172.16.1.1: icmp_seq=3 ttl=255 time=0.842 ms
64 bytes from 172.16.1.1: icmp_seq=4 ttl=255 time=1.189 ms
--- 172.16.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.842/1.034/1.189 ms
4단계. 로컬 POD 및 원격 POD에서 PBR 상태 그룹 확인
참고: PBR 디바이스를 구성하는 로컬 POD를 고려하십시오.
리프 103은 POD-1의 서비스 리프입니다. 따라서 POD-1을 로컬 POD로, POD-2를 원격 POD로 간주합니다.
상태 그룹은 소스 및 목적지 EPG가 contract에 따라 구축이 필요한 leaf 스위치에서만 프로그래밍됩니다.
1. 소스 EPG는 Leaf Node 102 POD-1에 있습니다. PBR 디바이스가 서비스 리프 103 POD-1에서 UP로 추적되는 것을 확인할 수 있습니다.
MXS2-LF102# show service redir info health-group lb1::lb-healthGrp
=======================================================================================================================================
LEGEND
TL: Threshold(Low) | TH: Threshold(High) | HP: HashProfile | HG: HealthGrp | BAC: Backup-Dest | TRA: Tracking | RES: Resiliency
=======================================================================================================================================
HG-Name HG-OperSt HG-Dest HG-Dest-OperSt
======= ========= ======= ==============
lb1::lb-healthGrp enabled dest-[172.16.1.1]-[vxlan-2162693]] up
2. 대상 EPG는 Leaf Node 202 POD-2에 있습니다. PBR 디바이스가 Service Leaf 103 POD-1에서 DOWN으로 추적되는 것을 확인할 수 있습니다.
MXS2-LF202# show service redir info health-group lb1::lb-healthGrp
=======================================================================================================================================
LEGEND
TL: Threshold(Low) | TH: Threshold(High) | HP: HashProfile | HG: HealthGrp | BAC: Backup-Dest | TRA: Tracking | RES: Resiliency
=======================================================================================================================================
HG-Name HG-OperSt HG-Dest HG-Dest-OperSt
======= ========= ======= ==============
lb1::lb-healthGrp disabled dest-[172.16.1.1]-[vxlan-2162693]] down <<<<< Health Group is down.
5단계. ELAM 도구를 사용하여 IP SLA 프로브 캡처
참고: 내장형 캡처 툴인 ELAM(Embedded Logic Analyzer Module)을 사용하여 수신 패킷을 캡처할 수 있습니다. ELAM 구문은 하드웨어 유형에 따라 달라집니다. 또 다른 접근 방식은 ELAM Assistant 앱을 사용하는 것입니다.
IP SLA 프로브를 캡처하려면 ELAM 구문에서 이러한 값을 사용하여 패킷이 도달하거나 삭제되는 위치를 파악해야 합니다.
ELAM Inner L2 헤더
소스 MAC = 00-00-00-00-00-01
대상 MAC = 01-00-00-00-00-00
참고: 소스 MAC 및 대상 Mac(이전에 표시됨)은 IP SLA 패킷의 Inner 헤더에 있는 고정 값입니다.
ELAM Outer L3 헤더
소스 IP = 서비스 리프의 TEP( LAB의 리프 103 TEP = 172.30.200.64 )
대상 IP = 239.255.255.240( 패브릭 시스템 GIPO는 항상 동일해야 함)
trigger reset
trigger init in-select 14 out-select 0
set inner l2 dst_mac 01-00-00-00-00-00 src_mac 00-00-00-00-00-01
set outer ipv4 src_ip 172.30.200.64 dst_ip 239.255.255.240
start
stat
ereport
...
------------------------------------------------------------------------------------------------------------------------------------------------------
Inner L2 Header
------------------------------------------------------------------------------------------------------------------------------------------------------
Inner Destination MAC : 0100.0000.0000
Source MAC : 0000.0000.0001
802.1Q tag is valid : no
CoS : 0
Access Encap VLAN : 0
------------------------------------------------------------------------------------------------------------------------------------------------------
Outer L3 Header
------------------------------------------------------------------------------------------------------------------------------------------------------
L3 Type : IPv4
DSCP : 0
Don't Fragment Bit : 0x0
TTL : 27
IP Protocol Number : UDP
Destination IP : 239.255.255.240
Source IP : 172.30.200.64
6단계. 로컬 및 원격 스파에서 패브릭 시스템 GIPO 확인( 239.255.255.240)이 프로그래밍되었습니다.
참고: 각 GIPO에 대해 각 POD에서 하나의 스파인 노드만 신뢰할 수 있는 디바이스로 선택되어 멀티캐스트 프레임을 전달하며 IPN을 향해 IGMP 조인을 전송합니다.
1. Spine 1001 POD-1은 멀티캐스트 프레임을 포워딩하고 IPN을 향해 IGMP 조인을 전송하는 신뢰할 수 있는 스위치입니다.
인터페이스 Eth1/3은 N7K IPN을 향합니다.
MXS2-SP1001# show isis internal mcast routes gipo | more
IS-IS process: isis_infra
VRF : default
GIPo Routes
====================================
System GIPo - Configured: 0.0.0.0
Operational: 239.255.255.240
====================================
<OUTPUT CUT> ...
GIPo: 239.255.255.240 [LOCAL]
OIF List:
Ethernet1/35.36
Ethernet1/3.3(External) <<< Interface must point out to IPN on elected Spine
Ethernet1/16.40
Ethernet1/17.45
Ethernet1/2.37
Ethernet1/36.42
Ethernet1/1.43
MXS2-SP1001# show ip igmp gipo joins | grep 239.255.255.240
239.255.255.240 0.0.0.0 Join Eth1/3.3 43 Enabled
2. Spine 2001 POD-2는 멀티캐스트 프레임을 전달하고 IPN을 향해 IGMP 조인을 전송하는 신뢰할 수 있는 스위치입니다.
인터페이스 Eth1/36은 N7K IPN을 향합니다.
MXS2-SP2001# show isis internal mcast routes gipo | more
IS-IS process: isis_infra
VRF : default
GIPo Routes
====================================
System GIPo - Configured: 0.0.0.0
Operational: 239.255.255.240
====================================
<OUTPUT CUT> ...
GIPo: 239.255.255.240 [LOCAL]
OIF List:
Ethernet1/2.40
Ethernet1/1.44
Ethernet1/36.36(External) <<< Interface must point out to IPN on elected Spine
MXS2-SP2001# show ip igmp gipo joins | grep 239.255.255.240
239.255.255.240 0.0.0.0 Join Eth1/36.36 76 Enabled
3. 두 스파인의 VSH에서 outgoing-interface-list gipo가 비어 있지 않은지 확인합니다.
MXS2-SP1001# vsh
MXS2-SP1001# show forwarding distribution multicast outgoing-interface-list gipo | more
....
Outgoing Interface List Index: 1
Reference Count: 1
Number of Outgoing Interfaces: 5
Ethernet1/35.36
Ethernet1/3.3
Ethernet1/2.37
Ethernet1/36.42
Ethernet1/1.43
External GIPO OIFList
Ext OIFL: 8001
Ref Count: 393
No OIFs: 1
Ethernet1/3.3
7단계. IPN에서 GIPO( 239.255.255.240)가 구성되었는지 확인합니다.
1. IPN 컨피그레이션에 GIPO 239.255.255.240이 없습니다.
N7K-ACI_ADMIN-VDC-ACI-IPN-MPOD# show run pim
...
ip pim rp-address 192.168.100.2 group-list 225.0.0.0/15 bidir
ip pim ssm range 232.0.0.0/8
N7K-ACI_ADMIN-VDC-ACI-IPN-MPOD# show ip mroute 239.255.255.240
IP Multicast Routing Table for VRF "default"
(*, 239.255.255.240/32), uptime: 1d01h, igmp ip pim
Incoming interface: Null, RPF nbr: 0.0.0.0 <<< Incoming interface and RPF are MISSING
Outgoing interface list: (count: 2)
Ethernet3/3.4, uptime: 1d01h, igmp
Ethernet3/1.4, uptime: 1d01h, igmp
2. IPN에서 GIPO 239.255.255.240이 구성되었습니다.
N7K-ACI_ADMIN-VDC-ACI-IPN-MPOD# show run pim
...
ip pim rp-address 192.168.100.2 group-list 225.0.0.0/15 bidir
ip pim rp-address 192.168.100.2 group-list 239.255.255.240/28 bidir <<< GIPO is configured
ip pim ssm range 232.0.0.0/8
N7K-ACI_ADMIN-VDC-ACI-IPN-MPOD# show ip mroute 225.0.42.16
IP Multicast Routing Table for VRF "default"
(*, 225.0.42.16/32), bidir, uptime: 1w6d, ip pim igmp
Incoming interface: loopback1, RPF nbr: 192.168.100.2
Outgoing interface list: (count: 2)
Ethernet3/1.4, uptime: 1d02h, igmp
loopback1, uptime: 1d03h, pim, (RPF)
8단계. IP SLA 추적이 원격 포드에서 작동 중인지 확인
MXS2-LF202# show service redir info health-group lb1::lb-healthGrp
=======================================================================================================================================
LEGEND
TL: Threshold(Low) | TH: Threshold(High) | HP: HashProfile | HG: HealthGrp | BAC: Backup-Dest | TRA: Tracking | RES: Resiliency
=======================================================================================================================================
HG-Name HG-OperSt HG-Dest HG-Dest-OperSt
======= ========= ======= ==============
lb1::lb-healthGrp enabled dest-[172.16.1.1]-[vxlan-2162693]] up
관련 정보
Cisco 버그 ID |
버그 제목 |
버전 수정 |
Cisco 버그 ID CSCwi75331 |
|
고정 버전이 없습니다. 해결 방법을 사용합니다. |