본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
Cisco의 ACI(Application Centric Infrastructure)는 L3outs(Layer 3 out)를 통해 내부 테넌트와 외부 라우팅 네트워크 간의 통신을 지원합니다. 이러한 L3outs는 하나 이상의 EPG(엔드포인트 그룹)를 포함하도록 구성할 수도 있습니다. ACI가 들어오는 트래픽을 L3out의 EPG로 분류하는 방법을 파악하려면 특정 플래그가 활성화된 명시적 서브넷을 정의해야 합니다.이 문서는 계약 기반 정책 애플리케이션의 맥락에서 L3out EPG의 하드웨어 구현에 대해 좀 더 자세히 설명하는 것을 목적으로 합니다.여기서는 '외부 EPG용 외부 서브넷' 플래그 및 겹치는 접두사를 별도의 EPG에서 '외부'로 선언하는 예기치 않은 결과를 구체적으로 살펴봅니다.
엄지의 규칙은 다음과 같습니다.L3outs를 구축할 때 동일한 VRF(Virtual Routing and Forwarding) 인스턴스에 있는 별도의 EPG는 겹치는 서브넷을 '외부 EPG의 외부 서브넷'으로 표시해서는 안 됩니다. 이는 특정 서브넷에서 소싱된 트래픽이 서로 다른 EPG를 통해 유입되어서는 안 된다는 것을 의미합니다.이렇게 하면 상관없는 EPG에 대해 선언된 서브넷에 대해 가장 긴 접두사 일치를 기반으로 트래픽이 예기치 않게 분류될 수 있습니다.몇 가지 시나리오를 자세히 살펴보겠습니다.
ACI에 대한 기본적인 이해:L3outs, 계약 및 정책 시행아래에 몇 가지 유용한 용어에 대해 간략하게 설명하며, 이에 대한 자세한 내용은 이 문서의 범위를 벗어납니다.
pcTag:ACI는 트래픽을 pcTags로 분류하며, 이는 EPG의 내부 표현입니다.기본적으로 이 값은 VRF 범위가 있습니다. 즉, VRF 내에서 고유하지만 VRF 전체에서 재사용될 수 있습니다.그러나 한 EPG가 다른 VRF/테넌트의 다른 EPG와 계약을 맺은 경우 pcTag 값은 전역 범위를 갖습니다. 즉, 동일한 pcTag를 사용하는 ACI에서 다른 EPG를 찾을 수 없습니다.
ELAM:Embedded Logic Analysis Module입니다.이 툴은 필터를 기반으로 ASIC에서 하나의 패킷을 캡처하고 패킷에 설정된 헤더/플래그를 확인하는 데 사용됩니다.이 툴은 하드웨어 기반 조회/로직을 파악하는 데도 도움이 됩니다.
sclass/dclass:트래픽이 leaf로 들어오는 경우 정책 시행 방향 및 로컬에서 사용 가능한 접두사 정보에 따라 leaf는 소스 및 대상 트래픽을 EPG로 표시합니다. ELAM에서는 이를 각각 sclass 및 dclass로 표시합니다.
zoning-rule: 계약에 대한 내부 표현이며 ACL의 행과 유사합니다.SrcEpg 및 DstEpg 값은 트래픽이 지정된 규칙에 도달하고 허용되도록 sclass/dclass와 일치해야 합니다.기본적으로 강제 적용된 vrf에서는 암시적 거부가 마지막 행으로 나타나므로, 특정 규칙에 대해 일치하지 않는 트래픽은 암시적 거부에 도달하여 삭제됩니다.
2개의 리프 - 101 및 102, 모델: N9K-C93180YC-EX
이 시나리오에서는 트래픽이 겹치는 서브넷에서 소싱될 경우(ACI의 관점에서) 잠재적인 잘못된 분류가 있는지 살펴봅니다.
OSPF에서 광고하는 내용:
10.9.9.6/32
EIGRP가 광고하는 내용:
10.9.9.1/32
먼저 다이어그램 1의 토폴로지에서 시작하지만, 어떤 계약도 없습니다.OSPF의 EPG의 경우 서브넷 0.0.0.0/0을 '외부 EPG의 외부 서브넷'으로 정의하고, EIGRP의 EPG에 대해 동일한 플래그를 사용하여 10.9.9.0/24으로 정의합니다.Leaf1 및 2의 표는 다음과 같습니다.
리프1:
leaf101# show end int eth1/24 Legend: s - arp H - vtep V - vpc-attached p - peer-aged R - peer-attached-rl B - bounce S - static M - span D - bounce-to-proxy O - peer-attached a - local-aged L - local +-----------------------------------+---------------+-----------------+--------------+-------------+ VLAN/ Encap MAC Address MAC Info/ Interface Domain VLAN IP Address IP Info +-----------------------------------+---------------+-----------------+--------------+-------------+ 48 vlan-2743 dcce.c15b.1e47 L eth1/24 shparanj:eigrp-test vlan-2743 172.16.1.17 L eth1/24 leaf101# show ip route vrf shparanj:eigrp-test IP Route Table for VRF "shparanj:eigrp-test" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.9.9.1/32, ubest/mbest: 1/0 *via 10.0.248.0%overlay-1, [200/128576], 05:31:49, bgp-65003, internal, tag 65003 10.9.9.6/32, ubest/mbest: 1/0 *via 10.27.48.2, eth1/22, [110/5], 05:09:51, ospf-default, intra 10.27.47.0/24, ubest/mbest: 1/0 *via 10.0.248.0%overlay-1, [200/0], 05:31:49, bgp-65003, internal, tag 65003 10.27.48.0/24, ubest/mbest: 1/0, attached, direct *via 10.27.48.1, eth1/22, [1/0], 05:31:46, direct 10.27.48.1/32, ubest/mbest: 1/0, attached *via 10.27.48.1, eth1/22, [1/0], 05:31:46, local, local 172.16.1.0/24, ubest/mbest: 1/0, attached, direct, pervasive *via 10.0.240.34%overlay-1, [1/0], 05:27:43, static 172.16.1.254/32, ubest/mbest: 1/0, attached, pervasive *via 172.16.1.254, vlan47, [1/0], 05:31:52, local, local leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) <<vsh>> (to go into vsh propmt , type: #vsh ) leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False
리프2:
leaf102# show ip route vrf shparanj:eigrp-test IP Route Table for VRF "shparanj:eigrp-test" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.9.9.1/32, ubest/mbest: 1/0 *via 10.27.47.10, vlan78, [90/128576], 06:13:41, eigrp-default, internal 10.9.9.6/32, ubest/mbest: 1/0 *via 10.0.0.64%overlay-1, [200/5], 05:20:27, bgp-65003, internal, tag 65003 10.27.47.0/24, ubest/mbest: 1/0, attached, direct *via 10.27.47.2, vlan78, [1/0], 3d21h, direct 10.27.47.2/32, ubest/mbest: 1/0, attached *via 10.27.47.2, vlan78, [1/0], 3d21h, local, local 10.27.48.0/24, ubest/mbest: 1/0 *via 10.0.0.64%overlay-1, [200/0], 05:35:06, bgp-65003, internal, tag 65003
leaf102# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4472 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4471 0 0 implarp enabled 2752513 permit any_any_filter(17) 4470 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) <<vsh>> leaf102# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 37 0x80000025 Up shparanj:eigrp-test ::/0 15 False True False 2752513 37 0x25 Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 37 0x25 Up shparanj:eigrp-test 10.9.9.0/24 16386 False True False
계약 B를 추가하겠습니다(테넌트, 범위 vrf - filer: common:default).
계약 B를 추가하자마자 leaf1에 eigrp EPG 접두사가 추가된 것을 확인할 수 있습니다.
leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 10.9.9.0/24 16386 False True False 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False
다른 정책을 살펴보겠습니다.
리프 1 계약:
leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) 4604 49153 16386 default enabled 2752513 permit src_dst_any(9) 4605 16386 49153 default enabled 2752513 permit src_dst_any(9)
Leaf 2 계약(변경되지 않음):
leaf102# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4472 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4471 0 0 implarp enabled 2752513 permit any_any_filter(17) 4470 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22)
이 시나리오에서는 ospf l3out에서 들어오는 트래픽으로, 이 트래픽은 16387은 대신 16386으로 태그됩니다.트래픽이 Leaf1의 새 접두사 엔트리에 도달하기 때문입니다.
10.9.9.6에서 엔드포인트 172.16.1.17으로 ping합니다.
# ping 172.16.1.17 vrf shp-ospf source 10.9.9.6 count 1000 interval 1 PING 172.16.1.17 (172.16.1.17) from 10.9.9.6: 56 data bytes 64 bytes from 172.16.1.17: icmp_seq=0 ttl=253 time=2.207 ms 64 bytes from 172.16.1.17: icmp_seq=1 ttl=253 time=1.443 ms 64 bytes from 172.16.1.17: icmp_seq=2 ttl=253 time=1.312 ms
Ping은 ospf epg와 app-epg 간의 계약 없이 작동합니다. 이는 eigrp-epg에 대한 정책에 대응하여 허용되기 때문입니다.
ELAM:
module-1(DBG-elam)# trigger init in-select 6 out-select 0 module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.9.9.6 module-1(DBG-elam-insel6)# start module-1(DBG-elam-insel6)# stat ELAM STATUS =========== Asic 0 Slice 0 Status Armed Asic 0 Slice 1 Status Triggered module-1(DBG-elam-insel6)# report | grep sclass sug_lurw_vec.info.nsh_special.sclass: 0x4002 sug_lurw_vec.info.ifabric_spine.sclass: 0x4002 sug_lurw_vec.info.ifabric_leaf.sclass: 0x4002
#dec 0x4002
16386
이 시나리오에서는 목적지와 계약이 있는 pcTag로 분류되어 트래픽이 작동하게 됩니다.그러나 예를 들어, 컴퓨팅 리프가 별도의 3rd leaf인 경우 트래픽이 실패합니다. 계약에 대한 항목이 세 번째 리프(인그레스 정책) 또는 leaf102(이그레스 정책)에만 있기 때문입니다.
이 시나리오에서는 서로 다른 외부 EPG에 외부 서브넷으로 선언된 중복 또는 동일한 서브넷으로 인해 정책 충돌 및 잠재적인 잘못된 분류가 고려됩니다.
OSPF는 네트워크를 광고합니다.
10.9.1.0/24
EIGRP는 네트워크를 광고합니다.
10.9.2.0/24
먼저 다이어그램 1의 토폴로지에서 시작하지만, 어떤 계약도 없습니다.두 L3outs 모두에서 EPG에 대해 서브넷 10.9.0.0/16 as '외부 EPG에 대한 외부 서브넷'을 정의합니다.
Leaf1 및 2의 표는 다음과 같습니다.
리프 1:
leaf101# show ip route vrf shparanj:eigrp-test IP Route Table for VRF "shparanj:eigrp-test" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.9.1.0/24, ubest/mbest: 1/0 *via 10.27.48.2, eth1/22, [110/5], 00:01:50, ospf-default, intra 10.9.2.0/24, ubest/mbest: 1/0 *via 10.0.248.0%overlay-1, [200/128576], 00:00:32, bgp-65003, internal, tag 65003 10.27.47.0/24, ubest/mbest: 1/0 *via 10.0.248.0%overlay-1, [200/0], 01:54:45, bgp-65003, internal, tag 65003 10.27.48.0/24, ubest/mbest: 1/0, attached, direct *via 10.27.48.1, eth1/22, [1/0], 1d09h, direct 10.27.48.1/32, ubest/mbest: 1/0, attached *via 10.27.48.1, eth1/22, [1/0], 1d09h, local, local 172.16.1.0/24, ubest/mbest: 1/0, attached, direct, pervasive *via 10.0.240.34%overlay-1, [1/0], 1d09h, static 172.16.1.254/32, ubest/mbest: 1/0, attached, pervasive *via 172.16.1.254, vlan47, [1/0], 1d09h, local, local leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) <<vsh>> leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 10.9.0.0/16 16387 False True False 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False
리프2:
leaf102# show ip route vrf shparanj:eigrp-test IP Route Table for VRF "shparanj:eigrp-test" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.9.1.0/24, ubest/mbest: 1/0 *via 10.0.0.64%overlay-1, [200/5], 00:05:29, bgp-65003, internal, tag 65003 10.9.2.0/24, ubest/mbest: 1/0 *via 10.27.47.10, vlan80, [90/128576], 00:04:10, eigrp-default, internal 10.27.47.0/24, ubest/mbest: 1/0, attached, direct *via 10.27.47.2, vlan80, [1/0], 01:58:24, direct 10.27.47.2/32, ubest/mbest: 1/0, attached *via 10.27.47.2, vlan80, [1/0], 01:58:24, local, local 10.27.48.0/24, ubest/mbest: 1/0 *via 10.0.0.64%overlay-1, [200/0], 1d09h, bgp-65003, internal, tag 65003 leaf102# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4472 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4471 0 0 implarp enabled 2752513 permit any_any_filter(17) 4470 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) <<vsh>> leaf102# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 37 0x80000025 Up shparanj:eigrp-test ::/0 15 False True False 2752513 37 0x25 Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 37 0x25 Up shparanj:eigrp-test 10.9.0.0/16 16386 False True False
이 상태에서는 계약이 없으면 EPG에 결함이 없습니다.접두사에 중복되는 부분이 아직 발견되지 않았습니다!
Contract B를 추가하면 app-EPG에 결함이 표시됩니다(Contract B 사용).
토폴로지:
이제 테이블의 변경 사항을 살펴보겠습니다.
leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) 4605 49153 16386 default enabled 2752513 permit src_dst_any(9) 4604 16386 49153 default enabled 2752513 permit src_dst_any(9) <<vsh>> leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 10.9.0.0/16 16387 False True False 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False
Leaf2는 변경되지 않습니다.
계약 B에 해당하는 zoning-rule이 설치되어 있음을 보여줍니다.그러나 접두사는 이미 있으므로 추가할 수 없습니다. OSPF EPG에 대해 표시됩니다!
그리고 이것이 바로 fault가 경고하는 것입니다. "다른 EPG에서 이미 사용되는 접두사 입력" - 정책(zoning-rules)과 애플리케이션 간에 특정 leaf에 충돌이 있을 때만 결함이 제기됩니다.결함이 소비자 EPG에서 제기됩니다.
10.9.2.1에서 트래픽을 시작하면 정책 거부로 인해 Leaf101에서 삭제됩니다.
# show logging ip access-list internal packet-log deny
[ Tue Feb 19 19:31:33 2019 234270 usecs]: CName: shparanj:eigrp-test(VXLAN: 2752513), VlanType: FD_VLAN, Vlan-Id: 48, SMac: 0xdccec15b1e47, DMac:0x0022bdf819ff, SIP: 172.16.1.17, DIP: 10.9.2.1, SPort: 0, DPort: 0, Src Intf: Ethernet1/24, Proto: 1, PktLen: 98 [ Tue Feb 19 19:31:31 2019 234310 usecs]: CName: shparanj:eigrp-test(VXLAN: 2752513), VlanType: FD_VLAN, Vlan-Id: 48, SMac: 0xdccec15b1e47, DMac:0x0022bdf819ff, SIP: 172.16.1.17, DIP: 10.9.2.1, SPort: 0, DPort: 0, Src Intf: Ethernet1/24, Proto: 1, PktLen: 98
EP 172.16.1.17에서 10.9.2.1로의 회신이 삭제됩니다.그 이유는 다음과 같습니다.
이러한 상황에서 잘못 분류하면 올바른 컨피그레이션이 있는 것처럼 보이지만(결함이 무시된 경우) 트래픽이 삭제됩니다.
이 시나리오에서는 다른 외부 EPG에 외부 서브넷으로 0.0.0.0/0 서브넷을 적용했기 때문에 잠재적인 잘못된 분류 및 예기치 않은 보안 위반을 살펴봅니다.
OSPF는 네트워크를 광고합니다.
10.7.7.0/24
EIGRP는 네트워크를 광고합니다.
10.8.8.0/24
먼저 다이어그램 1의 토폴로지에서 시작하지만, 어떤 계약도 없습니다.두 L3outs 모두에서 EPG에 대해 서브넷 0.0.0.0/0을 '외부 EPG의 외부 서브넷'으로 정의합니다.
Leaf1 및 2의 표는 다음과 같습니다.
리프1:
leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) leaf101# show ip route vrf shparanj:eigrp-test IP Route Table for VRF "shparanj:eigrp-test" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.7.7.0/24, ubest/mbest: 1/0 *via 10.27.48.2, eth1/22, [110/5], 00:23:29, ospf-default, intra 10.8.8.0/24, ubest/mbest: 1/0 *via 10.0.248.0%overlay-1, [200/128576], 00:02:30, bgp-65003, internal, tag 65003 10.27.47.0/24, ubest/mbest: 1/0 *via 10.0.248.0%overlay-1, [200/0], 00:02:33, bgp-65003, internal, tag 65003 10.27.48.0/24, ubest/mbest: 1/0, attached, direct *via 10.27.48.1, eth1/22, [1/0], 1d07h, direct 10.27.48.1/32, ubest/mbest: 1/0, attached *via 10.27.48.1, eth1/22, [1/0], 1d07h, local, local 172.16.1.0/24, ubest/mbest: 1/0, attached, direct, pervasive *via 10.0.240.34%overlay-1, [1/0], 1d07h, static 172.16.1.254/32, ubest/mbest: 1/0, attached, pervasive *via 172.16.1.254, vlan47, [1/0], 1d07h, local, local <<vsh>> leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False
리프2:
leaf102# show ip route vrf shparanj:eigrp-test IP Route Table for VRF "shparanj:eigrp-test" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.7.7.0/24, ubest/mbest: 1/0 *via 10.0.0.64%overlay-1, [200/5], 00:26:07, bgp-65003, internal, tag 65003 10.8.8.0/24, ubest/mbest: 1/0 *via 10.27.47.10, vlan80, [90/128576], 00:05:08, eigrp-default, internal 10.27.47.0/24, ubest/mbest: 1/0, attached, direct *via 10.27.47.2, vlan80, [1/0], 00:05:11, direct 10.27.47.2/32, ubest/mbest: 1/0, attached *via 10.27.47.2, vlan80, [1/0], 00:05:11, local, local 10.27.48.0/24, ubest/mbest: 1/0 *via 10.0.0.64%overlay-1, [200/0], 1d07h, bgp-65003, internal, tag 65003 leaf102# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4472 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4471 0 0 implarp enabled 2752513 permit any_any_filter(17) 4470 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) <<vsh>> leaf102# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 37 0x80000025 Up shparanj:eigrp-test ::/0 15 False True False 2752513 37 0x25 Up shparanj:eigrp-test 0.0.0.0/0 15 False True False
계약 A와 B를 모두 추가해도 결함이 표시되지 않습니다.
Leaf의 표를 살펴보겠습니다.
리프1:
leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) 4616 49153 15 default enabled 2752513 permit src_dst_any(9) 4617 32770 49153 default enabled 2752513 permit src_dst_any(9)
<<vsh>>
leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False
Leaf2의 테이블은 변경되지 않습니다.
각 잎의 관점에서는 정책 상충이 없기 때문에 우리는 어떤 결점도 보지 못합니다.외부 EPG로 0.0.0.0/0을 사용할 때 추가된 규칙 ID는 특별합니다.
Leaf1의 ELAM:
module-1(DBG-elam)# trigger init in-select 6 out-select 0 module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.7.7.1 module-1(DBG-elam-insel6)# start module-1(DBG-elam-insel6)# stat ELAM STATUS =========== Asic 0 Slice 0 Status Armed Asic 0 Slice 1 Status Triggered module-1(DBG-elam-insel6)# report | grep sclass sug_lurw_vec.info.nsh_special.sclass: 0x8002 sug_lurw_vec.info.ifabric_spine.sclass: 0x8002 sug_lurw_vec.info.ifabric_leaf.sclass: 0x8002 module-1(DBG-elam-insel6)# dec 0x8002 32770 module-1(DBG-elam-insel6)# reset module-1(DBG-elam-insel6)# set outer ipv4 dst_ip 10.7.7.1 module-1(DBG-elam-insel6)# start module-1(DBG-elam-insel6)# stat ELAM STATUS =========== Asic 0 Slice 0 Status Armed Asic 0 Slice 1 Status Armed module-1(DBG-elam-insel6)# stat ELAM STATUS =========== Asic 0 Slice 0 Status Armed Asic 0 Slice 1 Status Triggered module-1(DBG-elam-insel6)# report | grep dclass sug_lurw_vec.info.nsh_special.dclass: 0xF sug_lurw_vec.info.ifabric_leaf.dclass: 0xF
계약 A를 제거하더라도 10.7.7.1은 172.16.1.17과 계속 통신할 수 있습니다.
계약 A를 제거해도 Leaf1의 zoning-rule이 변경되지 않기 때문입니다.
leaf101# show system internal policy-mgr prefix | grep shparanj:eigrp-test 2752513 26 0x1a Up shparanj:eigrp-test 0.0.0.0/0 15 False True False 2752513 26 0x8000001a Up shparanj:eigrp-test ::/0 15 False True False leaf101# exit leaf101# show zoning-rule scope 2752513 Rule ID SrcEPG DstEPG FilterID operSt Scope Action Priority ======= ====== ====== ======== ====== ===== ====== ======== 4173 0 0 implicit enabled 2752513 deny,log any_any_any(21) 4174 0 0 implarp enabled 2752513 permit any_any_filter(17) 4175 0 15 implicit enabled 2752513 deny,log any_vrf_any_deny(22) 4207 0 32771 implicit enabled 2752513 permit any_dest_any(16) 4616 49153 15 default enabled 2752513 permit src_dst_any(9) 4617 32770 49153 default enabled 2752513 permit src_dst_any(9)
또한 EPG는 여전히 0.0.0.0/0을 외부 서브넷으로 표시하므로 OSPF 외부 EPG에서 들어오는 트래픽은 VRF pcTag로 계속 태그됩니다.
이로 인해 보안 정책(예: 강제 VRF에서 계약 없이 통신할 수 있는 EPG 2개)이 침해됩니다.