Introduction

Este documento descreve a configuração do Service Graph L4-L7 com Route Peering, em que o consumidor e o provedor são externos à estrutura da Application Centric Infrastructure (ACI).   



Contribuído por Zahid Hassan, engenheiro de serviços avançados da Cisco.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

  • Grupos estáticos de VLAN que serão usados para a VLAN de encapsulamento entre os dispositivos externos e a estrutura ACI

  • Domínios físicos e roteados externos que unirão o local (nó/caminho de folha) dos dispositivos externos e o pool de VLANs

  • Conexão da camada 3 a uma rede externa (L3Out)

As etapas anteriores das configurações de acesso à estrutura e L3Out não são abordadas neste documento e foram presumidas que elas já foram concluídas.

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software:

  • Cisco Application Policy Infrastructure Controller (Cisco APIC) - 1.2(1m) 
  • Pacote de dispositivos do Adaptive Security Appliance (ASA) - 1.2.4.8
  • ASA 5585 - 9,5(1)
  • Nexus 3064 - 6.0(2)U3(7)

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Informações de Apoio

O Route Peering é um recurso que permite que um dispositivo de serviço, como um balanceador de carga ou um firewall, anuncie sua acessibilidade por meio da estrutura da ACI até uma rede externa.

O caso de uso apresentado aqui é um firewall físico que é implantado como um Gráfico de serviços de dois braços, entre dois L3Outs ou Grupos de terminais externos (EPGs). O Service Graph está associado a um contrato entre o EPG externo no Leaf 101 (N3K-1) e o EPG externo no Leaf 102 (N3K-2). A estrutura da ACI está fornecendo um serviço de trânsito para os roteadores (N3K-1 e N3K-2) e a Peering de Rota é usada, com o OSPF (Open Shortest Path First) como protocolo de roteamento, para trocar rotas entre o firewall e a estrutura da ACI.

Configurar

Diagrama de Rede

A imagem a seguir mostra como o Route Peering funciona de ponta a ponta:

Configurar

Etapa 1. Configure o Virtual Routing and Forwarding1 (VRF1), VRF2, Bridge Domain1 (BD1) e BD2. Associe BD1 a VRF1 e BD2 a VRF2, como mostrado na imagem:

Etapa 2. Carregue o pacote de dispositivos ASA em Dispositivo L4-L7, conforme mostrado na imagem, :

Configure o dispositivo L4-L7 para o ASA 5585 físico (roteado), como mostrado na imagem:

Etapa 3. Configure L3Out para N3K-1 e associe com BD1 e VRF1.

A rede roteada externa é usada para especificar a configuração de roteamento na estrutura da ACI para o Route Peering, como mostrado na imagem:

Note: Todas as interfaces L3Out que são usadas para o Peering de Rota, precisam ser configuradas como uma Interface Virtual de Switch (SVI) com encapsulamento de VLAN de acordo.

Configure o controle de rota de importação/exportação em sub-redes para N3K-1 L3Out External EPG, como mostrado na imagem:

Configure L3Out para a interface ASA-External e associe-se a BD1 e VRF1, como mostrado na imagem:

Configure o controle de rota de importação/exportação em sub-redes para ASA-External L3Out External EPG, como mostrado na imagem:

Configure L3out para ASA-Internal e associe com BD2 e VRF2, como mostrado na imagem:

Configure o controle de rota de importação/exportação em sub-redes para ASA-Internal L3Out External EPG, como mostrado na imagem:

Configure L3Out para N3K-2 e associe com BD2 e VRF2, como mostrado na imagem:

Configure o controle de rota de importação/exportação em sub-redes para N3K-2 L3Out para EPG externo, como mostrado na imagem:

Etapa 4. Crie um grupo de perfis de função e configure o perfil de função a partir do modelo existente, como mostrado na imagem:

Etapa 5. Crie um Contrato e modifique o campo Escopo para Espaço, conforme mostrado na imagem:

Etapa 6. Como mostrado na imagem, crie o Modelo de Gráfico de Serviços L4-L7 no qual a associação do Gráfico de Serviços envolve a associação de uma política de rede roteada externa e a configuração do roteador com uma Política de Seleção de Dispositivos.

 :

Configuração do roteador para especificar o ID do roteador que será usado no Service Appliance (ASA 5585), como mostrado na imagem:

Altere o tipo de adjacência de L2 para L3, conforme mostrado na imagem:

Aplicar modelo de gráfico de serviço, como mostrado na imagem:

 Anexe o Service Graph ao Contrato, conforme mostrado na imagem:

Adicione/altere o parâmetro L4-L7, se necessário, conforme mostrado na imagem:

Passo 7: Política de tag de rota, configurar Política de tag de rota para VRF1 (Tag:100), como mostrado na imagem:

Configure a política de etiqueta de rota para VRF2 (Tag:200), como mostrado na imagem:

Passo 8: Verifique o status e verifique a Política de seleção de dispositivo, conforme mostrado na imagem:

Verifique a instância do gráfico implantado, como mostrado na imagem:

Verificar e solucionar problemas

Configuração APIC para o espaço:

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# 

Verifique a relação de vizinhança do OSPF e a tabela de roteamento na folha 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

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

Verifique a relação de vizinhança do OSPF e a tabela de roteamento na folha 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

Verifique a configuração, a relação de vizinhança OSPF e a tabela de roteamento no 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

Verifique a configuração, a relação de vizinhança OSPF e a tabela de roteamento em 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

Verifique a configuração, a relação de vizinhança OSPF e a tabela de roteamento em 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


Verifique as regras de filtro do contrato no leaf e as contagens de ocorrências do pacote:.  

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




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]

Ensaio de acessibilidade entre 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

O arquivo de configuração XML do Espaço e o perfil de função do ASA, usados para esta demonstração, estão anexados.