Introdução
Este documento descreve como configurar uma conexão de Interface de Túnel Virtual (VTI) IPsec do Adaptive Security Appliance (ASA) com o Azure.
Pré-requisitos
Requisitos
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.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
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.
Observação: atualmente, o VTI é suportado apenas no modo roteado de contexto único.
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. Configure 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 na rede virtual à qual as VMs geralmente estão conectadas. Uma sub-rede chamada default é normalmente criada. |
Intervalo de endereço de sub-rede |
Uma sub-rede criada dentro da Rede Virtual. |
|
Etapa 2. Modifique 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. Crie um Virtual Network Gateway.
Este é o endpoint de 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. Essa etapa pode levar de 15 a 20 minutos para ser concluída.
|
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 é feita. |
SKU |
É necessário selecionar VpnGw1 ou superior com base na quantidade de tráfego necessária. O Basic não oferece suporte Border Gateway Protocol (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 |
Crie um novo endereço IP e atribua 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 Azure que se apresenta. |
|
Etapa 4. Crie 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 |
Esse ASN é 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, como mostrado na imagem.
Etapa 6. Configure 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. Configure 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 tunnel-group.
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. Configure a interface do túnel.
Na Etapa 4, configure o Local Network Gateway, um endereço de rede e um endereço IP para a conexão BGP que foi configurada. 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, ele é 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. Configurar o roteamento estático - configurar estaticamente as rotas no ASA e no Azure. Configure o ASA para enviar o 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 as redes que existem atrás do ASA e da sub-rede na interface de túnel e adicione os prefixos na seção Add Additional Network Spaces.
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Etapa 1. Verifique se uma sessão IKEv2 está estabelecida com o comando 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 de 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 de 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. Ao usar o BGP, verifique as rotas de conectividade BGP recebidas e anunciadas para o Azure e para 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. Faça ping em um dispositivo pelo túnel. Neste exemplo, é uma VM do Ubuntu que é 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
Visualize agora as rotas efetivas na VM remota. Eles devem mostrar as rotas anunciadas pelo ASA para a nuvem, como mostrado na imagem.
Troubleshooting
No momento, não há informações específicas disponíveis para solucionar esse problema de configuração.