Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Configurar

Verificar

Troubleshoot

Introduction

Este documento descreve como configurar uma conexão de Interface de Túnel Virtual (VTI) IPsec do Adaptive Security Appliance (ASA) com o Azure. No ASA 9.8.1, o recurso IPsec VTI foi estendido para utilizar IKEv2, no entanto, ele ainda está limitado a sVTI IPv4 sobre IPv4. Este guia de configuração foi produzido com o uso da interface CLI do ASA e do Portal do Azure. A configuração do portal do Azure também pode ser executada pelo PowerShell ou pela API. Para obter mais informações sobre os métodos de configuração do Azure, consulte a documentação do Azure.

Note: Atualmente, o VTI é suportado apenas no modo roteado de contexto único.

Prerequisites

Requirements

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

- Um ASA conectado diretamente à Internet com um endereço IPv4 estático público que executa o ASA 9.8.1 ou posterior

- Uma conta do Azure

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

Este guia supõe que a nuvem do Azure não foi configurada. Algumas dessas etapas podem ser ignoradas se os recursos já estiverem estabelecidos.

Etapa 1. Configurar uma rede no Azure.

Este é o espaço de endereço de rede que reside na Nuvem do Azure. Esse espaço de endereço deve ser grande o suficiente para acomodar sub-redes dentro deles, como mostrado na imagem.

Nome

Um nome para o espaço de endereço IP hospedado na nuvem

Espaço de Endereço

Todo o intervalo CIDR hospedado no Azure. Neste exemplo, 10.1.0.0/16 é usado

Nome da sub-rede

O nome da primeira sub-rede criada dentro da rede virtual à qual as VMs geralmente estão conectadas

Intervalo de endereço de sub-rede

Uma sub-rede criada dentro da Rede Virtual

Etapa 2. Modificar a rede virtual para criar uma sub-rede de gateway.

Navegue até a rede virtual e adicione uma sub-rede de gateway. Neste exemplo, 10.1.1.0/24 é usado.

Etapa 3. Criar um Virtual Network Gateway.

Este é o endpoint VPN hospedado na nuvem. Este é o dispositivo com o qual o ASA cria o túnel IPsec. Essa etapa também cria um IP público que é atribuído ao gateway de rede virtual.

Nome

Nome do Gateway de Rede Virtual

Tipo de gateway

Selecione VPN, pois é uma VPN IPsec

Tipo de VPN

Selecione Baseado em rota porque este é um VTI. Baseado em políticas é usado quando uma VPN de mapa de criptografia é realizada

SKU

É necessário selecionar VpnGw1 ou superior com base na quantidade de tráfego necessária. Básico não suporta BGP

Ativado modo ativo/ativo

Não habilitar. No momento da publicação, o ASA não tem a capacidade de originar a sessão BGP de um loopback ou dentro da interface. O Azure permite apenas 1 endereço IP para o emparelhamento via protocolo BGP

Endereço IP público

Criar um novo endereço IP e atribuir um nome ao recurso

Configurar BGP ASN

Marque esta caixa para ativar o BGP no link

ASN

Deixe este como o 65515 padrão. Este é o ASN que o Azure apresenta como

Etapa 4. Criar um gateway de rede local.

Um gateway de rede local é o recurso que representa o ASA.

Nome

Um nome para o ASA

IP Address

O endereço IP público da interface externa do ASA

Espaço de Endereço

A sub-rede é configurada no VTI posteriormente

Definir configurações de BGP

Marque isto para habilitar o BGP

ASN

Este ASN está configurado no ASA

Endereço IP do par BGP

O endereço IP é configurado na interface VTI do ASA

Etapa 5. Crie uma nova conexão entre o gateway de rede virtual e o gateway de rede local conforme mostrado na imagem.

Etapa 6. Configurar o ASA.

Primeiro, habilite IKEv2 na interface externa e configure as políticas de IKEv2.

crypto ikev2 policy 10

encryption aes-gcm-256 aes-gcm-192 aes-gcm

integrity null

group 14 5 2

prf sha512 sha384 sha256 sha

lifetime seconds 86400

crypto ikev2 policy 20

encryption aes-256 aes-192 aes

integrity sha512 sha384 sha256 sha

group 14 5 2

prf sha512 sha384 sha256 sha

lifetime seconds 86400

crypto ikev2 enable outside

Etapa 6. Configurar um conjunto de transformação IPsec e um perfil IPsec.

crypto ipsec ikev2 ipsec-proposal AZURE-PROPOSAL

protocol esp encryption aes-256

protocol esp integrity sha-256

crypto ipsec profile AZURE-PROPOSAL

set ikev2 ipsec-proposal AZURE-PROPOSAL

Etapa 8. Configure o grupo de túneis.

Recupere o endereço IPv4 Público do Virtual Network Gateway criado na Etapa 3, conforme mostrado na imagem.

Em seguida, configure no ASA uma política de grupo e um grupo de túneis com a chave pré-compartilhada definida na Etapa 3.

group-policy AZURE internal

group-policy AZURE attributes

vpn-tunnel-protocol ikev2

tunnel-group A.A.A.A type ipsec-l2l

tunnel-group A.A.A.A general-attributes

default-group-policy AZURE

tunnel-group A.A.A.A ipsec-attributes

ikev2 remote-authentication pre-shared-key *****

ikev2 local-authentication pre-shared-key *****

Etapa 9. Configurar a interface túnel.

Na Etapa 4. (configurar o Local Network Gateway), foram configurados um endereço de rede e um endereço IP para a conexão BGP. Esse é o endereço IP e a rede a serem configurados no VTI.

interface Tunnel1

nameif AZURE

ip address 192.168.100.1 255.255.255.252

tunnel source interface outside

tunnel destination A.A.A.A

tunnel mode ipsec ipv4

tunnel protection ipsec profile AZURE-PROPOSAL

no shutdown

Etapa 10.

Opção 1. Configure o roteamento dinâmico. Troque rotas com o Azure usando o BGP.

Localize o endereço IP do roteador BGP no Azure para exibir a configuração do gateway de rede virtual criado na etapa 3.  Neste exemplo, é 10.1.2.254.

No ASA, configure uma rota estática que aponte para 10.1.2.254 fora do túnel VTI. Neste exemplo, 192.168.100.2 está dentro da mesma sub-rede que o VTI. Mesmo que nenhum dispositivo tenha esse endereço IP, o ASA instala a rota que aponta para a interface VTI.

route AZURE 10.1.2.254 255.255.255.255 192.168.100.2 1

Em seguida, configure o BGP no ASA. A rede 192.168.2.0/24 é a interface interna do ASA e uma rota que é propagada para a nuvem. Além disso, as redes configuradas no Azure são anunciadas ao ASA.

router bgp 65000

bgp log-neighbor-changes

bgp graceful-restart

address-family ipv4 unicast

neighbor 10.1.2.254 remote-as 65515

neighbor 10.1.2.254 ebgp-multihop 255

neighbor 10.1.2.254 activate

network 192.168.2.0

network 192.168.100.0 mask 255.255.255.252

no auto-summary

no synchronization

exit-address-family

Opção 2. Configure o roteamento estático - configure rotas estaticamente no ASA e no Azure. Configure o ASA para enviar tráfego para as redes do Azure pelo túnel VTI.

route AZURE 10.1.0.0 255.255.0.0 192.168.100.2 1

Modifique o Local Network Gateway criado na Etapa 4 com redes que existem atrás do ASA e da sub-rede na interface de túnel e adicione os prefixos na seção "Adicionar mais espaços de rede".

Verificar

Use esta seção para confirmar se a sua configuração funciona corretamente.

Etapa 1. Verifique se uma sessão IKEv2 foi estabelecida com show crypto ikev2 sa.

ciscoasa# show crypto ikev2 sa

IKEv2 SAs:

Session-id:6, Status:UP-ACTIVE, IKE count:1, CHILD count:1

Tunnel-id Local                                               Remote                                                  Status         Role

2006974029 B.B.B.B.    /500                                   A.A.A.A/500                                             READY          INITIATOR

Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/4640 sec

Child sa: local selector  0.0.0.0/0 - 255.255.255.255/65535

remote selector 0.0.0.0/0 - 255.255.255.255/65535

ESP spi in/out: 0x74e90416/0xba17723a

Etapa 2. Verifique se uma AS IPsec também é negociada com o uso do comando show crypto ipsec sa.

ciscoasa# show crypto ipsec sa

interface: AZURE

Crypto map tag: __vti-crypto-map-3-0-1, seq num: 65280, local addr: B.B.B.B

local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

current_peer: A.A.A.A

#pkts encaps: 240, #pkts encrypt: 240, #pkts digest: 240

#pkts decaps: 377, #pkts decrypt: 377, #pkts verify: 377

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 240, #pkts comp failed: 0, #pkts decomp failed: 0

#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0

#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0

#TFC rcvd: 0, #TFC sent: 0

#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0

#send errors: 0, #recv errors: 0

local crypto endpt.: B.B.B.B/500, remote crypto endpt.: A.A.A.A/500

path mtu 1500, ipsec overhead 78(44), media mtu 1500

PMTU time remaining (sec): 0, DF policy: copy-df

ICMP error validation: disabled, TFC packets: disabled

current outbound spi: BA17723A

current inbound spi : 74E90416

inbound esp sas:

spi: 0x74E90416 (1961427990)

SA State: active

transform: esp-aes-256 esp-sha-256-hmac no compression

in use settings ={L2L, Tunnel, IKEv2, VTI, }

slot: 0, conn_id: 1722, crypto-map: __vti-crypto-map-3-0-1

sa timing: remaining key lifetime (kB/sec): (3962863/24100)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0xFFFFFFFF 0xFFFFFFFF

outbound esp sas:

spi: 0xBA17723A (3122098746)

SA State: active

transform: esp-aes-256 esp-sha-256-hmac no compression

in use settings ={L2L, Tunnel, IKEv2, VTI, }

slot: 0, conn_id: 1722, crypto-map: __vti-crypto-map-3-0-1

sa timing: remaining key lifetime (kB/sec): (4008947/24100)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x00000001

ciscoasa#

Etapa 3. Verifique a conectividade através do túnel para o roteador remoto BGP com o uso do ping e ping tcp para validar o roteamento da camada 3 e a conectividade da camada 4 para o BGP ou os recursos do ponto final se você usa o roteamento estático.

ciscoasa# ping 10.1.2.254

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.254, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms

ciscoasa# ping tcp 10.1.2.254 179

Type escape sequence to abort.

No source specified. Pinging from identity interface.

Sending 5 TCP SYN requests to 10.1.2.254 port 179

from 192.168.100.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 41/42/42 ms

ciscoasa#

Etapa 4. Quando você usa o BGP. Verifique a conectividade BGP, as rotas recebidas e anunciadas para o Azure e a tabela de roteamento do ASA.

ciscoasa# show bgp summary

BGP router identifier 192.168.100.1, local AS number 65000

BGP table version is 6, main routing table version 6

4 network entries using 800 bytes of memory

5 path entries using 400 bytes of memory

2/2 BGP path/bestpath attribute entries using 416 bytes of memory

1 BGP AS-PATH entries using 24 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 1640 total bytes of memory

BGP activity 14/10 prefixes, 17/12 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

10.1.2.254      4        65515 73      60             6    0    0 01:02:26  3

ciscoasa# show bgp neighbors 10.1.2.254 routes

BGP table version is 6, local router ID is 192.168.100.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 10.1.0.0/16      10.1.2.254                         0  65515 i   <<< This is the virtual network defined in Azure

*  192.168.100.0/30 10.1.2.254                         0  65515 i

r> 192.168.100.1/32 10.1.2.254                         0  65515 i

Total number of prefixes 3

ciscoasa# show bgp neighbors 10.1.2.254 advertised-routes

BGP table version is 6, local router ID is 192.168.100.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 192.168.2.0      0.0.0.0              0         32768  i        <<< These are the routes being advertised to Azure

*> 192.168.100.0/30 0.0.0.0              0         32768  i        <<<

Total number of prefixes 2

ciscoasa#

ciscoasa# show route

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, V - VPN

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 10.1.251.33 to network 0.0.0.0

S*       0.0.0.0 0.0.0.0 [1/0] via B.B.B.C, outside

B        10.1.0.0 255.255.0.0 [20/0] via 10.1.1.254, 01:03:33

S        10.1.2.254 255.255.255.255 [1/0] via 192.168.100.2, AZURE

C        B.B.B.A 255.255.255.224 is directly connected, outside

L        B.B.B.B 255.255.255.255 is directly connected, outside

C        192.168.2.0 255.255.255.0 is directly connected, inside

L        192.168.2.2 255.255.255.255 is directly connected, inside

C        192.168.100.0 255.255.255.252 is directly connected, AZURE

L        192.168.100.1 255.255.255.255 is directly connected, AZURE

Etapa 5. Fazer ping em um dispositivo pelo túnel. Neste exemplo, é uma VM do Ubuntu executada no Azure.

ciscoasa# ping 10.1.0.4

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.0.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms

Veja agora as rotas efetivas na VM remota, elas devem mostrar as rotas que o ASA anunciou para a nuvem, como mostrado na imagem.

Troubleshoot

No momento, não há informações específicas disponíveis para solucionar esse problema de configuração.