La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive la procedura dettagliata per la configurazione del grafico dei servizi L4-L7 con peer route, in cui sia il consumer che il provider sono esterni alla struttura ACI (Application Centric Infrastructure).
Contributo di Zahid Hassan, Cisco Advanced Services Engineer.
Cisco raccomanda la conoscenza dei seguenti argomenti:
I passaggi precedenti relativi alle configurazioni Fabric Access e L3Out non sono illustrati in questo documento e si presume che siano già stati completati.
Le informazioni di questo documento si basano sulle seguenti versioni software:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Route Peering è una funzionalità che consente a un'appliance di servizio, ad esempio un servizio di bilanciamento del carico o un firewall, di annunciare la raggiungibilità del dispositivo attraverso la struttura ACI fino a una rete esterna.
Lo scenario di utilizzo presentato qui è un firewall fisico distribuito come un Service Graph a due bracci, tra due L3Out o gruppi di endpoint esterni (EPG, External End Point Group). Il grafico del servizio è associato a un contratto tra l'EPG esterno sulla foglia 101 (N3K-1) e l'EPG esterno sulla foglia 102 (N3K-2). L'infrastruttura ACI fornisce un servizio di transito per i router (N3K-1 e N3K-2) e viene utilizzato Route Peering, con Open Shortest Path First (OSPF) come protocollo di routing, per scambiare le route tra il firewall e l'infrastruttura ACI.
Nell'immagine seguente viene illustrato il funzionamento end-to-end di Peering route:


Passaggio 1. Configurare Virtual Routing and Forwarding1 (VRF1), VRF2, Bridge Domain1 (BD1) e BD2. Associare BD1 a VRF1 e BD2 a VRF2, come mostrato nell'immagine:

Passaggio 2. Caricare il pacchetto del dispositivo ASA in un dispositivo L4-L7, come mostrato nell'immagine, :

Configurare il dispositivo L4-L7 per l'appliance ASA 5585 (routing) fisica, come mostrato nell'immagine:

Passaggio 3. Configurare L3Out per N3K-1 e associarlo a BD1 e VRF1.
La rete con routing esterno viene utilizzata per specificare la configurazione di routing nella struttura ACI per il peer route, come mostrato nell'immagine:

Nota: Tutte le interfacce L3Out utilizzate per il routing peer devono essere configurate come interfaccia virtuale dello switch (SVI) con l'encap VLAN corrispondente.

Configurare il controllo route di importazione/esportazione nelle subnet per l'EPG esterno N3K-1 L3Out, come mostrato nell'immagine:

Configurare L3Out per l'interfaccia esterna ASA e associarlo a BD1 e VRF1, come mostrato nell'immagine:


Configurare il controllo route di importazione/esportazione nelle subnet per l'EPG esterno L3Out ASA, come mostrato nell'immagine:

Configurare L3out per ASA-Internal e associarlo a BD2 e VRF2, come mostrato nell'immagine:


Configurare il controllo route di importazione/esportazione sulle subnet per l'EPG esterno L3Out interno ASA, come mostrato nell'immagine:

Configurare L3Out per N3K-2 e associarlo a BD2 e VRF2, come mostrato nell'immagine:


Configurare il controllo route di importazione/esportazione nelle subnet per N3K-2 L3Out per EPG esterno, come mostrato nell'immagine:

Passaggio 4. Creare il gruppo di profili di funzione e configurare il profilo di funzione dal modello esistente, come mostrato nell'immagine:


Passaggio 5. Creare un contratto e modificare il campo Ambito in Tenant, come mostrato nell'immagine:

Passaggio 6. Come mostrato nell'immagine, creare un modello di Service Graph L4-L7 in cui l'associazione di Service Graph implica l'associazione di un criterio di rete con routing esterno e la configurazione del router a un criterio di selezione del dispositivo.
:


Configurazione del router per specificare l'ID del router che verrà utilizzato sull'appliance Service (ASA 5585), come mostrato nell'immagine:

Modificate il tipo di adiacenza da L2 a L3, come mostrato nell'immagine:

Applica modello di Service Graph, come mostrato nell'immagine:

Allegare il diagramma assistenza al contratto, come mostrato nell'immagine:


Se necessario, aggiungere/modificare il parametro L4-L7, come mostrato nell'immagine:

Passaggio 7: Criteri tag route, configurare i criteri tag route per VRF1 (tag:100), come mostrato nell'immagine:

Configurare il criterio Route-Tag per VRF2 (Tag:200), come mostrato nell'immagine:

Passaggio 8: Controllare lo stato e verificare il criterio di selezione del dispositivo, come mostrato nell'immagine:


Verificare l'istanza di Deployed Graph, come mostrato nell'immagine:



Configurazione APIC per tenant:
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]
Verificare la relazione tra nodi adiacenti OSPF e la tabella di routing nella foglia 101:
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
Verificare la relazione di router adiacente OSPF e la tabella di routing nella foglia 102:
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]
Verificare la configurazione, la relazione tra nodi adiacenti OSPF e la tabella di routing su ASA 5585:
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]
Verificare la configurazione, la relazione tra nodi adiacenti OSPF e la tabella di routing in N3K-1:
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]
Verificare la configurazione, la relazione tra nodi adiacenti OSPF e la tabella di routing in N3K-2:
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]
Verificare le regole di filtro del contratto sulla foglia e il numero di riscontri del pacchetto:.
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]
Prova di raggiungibilità tra N3K-1 e 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]
In allegato è il file di configurazione XML per il tenant e il profilo delle funzioni ASA, utilizzato per questa dimostrazione.
Feedback