본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 소비자와 공급자 모두 ACI(Application Centric Infrastructure) 패브릭의 외부에 있는 경로 피어링을 사용하는 L4-L7 서비스 그래프의 컨피그레이션 연습을 설명합니다.
기고자: Zahid Hassan, Cisco Advanced Services 엔지니어
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
앞의 패브릭 액세스 및 L3Out 구성 단계는 이 문서에서 다루지 않으며 이미 완료된 것으로 간주되었습니다.
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
Route Peering은 로드 밸런서 또는 방화벽과 같은 서비스 어플라이언스에서 ACI 패브릭을 통해 외부 네트워크로 연결할 수 있는 연결성을 알릴 수 있는 기능입니다.
여기에 제시된 활용 사례는 2개의 L3Outs 또는 외부 EPG(End Point Groups) 사이에 2암 서비스 그래프로 구축된 물리적 방화벽입니다. 서비스 그래프는 Leaf 101(N3K-1)의 외부 EPG와 Leaf 102(N3K-2)의 외부 EPG 간의 계약과 연결됩니다. ACI 패브릭은 라우터에 트랜짓 서비스(N3K-1 및 N3K-2)를 제공하고 라우팅 프로토콜로 OSPF(Open Shortest Path First)를 사용하여 방화벽과 ACI 패브릭 간의 경로를 교환합니다.
다음 이미지는 경로 피어링이 엔드 투 엔드 방식으로 작동하는 방식을 보여줍니다.
1단계. 가상 라우팅 및 포워딩1(VRF1), VRF2, 브리지 도메인1(BD1) 및 BD2를 구성합니다. 이미지에 표시된 대로 BD1을 VRF1에 연결하고 BD2를 VRF2에 연결합니다.
2단계. 이미지에 표시된 대로 L4-L7 디바이스 아래에 ASA 디바이스 패키지를 업로드합니다.
이미지에 표시된 대로 물리적 ASA 5585(라우티드)에 대해 L4-L7 디바이스를 구성합니다.
3단계. N3K-1에 대해 L3Out을 구성하고 BD1 및 VRF1과 연결합니다.
외부 라우티드 네트워크는 다음 이미지에 표시된 것처럼 경로 피어링을 위한 ACI 패브릭에서 라우팅 컨피그레이션을 지정하는 데 사용됩니다.
참고:Route Peering에 사용되는 모든 L3Out 인터페이스는 그에 따라 VLAN 캡슐화가 포함된 SVI(Switch Virtual Interface)로 구성해야 합니다.
이미지에 표시된 대로 N3K-1 L3Out 외부 EPG에 대한 서브넷에서 Import/Export Route Control을 구성합니다.
ASA 외부 인터페이스에 대해 L3Out을 구성하고 이미지에 표시된 대로 BD1 및 VRF1과 연결합니다.
이미지에 표시된 대로 ASA-External L3Out External EPG용 서브넷에서 Import/Export Route Control을 구성합니다.
이미지에 표시된 대로 ASA-Internal에 대해 L3out을 구성하고 BD2 및 VRF2와 연결합니다.
이미지에 표시된 대로 ASA-Internal L3Out External EPG용 서브넷에서 Import/Export Route Control을 구성합니다.
이미지에 표시된 대로 N3K-2에 대해 L3Out을 구성하고 BD2 및 VRF2와 연결합니다.
이미지에 표시된 대로 N3K-2 L3Out for External EPG에 대해 서브넷에서 Import/Export Route Control을 구성합니다.
4단계. 이미지에 표시된 대로 기능 프로파일 그룹을 생성하고 기존 템플릿에서 기능 프로파일을 구성합니다.
5단계. 다음 이미지에 표시된 대로 계약을 생성하고 범위 필드를 테넌트로 수정합니다.
6단계. 이미지에 표시된 대로 L4-L7 서비스 그래프 템플릿을 생성합니다. 여기서 서비스 그래프 연결은 외부 라우팅 네트워크 정책 및 라우터 컨피그레이션을 디바이스 선택 정책과 연결합니다.
:
이미지에 표시된 대로 서비스 어플라이언스(ASA 5585)에서 사용할 라우터 ID를 지정하기 위한 라우터 컨피그레이션:
이미지에 표시된 대로 인접성 유형을 L2에서 L3으로 변경합니다.
이미지에 표시된 대로 서비스 그래프 템플릿 적용:
이미지에 표시된 대로 서비스 그래프를 계약에 연결합니다.
필요한 경우 이미지에 표시된 대로 L4-L7 매개 변수 추가/변경:
7단계:Route-tag Policy, 이미지에 표시된 대로 VRF1(Tag:100)에 대한 Route-tag Policy를 구성합니다.
이미지에 표시된 대로 VRF2(Tag:200)에 대한 Route-tag 정책을 구성합니다.
8단계:다음 이미지에 표시된 대로 상태를 확인하고 디바이스 선택 정책을 확인합니다.
이미지에 표시된 대로 Deployed Graph 인스턴스를 확인합니다.
테넌트에 대한 APIC 컨피그레이션:
apic1# sh running-config tenant T1 # Command: show running-config tenant T1 # Time: Thu Feb 25 16:05:14 2016 tenant T1 access-list PERMIT_ALL match ip exit contract PERMIT_ALL scope tenant subject PERMIT_ALL access-group PERMIT_ALL both l4l7 graph ASA5585_SGT exit exit vrf context VRF1 exit vrf context VRF2 exit l3out ASA_IN_L3OUT vrf member VRF2 exit l3out ASA_OUT_L3OUT vrf member VRF1 exit l3out N3K-1_L3OUT vrf member VRF1 exit l3out N3K-2_L3OUT vrf member VRF2 exit bridge-domain BD1 vrf member VRF1 exit bridge-domain BD2 vrf member VRF2 exit application AP1 epg EPG1 bridge-domain member BD1 exit epg EPG2 bridge-domain member BD2 exit exit external-l3 epg ASA_IN_EXT_NET l3out ASA_IN_L3OUT vrf member VRF2 match ip 10.10.10.0/24 exit external-l3 epg ASA_OUT_EXT_NET l3out ASA_OUT_L3OUT vrf member VRF1 match ip 20.20.20.0/24 exit external-l3 epg N3K-1_EXT_NET l3out N3K-1_L3OUT vrf member VRF1 match ip 10.10.10.0/24 contract consumer PERMIT_ALL exit external-l3 epg N3K-2_EXT_NET l3out N3K-2_L3OUT vrf member VRF2 match ip 20.20.20.0/24 contract provider PERMIT_ALL exit interface bridge-domain BD1 exit interface bridge-domain BD2 exit l4l7 cluster name ASA5585 type physical vlan-domain T1_PHY service FW function go-to cluster-device ASA5585_Device_1 cluster-interface inside member device ASA5585_Device_1 device-interface GigabitEthernet0/1 interface ethernet 1/2 leaf 106 exit exit cluster-interface outside member device ASA5585_Device_1 device-interface GigabitEthernet0/0 interface ethernet 1/2 leaf 105 exit exit exit l4l7 graph ASA5585_SGT contract PERMIT_ALL service N1 device-cluster-tenant T1 device-cluster ASA5585 mode FW_ROUTED connector consumer cluster-interface outside l4l7-peer tenant T1 out ASA_OUT_L3OUT epg ASA_OUT_EXT_NET redistribute bgp,ospf exit connector provider cluster-interface inside l4l7-peer tenant T1 out ASA_IN_L3OUT epg ASA_IN_EXT_NET redistribute bgp,ospf exit rtr-cfg ASA5585 exit connection C1 terminal consumer service N1 connector consumer connection C2 terminal provider service N1 connector provider exit rtr-cfg ASA5585 router-id 3.3.3.3 exit exit apic1#[an error occurred while processing this directive]
leaf 101에서 OSPF 인접 디바이스 관계 및 라우팅 테이블을 확인합니다.
leaf101# show ip ospf neighbors vrf T1:VRF1 OSPF Process ID default VRF T1:VRF1 Total number of neighbors: 2 Neighbor ID Pri State Up Time Address Interface 1.1.1.1 1 FULL/BDR 02:07:19 192.168.1.1 Vlan8 3.3.3.3 1 FULL/BDR 00:38:35 192.168.1.5 Vlan9[an error occurred while processing this directive]
leaf101# show ip route vrf T1:VRF1
IP Route Table for VRF "T1:VRF1"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
10.10.10.0/24, ubest/mbest: 1/0
*via 192.168.1.1, vlan8, [110/8], 01:59:50, ospf-default, intra
20.20.20.0/24, ubest/mbest: 1/0
*via 192.168.1.5, vlan9, [110/22], 00:30:20, ospf-default, inter
100.100.100.100/32, ubest/mbest: 2/0, attached, direct
*via 100.100.100.100, lo1, [1/0], 02:21:22, local, local
*via 100.100.100.100, lo1, [1/0], 02:21:22, direct
192.168.1.0/30, ubest/mbest: 1/0, attached, direct
*via 192.168.1.2, vlan8, [1/0], 02:35:53, direct
192.168.1.2/32, ubest/mbest: 1/0, attached
*via 192.168.1.2, vlan8, [1/0], 02:35:53, local, local
192.168.1.4/30, ubest/mbest: 1/0, attached, direct
*via 192.168.1.6, vlan9, [1/0], 02:20:53, direct
192.168.1.6/32, ubest/mbest: 1/0, attached
*via 192.168.1.6, vlan9, [1/0], 02:20:53, local, local
192.168.1.8/30, ubest/mbest: 1/0
*via 192.168.1.5, vlan9, [110/14], 00:30:20, ospf-default, intra
200.200.200.200/32, ubest/mbest: 1/0
*via 192.168.1.5, vlan9, [110/15], 00:30:20, ospf-default, intra
leaf 102에서 OSPF 인접 디바이스 관계 및 라우팅 테이블을 확인합니다.
leaf102# show ip ospf neighbors vrf T1:VRF2 OSPF Process ID default VRF T1:VRF2 Total number of neighbors: 2 Neighbor ID Pri State Up Time Address Interface 3.3.3.3 1 FULL/BDR 00:37:07 192.168.1.9 Vlan14 2.2.2.2 1 FULL/BDR 02:09:59 192.168.1.13 Vlan15 leaf102# show ip route vrf T1:VRF2 IP Route Table for VRF "T1:VRF2" '*' denotes best ucast next-hop '**' denotes best mcast next-hop '[x/y]' denotes [preference/metric] '%<string>' in via output denotes VRF <string> 10.10.10.0/24, ubest/mbest: 1/0 *via 192.168.1.9, vlan14, [110/22], 00:35:22, ospf-default, inter 20.20.20.0/24, ubest/mbest: 1/0 *via 192.168.1.13, vlan15, [110/8], 02:08:13, ospf-default, intra 192.168.1.4/30, ubest/mbest: 1/0 *via 192.168.1.9, vlan14, [110/14], 00:35:22, ospf-default, intra 192.168.1.8/30, ubest/mbest: 1/0, attached, direct *via 192.168.1.10, vlan14, [1/0], 02:14:29, direct 192.168.1.10/32, ubest/mbest: 1/0, attached *via 192.168.1.10, vlan14, [1/0], 02:14:29, local, local 192.168.1.12/30, ubest/mbest: 1/0, attached, direct *via 192.168.1.14, vlan15, [1/0], 02:09:04, direct 192.168.1.14/32, ubest/mbest: 1/0, attached *via 192.168.1.14, vlan15, [1/0], 02:09:04, local, local 200.200.200.200/32, ubest/mbest: 2/0, attached, direct *via 200.200.200.200, lo4, [1/0], 02:10:02, local, local *via 200.200.200.200, lo4, [1/0], 02:10:02, direct[an error occurred while processing this directive]
ASA 5585에서 컨피그레이션, OSPF 네이버 관계 및 라우팅 테이블을 확인합니다.
ASA5585# sh run interface ! interface GigabitEthernet0/0 no nameif security-level 0 no ip address ! interface GigabitEthernet0/0.101 nameif externalIf security-level 50 ip address 192.168.1.5 255.255.255.252 ! interface GigabitEthernet0/1 no nameif security-level 100 no ip address ! interface GigabitEthernet0/1.102 nameif internalIf security-level 100 ip address 192.168.1.9 255.255.255.252 ! interface Management0/0 management-only nameif management security-level 0 ip address 172.23.97.1 255.255.254.0 ASA5585# sh run router router ospf 1 router-id 3.3.3.3 network 192.168.1.4 255.255.255.252 area 0 network 192.168.1.8 255.255.255.252 area 0 area 0 log-adj-changes ! ASA5585# sh ospf neighbor Neighbor ID Pri State Dead Time Address Interface 100.100.100.100 1 FULL/DR 0:00:38 192.168.1.6 externalIf 200.200.200.200 1 FULL/DR 0:00:33 192.168.1.10 internalIf ASA5585# sh route ospf Routing Table: T1 Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set O IA 10.10.10.0 255.255.255.0 [110/18] via 192.168.1.6, 00:22:57, externalIf O IA 20.20.20.0 255.255.255.0 [110/18] via 192.168.1.10, 00:22:47, internalIf O 200.200.200.200 255.255.255.255 [110/11] via 192.168.1.10, 00:22:47, internalIf ASA5585# sh access-list access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300 access-list access-list-inbound; 3 elements; name hash: 0xcb5bd6c7 access-list access-list-inbound line 1 extended permit tcp any any eq www (hitcnt=0) 0xc873a747 access-list access-list-inbound line 2 extended permit tcp any any eq https (hitcnt=0) 0x48bedbdd
access-list access-list-inbound line 3 extended permit icmp any any (hitcnt=6) 0xe4b5a75d[an error occurred while processing this directive]
N3K-1에서 컨피그레이션, OSPF 네이버 관계 및 라우팅 테이블을 확인합니다.
N3K-1# sh run ospf !Command: show running-config ospf !Time: Thu Feb 25 15:40:55 2016 version 6.0(2)U3(7) feature ospf router ospf 1 router-id 1.1.1.1 interface Ethernet1/21 ip router ospf 1 area 0.0.0.1 interface Ethernet1/47 ip router ospf 1 area 0.0.0.1 N3K-1# sh ip ospf neighbors OSPF Process ID 1 VRF default Total number of neighbors: 1 Neighbor ID Pri State Up Time Address Interface 100.100.100.100 1 FULL/DR 01:36:24 192.168.1.2 Eth1/47 N3K-1# sh ip ospf route OSPF Process ID 1 VRF default, Routing Table (D) denotes route is directly attached (R) denotes route is in RIB 10.10.10.0/24 (intra)(D) area 0.0.0.1 via 10.10.10.0/Eth1/21* , cost 4 20.20.20.0/24 (inter)(R) area 0.0.0.1 via 192.168.1.2/Eth1/47 , cost 62 100.100.100.100/32 (intra)(R) area 0.0.0.1 via 192.168.1.2/Eth1/47 , cost 41 192.168.1.0/30 (intra)(D) area 0.0.0.1 via 192.168.1.1/Eth1/47* , cost 40[an error occurred while processing this directive]
N3K-2에서 컨피그레이션, OSPF 네이버 관계 및 라우팅 테이블을 확인합니다.
N3K-2# sh run ospf !Command: show running-config ospf !Time: Thu Feb 25 15:44:47 2016 version 6.0(2)U3(7) feature ospf router ospf 1 router-id 2.2.2.2 interface loopback0 ip ospf network point-to-point ip router ospf 1 area 0.0.0.0 interface Ethernet1/21 ip router ospf 1 area 0.0.0.1 interface Ethernet1/47 ip router ospf 1 area 0.0.0.1 N3K-2# sh ip ospf neighbors OSPF Process ID 1 VRF default Total number of neighbors: 1 Neighbor ID Pri State Up Time Address Interface 200.200.200.200 1 FULL/DR 01:43:50 192.168.1.14 Eth1/47 N3K-2# sh ip ospf route OSPF Process ID 1 VRF default, Routing Table (D) denotes route is directly attached (R) denotes route is in RIB 2.2.2.0/30 (intra)(D) area 0.0.0.0 via 2.2.2.0/Lo0* , cost 1 10.10.10.0/24 (inter)(R) area 0.0.0.1 via 192.168.1.14/Eth1/47 , cost 62 20.20.20.0/24 (intra)(D) area 0.0.0.1 via 20.20.20.0/Eth1/21* , cost 4 192.168.1.12/30 (intra)(D) area 0.0.0.1 via 192.168.1.13/Eth1/47* , cost 40[an error occurred while processing this directive]
leaf의 계약 필터 규칙 및 패킷 적중 횟수를 확인합니다.
leaf101# show system internal policy-mgr stats Requested Rule Statistics [CUT] Rule (4107) DN (sys/actrl/scope-3112964/rule-3112964-s-32773-d-49158-f-33) Ingress: 1316, Egress: 0, Pkts: 0 RevPkts: 0 Rule (4108) DN (sys/actrl/scope-3112964/rule-3112964-s-49158-d-32773-f-33) Ingress: 1317, Egress: 0, Pkts: 0 RevPkts: 0 leaf101# show system internal policy-mgr stats Requested Rule Statistics [CUT] Rule (4107) DN (sys/actrl/scope-3112964/rule-3112964-s-32773-d-49158-f-33) Ingress: 2317, Egress: 0, Pkts: 0 RevPkts: 0 Rule (4108) DN (sys/actrl/scope-3112964/rule-3112964-s-49158-d-32773-f-33) Ingress: 2317, Egress: 0, Pkts: 0 RevPkts: 0[an error occurred while processing this directive]
leaf102# show system internal policy-mgr stats Requested Rule Statistics [CUT] Rule (4103) DN (sys/actrl/scope-2752520/rule-2752520-s-49156-d-6019-f-default) Ingress: 3394, Egress: 0, Pkts: 0 RevPkts: 0 Rule (4104) DN (sys/actrl/scope-2752520/rule-2752520-s-6019-d-49156-f-default) Ingress: 3394, Egress: 0, Pkts: 0 RevPkts: 0 [CUT] leaf102# show system internal policy-mgr stats Requested Rule Statistics [CUT] Rule (4103) DN (sys/actrl/scope-2752520/rule-2752520-s-49156-d-6019-f-default) Ingress: 4392, Egress: 0, Pkts: 0 RevPkts: 0 Rule (4104) DN (sys/actrl/scope-2752520/rule-2752520-s-6019-d-49156-f-default) Ingress: 4392, Egress: 0, Pkts: 0 RevPkts: 0 [CUT]
N3K-1과 N3K-2 간의 연결 가능성 테스트:
N3K-1# ping 20.20.20.1 source 10.10.10.1 PING 20.20.20.1 (20.20.20.1) from 10.10.10.1: 56 data bytes 64 bytes from 20.20.20.1: icmp_seq=0 ttl=250 time=2.098 ms 64 bytes from 20.20.20.1: icmp_seq=1 ttl=250 time=0.922 ms 64 bytes from 20.20.20.1: icmp_seq=2 ttl=250 time=0.926 ms 64 bytes from 20.20.20.1: icmp_seq=3 ttl=250 time=0.893 ms 64 bytes from 20.20.20.1: icmp_seq=4 ttl=250 time=0.941 ms --- 20.20.20.1 ping statistics --- 5 packets transmitted, 5 packets received, 0.00% packet loss round-trip min/avg/max = 0.893/1.156/2.098 ms N3K-2# ping 10.10.10.1 source 20.20.20.1 PING 10.10.10.1 (10.10.10.1) from 20.20.20.1: 56 data bytes 64 bytes from 10.10.10.1: icmp_seq=0 ttl=250 time=2.075 ms 64 bytes from 10.10.10.1: icmp_seq=1 ttl=250 time=0.915 ms 64 bytes from 10.10.10.1: icmp_seq=2 ttl=250 time=0.888 ms 64 bytes from 10.10.10.1: icmp_seq=3 ttl=250 time=1.747 ms 64 bytes from 10.10.10.1: icmp_seq=4 ttl=250 time=0.828 ms --- 10.10.10.1 ping statistics --- 5 packets transmitted, 5 packets received, 0.00% packet loss round-trip min/avg/max = 0.828/1.29/2.075 ms[an error occurred while processing this directive]
이 데모에 사용되는 테넌트 및 ASA 기능 프로파일의 XML 컨피그레이션 파일이 첨부되었습니다.