Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Diferenças entre VTI e mapa de criptografia

Configurar

Diagrama de Rede

Configurações

Verificar

Troubleshoot

Informações Relacionadas

Introduction

Este documento descreve como configurar o VTI (Virtual Tunnel Interfaces) entre dois ASAs (Adaptive Security Appliances) com o uso do protocolo IKEv2 (Internet Key Exchange versão 2) para fornecer conectividade segura entre duas filiais. Ambas as filiais têm dois links ISP para alta disponibilidade e fins de balanceamento de carga. A vizinhança do BGP (Border Gateway Protocol) é estabelecida nos túneis para trocar informações de roteamento interno.

Esse recurso é apresentado no ASA versão 9.8(1). A implementação do ASA VTI é compatível com a implementação do VTI disponível nos roteadores IOS.

Prerequisites

Requirements

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

- protocolo BGP

Componentes Utilizados

As informações neste documento são baseadas em firewalls ASAv executando a versão de software 9.8(1)6.

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.

Diferenças entre VTI e mapa de criptografia

- O mapa de criptografia é um recurso de saída da interface. Para enviar o tráfego através do túnel baseado em mapa de criptografia, o tráfego precisa ser roteado para a interface de Internet (tradicionalmente chamada de interface externa) e deve ser comparado à ACL de criptografia. Por outro lado, VTI é uma interface lógica. O túnel para cada peer VPN é representado por um VTI diferente. Se o roteamento apontar para VTI, o pacote será criptografado e enviado ao correspondente peer.

- O VTI elimina a necessidade de usar listas de acesso de criptografia e regras de isenção de NAT (Network Address Translation).

- A lista de controle de acesso (ACL) do mapa de criptografia não permite entradas sobrepostas. O VTI é uma VPN baseada em rota e as regras de roteamento regulares aplicam-se ao tráfego VPN, o que simplifica a configuração e os processos para a solução de problemas.

- O mapa de criptografia impede automaticamente que o tráfego entre sites seja enviado em texto claro se o túnel estiver inoperante. O VTI não protege automaticamente contra ele. Rotas nulas precisam ser adicionadas para garantir funcionalidade igual.

Configurar

Diagrama de Rede

Configurações

Observação: este exemplo não é adequado para o cenário em que o ASA é membro do sistema autônomo independente e tem peerings de BGP com redes ISP. Ele abrange a topologia em que o ASA tem dois links ISP independentes com endereços públicos de diferentes sistemas autônomos. Nesse caso, o ISP pode implantar uma proteção anti-falsificação que verifique se os pacotes recebidos não têm origem em IP público que pertence a outro ISP. Nesta configuração, são tomadas as medidas adequadas para evitar isso.

1. Parâmetros comuns de criptografia e autenticação. Informações sobre os parâmetros criptográficos recomendados podem ser encontradas em:

https://www.cisco.com/c/en/us/about/security-center/next-generation-cryptography.html

Em ambos os ASAs:

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 24

prf sha256

lifetime seconds 86400

!

crypto ipsec ikev2 ipsec-proposal PROP

protocol esp encryption aes-256

protocol esp integrity sha-256

2. Configure o perfil IPsec. Um dos lados precisa ser iniciador e um precisa ser um respondente da negociação de IKEv2:

ASA restante:

crypto ipsec profile PROF

set ikev2 ipsec-proposal PROP

set pfs group24

responder-only

Direito ASA:

crypto ipsec profile PROF

set ikev2 ipsec-proposal PROP

set pfs group24

3. Ative o protocolo IKEv2 em ambas as interfaces do ISP.

Ambos os ASAs:

crypto ikev2 enable ispa

crypto ikev2 enable ispb

4. Configure a chave pré-compartilhada para autenticar mutuamente os ASAs:

ASA restante:
tunnel-group 198.51.100.1 type ipsec-l2l

tunnel-group 198.51.100.1 ipsec-attributes

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

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

!

tunnel-group 203.0.113.1 type ipsec-l2l

tunnel-group 203.0.113.1 ipsec-attributes

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

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

Direito ASA:

tunnel-group 198.51.100.129 type ipsec-l2l

tunnel-group 198.51.100.129 ipsec-attributes

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

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

!

tunnel-group 203.0.113.129 type ipsec-l2l

tunnel-group 203.0.113.129 ipsec-attributes

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

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

5. Configure as interfaces do ISP:

ASA restante:

interface GigabitEthernet0/1

nameif ispa

security-level 0

ip address 198.51.100.129 255.255.255.252

!

interface GigabitEthernet0/2

nameif ispb

security-level 0

ip address 203.0.113.129 255.255.255.252

!

Direito ASA:

interface GigabitEthernet0/1

nameif ispa

security-level 0

ip address 198.51.100.1 255.255.255.252

!

interface GigabitEthernet0/2

nameif ispb

security-level 0

ip address 203.0.113.1 255.255.255.252

!

6. O link principal é a interface ISP A. O ISP B é secundário. A disponibilidade do link principal é controlada com o uso da solicitação de ping ICMP para um host na Internet, neste exemplo, os ASAs usam uma interface ISP A entre si como destino de ping:

ASA restante:

sla monitor 1

type echo protocol ipIcmpEcho 198.51.100.1 interface ispa

!

sla monitor schedule 1 life forever start-time now

!

track 1 rtr 1 reachability

!

route ispa 0.0.0.0 0.0.0.0 198.51.100.130 1 track 1

route ispb 0.0.0.0 0.0.0.0 203.0.113.130 10

Direito ASA:

sla monitor 1

type echo protocol ipIcmpEcho 198.51.100.129 interface ispa

!

sla monitor schedule 1 life forever start-time now

!

track 1 rtr 1 reachability

!

route ispa 0.0.0.0 0.0.0.0 198.51.100.2 1 track 1

route ispb 0.0.0.0 0.0.0.0 203.0.113.2 10

7. O VTI principal é sempre estabelecido no ISP A. O VTI secundário é estabelecido no ISP B. As rotas estáticas para o destino do túnel são necessárias. Isso garante que os pacotes criptografados saiam da interface física correta para evitar quedas anti-falsificação de ISP:

ASA restante:

route ispa 198.51.100.1 255.255.255.255 198.51.100.130 1

route ispb 203.0.113.1 255.255.255.255 203.0.113.130 1

Direito ASA:

route ispa 198.51.100.129 255.255.255.255 198.51.100.2 1

route ispb 203.0.113.129 255.255.255.255 203.0.113.2 1

8. Configuração do VTI:

ASA restante:

interface Tunnel1

nameif tuna

ip address 10.1.1.2 255.255.255.0

tunnel source interface ispa

tunnel destination 198.51.100.1

tunnel mode ipsec ipv4

tunnel protection ipsec profile PROF

!

interface Tunnel2

nameif tunb

ip address 10.1.2.2 255.255.255.0

tunnel source interface ispb

tunnel destination 203.0.113.1

tunnel mode ipsec ipv4

tunnel protection ipsec profile PROF
Direito ASA:
interface Tunnel1

nameif tuna

ip address 10.1.1.1 255.255.255.0

tunnel source interface ispa

tunnel destination 198.51.100.129

tunnel mode ipsec ipv4

tunnel protection ipsec profile PROF

!

interface Tunnel2

nameif tunb

ip address 10.1.2.1 255.255.255.0

tunnel source interface ispb

tunnel destination 203.0.113.129

tunnel mode ipsec ipv4

tunnel protection ipsec profile PROF

9. Configuração de BGP. O túnel associado ao ISP A é primário. Os prefixos anunciados sobre o túnel formado sobre o ISP B têm menor preferência local, o que os torna menos preferidos pela tabela de roteamento:

ASA restante:

route-map BACKUP permit 10

set local-preference 80

!

router bgp 65000

bgp log-neighbor-changes

address-family ipv4 unicast

neighbor 10.1.1.1 remote-as 65000

neighbor 10.1.1.1 activate

neighbor 10.1.1.1 next-hop-self

neighbor 10.1.2.1 remote-as 65000

neighbor 10.1.2.1 activate

neighbor 10.1.2.1 next-hop-self

neighbor 10.1.2.1 route-map BACKUP out

network 192.168.1.0

no auto-summary

no synchronization

exit-address-family

Direito ASA:

route-map BACKUP permit 10

set local-preference 80

!

router bgp 65000

bgp log-neighbor-changes

address-family ipv4 unicast

neighbor 10.1.1.2 remote-as 65000

neighbor 10.1.1.2 activate

neighbor 10.1.1.2 next-hop-self

neighbor 10.1.2.2 remote-as 65000

neighbor 10.1.2.2 activate

neighbor 10.1.2.2 next-hop-self

neighbor 10.1.2.2 route-map BACKUP out

network 192.168.2.0

no auto-summary

no synchronization

exit-address-family

10. (Opcional) Para anunciar a rede adicional atrás do ASA esquerdo que não está diretamente conectado a ele, a redistribuição de rota estática pode ser configurada:

ASA restante:

route inside 192.168.10.0 255.255.255.0 192.168.1.100 1

!

prefix-list REDISTRIBUTE_LOCAL seq 10 permit 192.168.10.0/24

!

route-map REDISTRIBUTE_LOCAL permit 10

match ip address prefix-list REDISTRIBUTE_LOCAL

!

router bgp 65000

address-family ipv4 unicast

redistribute static route-map REDISTRIBUTE_LOCAL

11. (Opcional) O tráfego pode ser balanceado entre os túneis com base no destino do pacote. Neste exemplo, a rota em direção à rede 192.168.10.0/24 é preferida ao túnel de backup (túnel B do ISP)

ASA restante:

route-map BACKUP permit 5

match ip address prefix-list REDISTRIBUTE_LOCAL

set local-preference 200

!

route-map BACKUP permit 10

set local-preference 80

12. Para evitar que o tráfego entre sites seja enviado em texto claro para a Internet se os túneis estiverem inoperantes, é necessário adicionar rotas nulas. Todos os endereços RFC1918 foram adicionados para simplificar:

Ambos os ASAs:

route Null0 10.0.0.0 255.0.0.0 250

route Null0 172.16.0.0 255.240.0.0 250

route Null0 192.168.0.0 255.255.0.0 250

13. (Opcional) Por padrão, o processo de BGP do ASA envia keepalives uma vez por 60 segundos. Se a resposta de keepalive não for recebida do peer por 180 segundos, ela será declarada como morta. Para acelerar a falha do vizinho de detecção, você pode configurar temporizadores BGP. Neste exemplo, os keepalives são enviados a cada 10 segundos e o vizinho é declarado inativo após 30 segundos.

router bgp 65000

address-family ipv4 unicast

neighbor 10.1.1.2 timers 10 30

neighbor 10.1.2.2 timers 10 30

exit-address-family

Verificar

Verifique se o túnel IKEv2 está ativado:

ASA-right(config)# show crypto ikev2 sa

IKEv2 SAs:

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

Tunnel-id Local Remote Status Role

836052177 198.51.100.1/500 198.51.100.129/500 READY INITIATOR

Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:24, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/7 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: 0xc6623962/0x5c4a3bce

IKEv2 SAs:

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

Tunnel-id Local Remote Status Role

832833529 203.0.113.1/500 203.0.113.129/500 READY INITIATOR

Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:24, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/29 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: 0x2e3715af/0xc20e22b4

Verificar o status da vizinhança do BGP:

ASA-right(config)# show bgp summary

BGP router identifier 203.0.113.1, local AS number 65000

BGP table version is 29, main routing table version 29

3 network entries using 600 bytes of memory

5 path entries using 400 bytes of memory

5/3 BGP path/bestpath attribute entries using 1040 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 2040 total bytes of memory

BGP activity 25/22 prefixes, 69/64 paths, scan interval 60 secs

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

10.1.1.2 4 65000 6 5 29 0 0 00:00:51 2

10.1.2.2 4 65000 7 6 29 0 0 00:01:20 2

Verifique as rotas recebidas do BGP. As rotas marcadas com ">" estão instaladas na tabela de roteamento:

ASA-right(config)# show bgp

BGP table version is 29, local router ID is 203.0.113.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

*>i192.168.1.0 10.1.1.2 0 100 0 i

* i 10.1.2.2 0 80 0 i

*> 192.168.2.0 0.0.0.0 0 32768 i

* i192.168.10.0 10.1.1.2 0 100 0 ?

*>i 10.1.2.2 0 200 0 ?

Verify routing table:

ASA-right(config)# 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 198.51.100.2 to network 0.0.0.0

S* 0.0.0.0 0.0.0.0 [1/0] via 198.51.100.2, ispa

S 10.0.0.0 255.0.0.0 is directly connected, Null0

C 10.1.1.0 255.255.255.0 is directly connected, tuna

L 10.1.1.1 255.255.255.255 is directly connected, tuna

C 10.1.2.0 255.255.255.0 is directly connected, tunb

L 10.1.2.1 255.255.255.255 is directly connected, tunb

S 172.16.0.0 255.240.0.0 is directly connected, Null0

S 192.168.0.0 255.255.0.0 is directly connected, Null0

B 192.168.1.0 255.255.255.0 [200/0] via 10.1.1.2, 00:02:06

C 192.168.2.0 255.255.255.0 is directly connected, inside

L 192.168.2.1 255.255.255.255 is directly connected, inside

B 192.168.10.0 255.255.255.0 [200/0] via 10.1.2.2, 00:02:35

C 198.51.100.0 255.255.255.252 is directly connected, ispa

L 198.51.100.1 255.255.255.255 is directly connected, ispa

S 198.51.100.129 255.255.255.255 [1/0] via 198.51.100.2, ispa

C 203.0.113.0 255.255.255.252 is directly connected, ispb

L 203.0.113.1 255.255.255.255 is directly connected, ispb

S 203.0.113.129 255.255.255.255 [1/0] via 203.0.113.2, ispb

Troubleshoot

Depurações usadas para solucionar problemas do protocolo IKEv2:

debug crypto ikev2 protocol 4

debug crypto ikev2 plataforma 4

Para obter mais informações sobre a solução de problemas do protocolo IKEv2:

https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/115935-asa-ikev2-debugs.html

Para obter mais informações sobre a solução de problemas do protocolo BGP:

https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/118050-config-bgp-00.html#anc37

Informações Relacionadas

- Regras de seleção de rota BGP:

https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html

- Guia de configuração do ASA BGP:

https://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/118050-config-bgp-00.html

- Suporte Técnico e Documentação - Cisco Systems