Cisco ASA: basato su policy

In questo argomento viene fornita una configurazione basata su criteri per Cisco ASA che esegue il software dalle versioni 8.5 alle 9.7.0.

Importante

Oracle fornisce istruzioni di configurazione per un set testato di fornitori e dispositivi. Utilizzare la configurazione corretta per il fornitore e la versione software.

Se la versione del dispositivo o del software utilizzata da Oracle per verificare la configurazione non corrisponde esattamente al dispositivo o al software, è comunque possibile creare la configurazione necessaria sul dispositivo. Consultare la documentazione del fornitore ed apportare le modifiche necessarie.

Se il dispositivo proviene da un fornitore non incluso nell'elenco dei fornitori e dei dispositivi verificati o se si ha già familiarità con la configurazione del dispositivo per IPSec, vedere l'elenco di parametri IPSec supportati e consultare la documentazione del fornitore per assistenza.

Come promemoria, Oracle fornisce diverse configurazioni basate sul software ASA:

  • 9.7.1 o versione successiva: configurazione basata su percorso
  • da 8,5 a 9,7,0: configurazione basata su criteri (questo argomento)
  • Più vecchio della versione 8.5: non supportato dalle istruzioni di configurazione Oracle. Prendere in considerazione l'aggiornamento a una versione più recente.
Importante

Oracle consiglia di utilizzare una configurazione basata su route per evitare problemi di interoperabilità e per ottenere la ridondanza del tunnel con un singolo dispositivo Cisco ASA.

Cisco ASA non supporta la configurazione basata su percorso per versioni software precedenti alla 9.7.1. Per ottenere risultati ottimali, se il dispositivo lo consente, Oracle consiglia di eseguire l'aggiornamento a una versione software che supporti la configurazione basata su instradamento.

Grazie alla configurazione basata su criteri, puoi configurare solo un singolo tunnel tra Cisco ASA e il tuo Dynamic Routing Gateway (DRG).

Oracle Cloud Infrastructure offersSite-to-Site VPN, una connessione IPSec sicura tra la tua rete on-premise e una rete cloud virtuale (VCN).

Il diagramma riportato di seguito mostra una connessione IPSec di base a Oracle Cloud Infrastructure con tunnel ridondanti. Gli indirizzi IP in questo diagramma sono solo esempi e non per uso letterale.

Questa immagine contiene un riepilogo del layout generale della rete in locale, dei tunnel VPN da sito a sito IPSec e della VCN.
Importante

Oracle fornisce istruzioni di configurazione per un set testato di fornitori e dispositivi. Utilizzare la configurazione corretta per il fornitore e la versione software.

Se la versione del dispositivo o del software utilizzata da Oracle per verificare la configurazione non corrisponde esattamente al dispositivo o al software, è comunque possibile creare la configurazione necessaria sul dispositivo. Consultare la documentazione del fornitore ed apportare le modifiche necessarie.

Se il dispositivo proviene da un fornitore non incluso nell'elenco dei fornitori e dei dispositivi verificati o se si ha già familiarità con la configurazione del dispositivo per IPSec, vedere l'elenco di parametri IPSec supportati e consultare la documentazione del fornitore per assistenza.

Procedure ottimali

Questa sezione descrive le best practice e le considerazioni per l'utilizzo della VPN da sito a sito.

Specifico per Cisco ASA: filtri VPN

I filtri VPN ti consentono di filtrare ulteriormente il traffico prima che entri o dopo che sia uscito da un tunnel. Utilizza i filtri VPN se hai bisogno di una granularità aggiuntiva per filtrare diversi tipi di traffico o flussi di origine/destinazione. Per ulteriori informazioni, consultare la documentazione VPN Filter di Cisco.

La configurazione del filtro VPN non è inclusa nel modello di configurazione visualizzato nella sezione Configurazione CPE. Per utilizzare i filtri VPN, aggiungere manualmente i seguenti elementi di configurazione.

  • Lista di controllo dell'accesso (ACL): creare un'ACL che il filtro VPN possa utilizzare per limitare il traffico consentito attraverso i tunnel. Se si dispone di una lista ACL già utilizzata per un filtro VPN, non utilizzarla anche per un gruppo di accesso all'interfaccia.

    access-list ${vpnFilterAclName} extended permit ip ${VcnCidrNetwork} ${VcnCidrNetmask} ${onPremCidrNetwork} ${onPremCidrNetmask}
  • Criterio di gruppo: applicare il filtro VPN al criterio di gruppo.

    group-policy oracle-vcn-vpn-policy attributes
     vpn-filter value ${vpnFilterAclName}
  • Gruppo tunnel: applica il criterio di gruppo al gruppo di tunnel.

    tunnel-group ${oracleHeadend1} general-attributes
     default-group-policy oracle-vcn-vpn-policy

Traffico interessante

Oracle consiglia di mantenere il traffico interessante in esecuzione attraverso i tunnel IPSec in qualsiasi momento se il CPE lo supporta. Cisco ASA richiede la configurazione del monitoraggio SLA, che garantisce un traffico interessante attraverso i tunnel IPSec. In molti casi in cui Cisco ASA agisce come iniziatore fase 2 non arriva fino a quando non c'è traffico interessante, che fa sì che l'SA sia giù sia quando il tunnel viene sollevato o dopo una chiave di volta di associazione di sicurezza. Per evitare tali situazioni, è possibile utilizzare un traffico interessante continuo o funzionalità come IP SLA. Per ulteriori informazioni, vedere la sezione "Configurazione IP SLA" nel modello di configurazione basato sui criteri di Cisco ASA.

Configura tutti i tunnel per ogni connessione IPSec

Oracle distribuisce due headend IPSec per le connessioni per fornire alta disponibilità per i carichi di lavoro mission-critical. Per quanto riguarda Oracle, questi due headend si trovano su router diversi a scopo di ridondanza. Si consiglia di configurare tutti i tunnel disponibili per la massima ridondanza. Questa è una parte fondamentale della filosofia "Design for Failure".

Disporre di CPE ridondanti nelle posizioni di rete in locale

Consigliamo a ogni sito che si connette con IPSec a Oracle Cloud Infrastructure di disporre di dispositivi edge ridondanti (noti anche come customer-premise equipment (CPE)). Ogni CPE viene aggiunto alla console Oracle e viene creata una connessione IPSec separata tra un gateway di instradamento dinamico (DRG) e ogni CPE. Per ogni connessione IPSec, Oracle esegue il provisioning di due tunnel in headend IPSec ridondanti a livello geografico. Per ulteriori informazioni, consulta la Guida alla ridondanza della connettività (PDF).

Considerazioni sul protocollo di instradamento

Quando si crea una connessione VPN da sito a sito IPSec, sono disponibili due tunnel IPSec ridondanti. Oracle ti consiglia di configurare il CPE in modo che utilizzi entrambi i tunnel (se il CPE lo supporta). In passato, Oracle ha creato connessioni IPSec con un massimo di quattro tunnel IPSec.

Sono disponibili i tre tipi di instradamento seguenti e si seleziona il tipo di instradamento separatamente per ogni tunnel nella VPN da sito a sito:

  • Instradamento dinamico BGP: gli instradamenti disponibili vengono acquisiti in modo dinamico tramite BGP. Il DRG apprende in modo dinamico gli instradamenti dalla rete in locale. Sul lato Oracle, il gateway DRG pubblica le subnet della VCN.
  • Instradamento statico: quando si imposta la connessione IPSec al DRG, si specificano gli instradamenti specifici alla rete in locale di cui si desidera che la VCN sia a conoscenza. Inoltre, devi configurare il dispositivo CPE con instradamenti statici alle subnet della VCN. Questi percorsi non vengono appresi in modo dinamico.
  • Instradamento basato su criteri: quando si imposta la connessione IPSec al DRG, si specificano gli instradamenti specifici alla rete in locale di cui si desidera che la VCN sia a conoscenza. Inoltre, devi configurare il dispositivo CPE con instradamenti statici alle subnet della VCN. Questi percorsi non vengono appresi in modo dinamico.

Per ulteriori informazioni sull'instradamento con VPN da sito a sito, inclusi i suggerimenti Oracle su come manipolare l'algoritmo di selezione del percorso migliore BGP, vedere Instradamento per VPN da sito a sito.

Altre importanti configurazioni CPE

Assicurarsi che le liste di accesso nel CPE siano configurate correttamente per non bloccare il traffico necessario da o verso Oracle Cloud Infrastructure.

Se si dispone di più tunnel contemporaneamente, si potrebbe verificare l'instradamento asimmetrico. Per tenere conto dell'instradamento asimmetrico, assicurarsi che il CPE sia configurato per gestire il traffico proveniente dalla VCN in uno qualsiasi dei tunnel. Ad esempio, è necessario disabilitare l'ispezione ICMP, configurare il bypass dello stato TCP. Per ulteriori dettagli sulla configurazione appropriata, contattare il supporto del fornitore CPE. Per configurare l'instradamento in modo che sia simmetrico, vedere Instradamento per VPN da sito a sito.

Specifico per Cisco ASA: Grotte e limitazioni

Questa sezione copre caratteristiche e limitazioni importanti specifiche di Cisco ASA.

Per esaminare un elenco dei limiti applicabili e le istruzioni per richiedere un incremento del limite, consulta i limiti del servizio.

Discovery MTU e MTU del tunnel

Sono disponibili due opzioni per l'indirizzamento della MTU del tunnel e della ricerca MTU del percorso con Cisco ASA:

Opzione 1: adeguamento MSS TCP

L'unità di trasmissione massima (dimensione del pacchetto) attraverso il tunnel IPSec è inferiore a 1500 byte. È possibile frammentare i pacchetti troppo grandi per essere inseriti nel tunnel. In alternativa, è possibile segnalare agli host che comunicano attraverso il tunnel che devono inviare pacchetti più piccoli.

È possibile configurare Cisco ASA per modificare la dimensione massima del segmento (MSS) per qualsiasi nuovo flusso TCP attraverso il tunnel. L'ASA esamina tutti i pacchetti TCP in cui è impostato il flag SYN e modifica il valore MSS nel valore configurato. Questa configurazione può aiutare i nuovi flussi TCP a evitare l'uso del percorso massimo di rilevamento dell'unità di trasmissione (PMTUD).

Utilizzare il seguente comando per modificare MSS. Questo comando non fa parte della configurazione di esempio nella sezione Configurazione CPE di questo argomento. Applicare manualmente il comando di regolazione MSS TCP, se necessario.

sysopt connection tcpmss 1387

Opzione 2: Cancella/imposta il bit Don't Fragment

La ricerca automatica MTU del percorso richiede che tutti i pacchetti TCP abbiano il bit Don't Fragment (DF) impostato. Se il bit DF è impostato e un pacchetto è troppo grande per passare attraverso il tunnel, l'ASA rilascia il pacchetto quando arriva. L'ASA invia un pacchetto ICMP di nuovo al mittente che indica che il pacchetto ricevuto era troppo grande per il tunnel. L'ASA offre tre opzioni per la gestione del bit DF. Scegliere una delle opzioni e applicarla alla configurazione:

  • Impostare il bit DF (consigliato): i pacchetti hanno il bit DF impostato nell'intestazione IP. L'ASA può ancora frammentare il pacchetto se l'originale ricevuto pacchetto cancellato il bit DF.

    crypto ipsec df-bit set-df ${outsideInterface}
  • Cancellare il bit DF: il bit DF viene cancellato nell'intestazione IP del pacchetto. Consente la frammentazione del pacchetto e l'invio all'host finale in Oracle Cloud Infrastructure per il riassemblaggio.

    crypto ipsec df-bit clear-df ${outsideInterface}
  • Ignora (copia) il bit DF: l'ASA esamina le informazioni sull'intestazione IP del pacchetto originale e copia l'impostazione del bit DF.

    crypto ipsec df-bit copy-df ${outsideInterface}

Il traffico VPN potrebbe entrare in un tunnel ed uscire da un altro

Se il traffico VPN entra in un'interfaccia con lo stesso livello di sicurezza di un'interfaccia verso l'hop successivo del pacchetto, è necessario consentire tale traffico. Per impostazione predefinita, i pacchetti tra le interfacce con livelli di sicurezza identici nell'ASA vengono eliminati.

Aggiungere manualmente il comando seguente se è necessario consentire il traffico tra interfacce con gli stessi livelli di sicurezza. Questo comando non fa parte della configurazione di esempio nella sezione Configurazione CPE.

same-security-traffic permit inter-interface

Grotte e limitazioni generali

Questa sezione copre le caratteristiche generali e le limitazioni della VPN da sito a sito.

Per esaminare un elenco dei limiti applicabili e le istruzioni per richiedere un incremento del limite, consulta i limiti del servizio.

Instradamento asimmetrico

Oracle utilizza il routing asimmetrico tra i tunnel che compongono la connessione IPSec. Configurare i firewall tenendo presente questo aspetto. In caso contrario, i test di ping o il traffico dell'applicazione attraverso la connessione non funzionano in modo affidabile.

Quando utilizzi diversi tunnel per Oracle Cloud Infrastructure, ti consigliamo di configurare l'instradamento per instradare il traffico in modo deterministico attraverso il tunnel preferito. Per utilizzare un tunnel IPSec come primario e un altro come backup, configurare instradamenti più specifici per il tunnel primario (BGP) e instradamenti meno specifici (instradamento sintetico o predefinito) per il tunnel di backup (BGP/statico). In caso contrario, se si pubblica lo stesso instradamento (ad esempio, un instradamento predefinito) attraverso tutti i tunnel, restituire il traffico da una VCN a un instradamento di rete in locale a uno qualsiasi dei tunnel disponibili. Questo perché Oracle utilizza l'instradamento asimmetrico.

Per suggerimenti di instradamento Oracle specifici su come forzare l'instradamento simmetrico, vedere Instradamento per VPN da sito a sito.

Connessione IPSec basata su instradamento o criteri

Il protocollo IPSec utilizza le associazioni di sicurezza (SA) per decidere come cifrare i pacchetti. All'interno di ogni SA, è possibile definire i domini di cifratura per mappare l'indirizzo IP di origine e destinazione di un pacchetto e il tipo di protocollo a una voce nel database SA per definire come cifrare o decifrare un pacchetto.

Nota

Altri fornitori o la documentazione del settore possono utilizzare il termine ID proxy, indice dei parametri di sicurezza (SPI) o selettore del traffico quando si fa riferimento a SA o domini di cifratura.

Esistono due metodi generali per l'implementazione dei tunnel IPSec:

  • Tunnel basati su instradamento: chiamato anche tunnel basati sul prossimo hop. La ricerca della tabella di instradamento viene eseguita sull'indirizzo IP di destinazione di un pacchetto. Se l'interfaccia di uscita di tale instradamento è un tunnel IPSec, il pacchetto viene cifrato e inviato all'altra estremità del tunnel.
  • Tunnel basati su criteri: l'indirizzo IP e il protocollo di origine e destinazione del pacchetto corrispondono a una lista di istruzioni dei criteri. Se viene trovata una corrispondenza, il pacchetto viene cifrato in base alle regole in tale istruzione di criterio.

I backend VPN da sito a sito Oracle utilizzano tunnel basati su instradamento, ma possono funzionare con tunnel basati su criteri con alcune avvertenze elencate nelle sezioni riportate di seguito.

Dominio di cifratura per tunnel basati su instradamento

Se il CPE supporta tunnel basati su instradamento, utilizzare tale metodo per configurare il tunnel. Questa è la configurazione più semplice con la massima interoperabilità con l'headend VPN di Oracle.

IPSec basato su instradamento utilizza un dominio di cifratura con i valori riportati di seguito.

  • Indirizzo IP di origine: qualsiasi (0.0.0.0/0)
  • Indirizzo IP di destinazione: qualsiasi (0.0.0.0/0)
  • Protocollo: IPv4

Se è necessario essere più specifici, è possibile utilizzare un unico instradamento di riepilogo per i valori del dominio di cifratura anziché un instradamento predefinito.

Dominio di cifratura per tunnel basati su criteri

Quando si utilizzano i tunnel basati su criteri, ogni voce di criterio (un blocco CIDR su un lato della connessione IPSec) definita genera un'associazione di sicurezza (SA) IPSec con ogni voce idonea sull'altra estremità del tunnel. Questa coppia viene definita dominio di cifratura.

In questo diagramma, l'estremità DRG Oracle del tunnel IPSec contiene voci dei criteri per tre blocchi CIDRIPv4 CIDR IPv4 e un blocco CIDR IPv6. La fine CPE in locale del tunnel contiene le voci dei criteri due blocchi CIDRIPv4 CIDR IPv4 e due blocchi CIDR IPv6. Ogni voce genera un dominio di cifratura con tutte le voci possibili sull'altra estremità del tunnel. Entrambi i lati di una coppia SA devono utilizzare la stessa versione di IP. Il risultato è un totale di otto domini di cifratura.

Diagramma che mostra diversi domini di cifratura e come trovarne il numero.
Importante

Se il CPE supporta solo tunnel basati su criteri, tenere presenti le limitazioni riportate di seguito.

  • La VPN da sito a sito supporta più domini di cifratura, ma ha un limite massimo di 50 domini di cifratura.
  • Se si è verificata una situazione simile all'esempio precedente e sono stati configurati solo tre dei sei possibili domini di cifratura IPv4 sul lato CPE, il collegamento verrà elencato in uno stato "Partial UP" poiché tutti i possibili domini di cifratura vengono sempre creati sul lato DRG.
  • A seconda di quando è stato creato un tunnel, potrebbe non essere possibile modificare un tunnel esistente per utilizzare l'instradamento basato su criteri e potrebbe essere necessario sostituire il tunnel con un nuovo tunnel IPSec.
  • I blocchi CIDR utilizzati all'estremità del tunnel del DRG Oracle non possono sovrapporsi ai blocchi CIDR utilizzati all'estremità CPE in locale del tunnel.
  • Un dominio di cifratura deve sempre trovarsi tra due blocchi CIDR della stessa versione IP.

Se il CPE si trova dietro un dispositivo NAT

In generale, l'identificativo CPE IKE configurato all'estremità in locale della connessione deve corrispondere all'identificativo CPE IKE utilizzato da Oracle. Per impostazione predefinita, Oracle utilizza l'indirizzo IP pubblico del CPE, fornito quando si crea l'oggetto CPE nella console Oracle. Tuttavia, se un CPE si trova dietro un dispositivo NAT, l'identificativo CPE IKE configurato all'interno dell'ambiente on premise potrebbe essere l'indirizzo IP privato del CPE, come mostrato nel diagramma seguente.

Questa immagine mostra il CPE dietro un dispositivo NAT, gli indirizzi IP pubblici e privati e l'identificativo CPE IKE.
Nota

Alcune piattaforme CPE non consentono di modificare l'identificativo IKE locale. In caso contrario, è necessario modificare l'ID IKE remoto nella console Oracle per trovare la corrispondenza con l'ID IKE locale del CPE. È possibile fornire il valore quando si imposta la connessione IPSec o in un secondo momento modificando la connessione IPSec. Oracle prevede che il valore sia un indirizzo IP o un nome dominio completamente qualificato (FQDN), ad esempio cpe.example.com. Per istruzioni, consulta la sezione relativa alla modifica dell'identificativo CPE IKE utilizzato da Oracle.

Configurazione CPE

Importante

Le istruzioni di configurazione in questa sezione sono fornite da Oracle Cloud Infrastructure per questo CPE. Se hai bisogno di supporto o ulteriore assistenza, contatta direttamente il supporto del fornitore CPE.

La figura seguente mostra il layout di base della connessione IPSec.

Questa immagine riepiloga il layout generale della connessione e dei tunnel IPSec.

Il modello di configurazione fornito è per un software Cisco ASA con versione 8.5 (o successiva).

Nota

Cisco ASA versioni 9.7.1 e successive funzionalità di configurazione basata su route, il metodo consigliato per evitare problemi di interoperabilità.

Se si desidera la ridondanza del tunnel con un singolo dispositivo Cisco ASA, è necessario utilizzare la configurazione basata sul percorso. Grazie alla configurazione basata su criteri, puoi configurare solo un singolo tunnel tra Cisco ASA e il tuo Dynamic Routing Gateway (DRG).

Il modello di configurazione fa riferimento ai seguenti elementi che è necessario fornire:

  • Indirizzo IP pubblico CPE: l'indirizzo IP instradabile via Internet assegnato all'interfaccia esterna nel CPE. L'utente o l'amministratore Oracle fornisce questo valore a Oracle quando crea l'oggetto CPE nella console Oracle.
  • Interfaccia del tunnel interno (obbligatoria se si utilizza BGP): gli indirizzi IP per le estremità CPE e Oracle dell'interfaccia del tunnel interno. Questi valori vengono forniti quando si crea la connessione IPSec nella console Oracle.
  • ASN BGP (obbligatorio se si utilizza BGP): ASN BGP personale.

È inoltre necessario:

  • Configurare l'instradamento interno che instrada il traffico tra il CPE e la rete locale.
  • Assicurarsi di consentire il traffico tra l'ASA e la VCN Oracle (il modello di configurazione riportato di seguito fa riferimento a questa lista di accesso con la variabile ${outboundAclName}).
  • Identificare il criterio del gruppo VPN interno (il seguente modello di configurazione fa riferimento a questo criterio di gruppo come oracle-vcn-vpn-policy).
  • Identificare il set di trasformazione utilizzato per la mappa crittografica (il modello di configurazione riportato di seguito fa riferimento a questo set di trasformazione come oracle-vcn-transform).
  • Identificare il nome della mappa crittografica e il numero di sequenza (il modello di configurazione riportato di seguito fa riferimento al nome della mappa come oracle-vpn-map-v1 e al numero di sequenza 1).
  • Identificare il numero di operazione per il ping continuo dello SLA IP (il modello di configurazione riportato di seguito utilizza il numero di operazione 1).
Importante

Questo seguente modello di configurazione di Oracle Cloud Infrastructure è un punto di partenza per ciò che devi applicare al tuo CPE. La sintassi per ogni configurazione del dispositivo CPE può essere diversa e dipende dal modello e dalle versioni del software. Assicurarsi di confrontare il modello e la versione CPE con il modello di configurazione appropriato.

Alcuni dei parametri a cui si fa riferimento nel modello devono essere univoci nel CPE e l'univocità può essere determinata solo accedendo al CPE. Assicurarsi che i parametri siano validi nel CPE e non sovrascrivere alcun valore configurato in precedenza. In particolare, assicurarsi che i seguenti valori siano univoci:

  • Nome o numero di criteri
  • Nomi di mappe crittografiche e numeri di sequenza

  • Nomi interfacce
  • Nomi o numeri degli elenchi di accesso (se applicabile)

Oracle supporta Internet Key Exchange versione 1 (IKEv1) e versione 2 (IKEv2). Se si configura la connessione IPSec nella console per utilizzare IKEv2, è necessario configurare il CPE in modo che utilizzi solo i parametri di cifratura IKEv2 e IKEv2 correlati supportati dal CPE. Per un elenco dei parametri supportati da Oracle per IKEv1 o IKEv2, vedere Parametri IPSec supportati.

Oracle fornisce un modello di configurazione separato per IKEv1 rispetto a IKEv2.

Oracle fornisce anche uno strumento in grado di generare automaticamente il modello, con alcune delle informazioni inserite automaticamente. Per ulteriori informazioni, vedere Utilizzo dell'applicazione di supporto per la configurazione CPE.

IKEv1 Modello di configurazione

Visualizzare il modello di configurazione IKEv1 a schermo intero per facilitare la lettura.

!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! IKEv1 Configuration Template
! The configuration consists of a single IPSec tunnel.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! The configuration template involves setting up the following:
! Access Lists
! ISAKMP Policy
! Base VPN Policy
! IPSec Configuration
! IPSec Tunnel Group Configuration
! IP Routing (BGP or Static)
! Optional: Disable NAT for VPN Traffic
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! The configuration template has various parameters that you must define before applying the configuration.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! PARAMETERS REFERENCED:
! ${OracleInsideTunnelIpAddress1} = Inside tunnel IP address of Oracle-side for the first tunnel. You provide these values when creating the IPSec connection in the Oracle Console.
! ${bgpASN} = Your BGP ASN
! ${cpePublicIpAddress} = The public IP address for the CPE. This is the IP address of your outside interface
! ${outboundAclName} = ACL used to control traffic out of your inside and outside interfaces
! ${oracleHeadend1} = Oracle public IP endpoint obtained from the Oracle Console.
! ${sharedSecret1} = You provide when you set up the IPSec connection in the Oracle Console, or you can use the default Oracle-provided value.
! ${outsideInterface} = The public interface or outside of tunnel interface which is configured with the CPE public IP address.
! ${vcnCidrNetwork} = VCN IP range
! ${vcnCidrNetmask} = Subnet mask for VCN
! ${onPremCidrNetwork} = On-premises IP range
! ${onPremCidrNetmask} = ON-premises subnet mask
! ${cryptoMapAclName} = Name of ACL which will be associated with the IPSec security association.
! ${vcnHostIp} = IP address of a VCN host. Used for IP SLA continuous ping to maintain tunnel UP state.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
 
! Access Lists
 
! Permit Traffic Between Your ASA and Your Oracle VCN
! Assuming there is an access-list controlling traffic in and out of your Internet facing interface, you will need to permit traffic between your CPE and the Oracle VPN Headend
! WARNING: The new ACL entry you add to permit the traffic between your ASA and VPN headend needs to be above any deny statements you might have in your existing access-list
 
access-list ${outboundAclName} extended permit ip host ${oracleHeadend1} host ${cpePublicIpAddress}
 
! Crypto ACL
! Create an ACL named ${cryptoMapAclName} which will later be associated with the IPSec security association using the 'crypto-map' command. This will define which source/destination traffic needs to be encrypted and sent across the VPN tunnel.
! Keep this ACL to a single entry. In a policy based configuration each ACL line will establish a separate encryption domain.
! The encryption domain used in this configuration sample will have a source/destination of any/VCN CIDR. Refer to the 'Encryption domain for policy-based tunnels' subsection for supported alternatives.
 
access-list ${cryptoMapAclName} extended permit ip any ${vcnCidrNetwork} ${vcnCidrNetmask}
 
! ISAKMP Policy
 
! ISAKMP Phase 1 configuration.
! IKEv1 is enabled on the outside interface.
! IKEv1 policy is created for Phase 1 which specifies to use a Pre-Shared Key, AES256, SHA1, Diffie-Hellman Group 5, and a Phase 1 lifetime of 28800 seconds (8 hours).
! If different parameters are required, modify this template before applying the configuration.
! WARNING: The IKEv1 group policy is created with a priority of 10. Make sure this doesn't conflict with any pre-existing configuration on your ASA.
 
crypto ikev1 enable outside
crypto ikev1 policy 10
 authentication pre-share
 encryption aes-256
 hash sha
 group 5
 lifetime 28800
 
! Base VPN Policy
 
! An internal VPN group policy named 'oracle-vcn-vpn-policy' is created to define some basic VPN tunnel settings
! Idle and session timeouts are disabled to maintain the tunnel UP state and tunnel protocol is set to IKEv1
 
group-policy oracle-vcn-vpn-policy internal
group-policy oracle-vcn-vpn-policy attributes
 vpn-idle-timeout none
 vpn-session-timeout none
 vpn-tunnel-protocol ikev1
 
! IPSec Configuration
 
! Create an IKEv1 transform set named 'oracle-vcn-transform' which defines a combination of IPSec (Phase 2) policy options. Specifically, AES256 for encryption and SHA1 for authentication.
! If different parameters are required, modify this template before applying the configuration.
 
crypto ipsec ikev1 transform-set oracle-vcn-transform esp-aes-256 esp-sha-hmac
 
! A crypto map is used to tie together the important traffic that needs encryption (via crypto map ACL) with defined security policies (from the transform set along with other crypto map statements), and the destination of the traffic to a specific crypto peer.
! In this configuration example, a single crypto map is created named 'oracle-vpn-map-v1' This crypto map references the previously created crypto map ACL, the 'oracle-vcn-transform' transform set and further defines PFS Group 5 and the security association lifetime to 3600 seconds (1 hour).
! WARNING: Make sure your crypto map name and sequence numbers do not overlap with existing crypto maps.
! WARNING: DO NOT use the 'originate-only' option with an Oracle IPSec tunnel. It causes the tunnel's traffic to be inconsistently blackholed. The command is only for tunnels between two Cisco devices. Here's an example of the command that you should NOT use for the Oracle IPSec tunnels: crypto map <map name> <sequence number> set connection-type originate-only
 
crypto map oracle-vpn-map-v1 1 match address ${cryptoMapAclName}
crypto map oracle-vpn-map-v1 1 set pfs group5
crypto map oracle-vpn-map-v1 1 set peer ${oracleHeadend1}
crypto map oracle-vpn-map-v1 1 set ikev1 transform-set oracle-vcn-transform
crypto map oracle-vpn-map-v1 1 set security-association lifetime seconds 3600
 
! WARNING: The below command will apply the 'oracle-vpn-map-v1' crypto map to the outside interface. The Cisco ASA supports a single crypto map per interface. Make sure no other crypto map is applied to the outside interface before using this command.
 
crypto map oracle-vpn-map-v1 interface outside
 
! IPSec Tunnel Group Configuration
 
! This configuration matches the group policy 'oracle-vcn-vpn-policy' with an Oracle VPN headend endpoint.
! The pre-shared key for each Oracle VPN headend is defined in the corresponding tunnel group.
 
tunnel-group ${oracleHeadend1} type ipsec-l2l
tunnel-group ${oracleHeadend1} general-attributes
 default-group-policy oracle-vcn-vpn-policy
tunnel-group ${oracleHeadend1} ipsec-attributes
 ikev1 pre-shared-key ${sharedSecret1}
 
! IP SLA Configuration
 
! The Cisco ASA doesn't establish a tunnel if there's no interesting traffic trying to pass through the tunnel.
! You must configure IP SLA on your device for a continuous ping so that the tunnel remains up at all times.
! You must allow ICMP on the outside interface.
! Make sure that the SLA monitor number used is unique.
 
sla monitor 1
 type echo protocol ipIcmpEcho ${vcnHostIp} interface outside
 frequency 5
sla monitor schedule 1 life forever start-time now
 
icmp permit any ${outsideInterface}
 
! IP Routing
! Pick either dynamic (BGP) or static routing. Uncomment the corresponding commands prior to applying configuration.
 
! Border Gateway Protocol (BGP) Configuration
! Uncomment below lines if you want to use BGP.
 
! router bgp ${bgpASN}
!  address-family ipv4 unicast
!   neighbor ${OracleInsideTunnelIpAddress1} remote-as 31898
!   neighbor ${OracleInsideTunnelIpAddress1} activate
!   network ${onPremCidrNetwork} mask ${onPremCidrNetmask}
!   no auto-summary
!   no synchronization
!  exit-address-family
 
! Static Route Configuration
! Uncomment below line if you want to use static routing.
  
! route outside ${VcnCidrNetwork} ${VcnCidrNetmask} ${OracleInsideTunnelIpAddress1}
 
! Disable NAT for VPN Traffic
 
! If you are using NAT for traffic between your inside and outside interfaces, you might need to disable NAT for traffic between your on-premises network and the Oracle VCN.
! Two objects are created for this NAT exemption. 'obj-OnPrem' represents the on-premises network as a default route, and 'obj-oracle-vcn-1' represents the VCN CIDR block used in Oracle Cloud Infrastructure.
! If different address ranges are required, modify this template before applying the configuration.
 
! object network obj-onprem
!  subnet 0.0.0.0 0.0.0.0
! object network obj-oracle-vcn-1
!  subnet ${vcnCidrNetwork} ${vcnCidrNetmask}
! nat (inside,outside) source static obj-onprem obj-onprem destination static obj-oracle-vcn-1 obj-oracle-vcn-1
IKEv2 Modello di configurazione

Visualizzare il modello di configurazione IKEv2 a schermo intero per facilitare la lettura.

!-------------------------------------------------------------------------------------------------------------------------------------------------------------

! IKEv2 Configuration Template
! The configuration consists of a single IPSec tunnel.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! The configuration template involves setting up the following:
! Access Lists
! IKEv2 Policy
! Base VPN Policy
! IPSec Configuration
! IPSec Tunnel Group Configuration
! IP Routing (BGP or Static)
! Optional: Disable NAT for VPN Traffic
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! The configuration template has various parameters that you must define before applying the configuration.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! PARAMETERS REFERENCED:
! ${OracleInsideTunnelIpAddress1} = Inside tunnel IP address of Oracle-side for the first tunnel. You provide these values when creating the IPSec connection in the Oracle Console.
! ${bgpASN} = Your BGP ASN
! ${cpePublicIpAddress} = The public IP address for the CPE. This is the IP address of your outside interface
! ${outboundAclName} = ACL used to control traffic out of your inside and outside interfaces
! ${oracleHeadend1} = Oracle public IP endpoint obtained from the Oracle Console.
! ${sharedSecret1} = You provide when you set up the IPSec connection in the Oracle Console, or you can use the default Oracle-provided value.
! ${outsideInterface} = The public interface or outside of tunnel interface which is configured with the CPE public IP address.
! ${vcnCidrNetwork} = VCN IP range
! ${vcnCidrNetmask} = Subnet mask for VCN
! ${onPremCidrNetwork} = On-premises IP range
! ${onPremCidrNetmask} = ON-premises subnet mask
! ${cryptoMapAclName} = Name of ACL which will be associated with the IPSec security association.
! ${vcnHostIp} = IP address of a VCN host. Used for IP SLA continuous ping to maintain tunnel UP state.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------

! Access Lists

! Permit Traffic Between Your ASA and Your Oracle VCN
! Assuming there is an access-list controlling traffic in and out of your Internet facing interface, you will need to permit traffic between your CPE and the Oracle VPN Headend
! WARNING: The new ACL entry you add to permit the traffic between your ASA and VPN headend needs to be above any deny statements you might have in your existing access-list

access-list ${outboundAclName} extended permit ip host ${oracleHeadend1} host ${cpePublicIpAddress}

! Crypto ACL
! Create an ACL named ${cryptoMapAclName} which will later be associated with the IPSec security association using the 'crypto-map' command. This will define which source/destination traffic needs to be encrypted and sent across the VPN tunnel.
! Keep this ACL to a single entry. In a policy based configuration each ACL line will establish a separate encryption domain.
! The encryption domain used in this configuration sample will have a source/destination of any/VCN CIDR. Refer to the 'Encryption domain for policy-based tunnels' subsection for supported alternatives.

access-list ${cryptoMapAclName} extended permit ip any ${vcnCidrNetwork} ${vcnCidrNetmask}

! IKEv2 Policy

! IKEv2 is enabled on the outside interface.
! IKEv2 policy is created and specifies use of a Pre-Shared Key, AES256, SHA1, Diffie-Hellman Group 5, and a lifetime of 28800 seconds (8 hours).
! If different parameters are required, modify this template before applying the configuration.
! WARNING: The IKEv2 group policy is created with a priority of 10. Make sure this doesn't conflict with any pre-existing configuration on your ASA.

crypto ikev2 enable outside
crypto ikev2 policy 10
 encryption aes-256
 integrity sha384
 group 5
 prf sha
 lifetime seconds 28800

! Base VPN Policy

! An internal VPN group policy named 'oracle-vcn-vpn-policy' is created to define some basic VPN tunnel settings
! Idle and session timeouts are disabled to maintain the tunnel UP state and tunnel protocol is set to IKEv2

group-policy oracle-vcn-vpn-policy internal
group-policy oracle-vcn-vpn-policy attributes
 vpn-idle-timeout none
 vpn-session-timeout none
 vpn-tunnel-protocol ikev2

! IPSec Configuration

! Create an IKEv2 IPSec proposal named 'oracle_v2_ipsec_proposal' which defines AES256 for encryption and SHA1 for authentication.
! If different parameters are required, modify this template before applying the configuration.

crypto ipsec ikev2 ipsec-proposal oracle_v2_ipsec_proposal
 protocol esp encryption aes-256
 protocol esp integrity sha-1

! A crypto map is used to tie together the important traffic that needs encryption (via crypto map ACL) with defined security policies (from the IPSec proposal along with other crypto map statements), and the destination of the traffic to a specific crypto peer.
! In this configuration example, a single crypto map is created named 'oracle-vpn-map-v2' This crypto map references the previously created crypto map ACL, the 'oracle_v2_ipsec_proposal' IPSec proposal and further defines PFS Group 5 and the security association lifetime to 3600 seconds (1 hour).
! WARNING: Make sure your crypto map name and sequence numbers do not overlap with existing crypto maps.
! WARNING: DO NOT use the 'originate-only' option with an Oracle IPSec tunnel. It causes the tunnel's traffic to be inconsistently blackholed. The command is only for tunnels between two Cisco devices. Here's an example of the command that you should NOT use for the Oracle IPSec tunnels: crypto map <map name> <sequence number> set connection-type originate-only

crypto map oracle-vpn-map-v2 1 match address ${cryptoMapAclName}
crypto map oracle-vpn-map-v2 1 set pfs group5
crypto map oracle-vpn-map-v2 1 set peer ${oracleHeadend1}
crypto map oracle-vpn-map-v2 1 set ikev2 ipsec-proposal oracle_v2_ipsec_proposal
crypto map oracle-vpn-map-v2 1 set security-association lifetime seconds 3600

! WARNING: The below command will apply the 'oracle-vpn-map-v2' crypto map to the outside interface. The Cisco ASA supports a single crypto map per interface. Make sure no other crypto map is applied to the outside interface before using this command.

crypto map oracle-vpn-map-v2 interface outside

! IPSec Tunnel Group Configuration

! This configuration matches the group policy 'oracle-vcn-vpn-policy' with an Oracle VPN headend endpoint.
! The pre-shared key for each Oracle VPN headend is defined in the corresponding tunnel group.

tunnel-group ${oracleHeadend1} type ipsec-l2l
tunnel-group ${oracleHeadend1} general-attributes
 default-group-policy oracle-vcn-vpn-policy
tunnel-group ${oracleHeadend1} ipsec-attributes
 ikev2 local-authentication pre-shared-key ${sharedSecret1}
 ikev2 remote-authentication pre-shared-key ${sharedSecret1}

! IP SLA Configuration

! The Cisco ASA doesn't establish a tunnel if there's no interesting traffic trying to pass through the tunnel.
! You must configure IP SLA on your device for a continuous ping so that the tunnel remains up at all times.
! You must allow ICMP on the outside interface.
! Make sure that the SLA monitor number used is unique.

sla monitor 1
type echo protocol ipIcmpEcho ${vcnHostIp} interface outside
frequency 5
sla monitor schedule 1 life forever start-time now

icmp permit any ${outsideInterface}

! IP Routing
! Pick either dynamic (BGP) or static routing. Uncomment the corresponding commands prior to applying configuration.

! Border Gateway Protocol (BGP) Configuration
! Uncomment below lines if you want to use BGP.

! router bgp ${bgpASN}
!  address-family ipv4 unicast
!   neighbor ${OracleInsideTunnelIpAddress1} remote-as 31898
!   neighbor ${OracleInsideTunnelIpAddress1} activate
!   network ${onPremCidrNetwork} mask ${onPremCidrNetmask}
!   no auto-summary
!   no synchronization
!  exit-address-family

! Static Route Configuration
! Uncomment below line if you want to use static routing.

! route outside ${VcnCidrNetwork} ${VcnCidrNetmask} ${OracleInsideTunnelIpAddress1}

! Disable NAT for VPN Traffic

! If you are using NAT for traffic between your inside and outside interfaces, you might need to disable NAT for traffic between your on-premises network and the Oracle VCN.
! Two objects are created for this NAT exemption. 'obj-OnPrem' represents the on-premises network as a default route, and 'obj-oracle-vcn-1' represents the VCN CIDR block used in Oracle Cloud Infrastructure.
! If different address ranges are required, modify this template before applying the configuration.

! object network obj-onprem
!  subnet 0.0.0.0 0.0.0.0
! object network obj-oracle-vcn-1
!  subnet ${vcnCidrNetwork} ${vcnCidrNetmask}
! nat (inside,outside) source static obj-onprem obj-onprem destination static obj-oracle-vcn-1 obj-oracle-vcn-1

Verifica

Per la risoluzione dei problemi di base, sono inclusi i seguenti comandi ASA. Per informazioni più dettagliate, consultare il documento Cisco IPSec Troubleshooting.

Utilizzare il comando riportato di seguito per verificare che vengano create associazioni di sicurezza ISAKMP tra i due peer.

show crypto isakmp sa

Utilizzare il seguente comando per verificare lo stato di tutte le connessioni BGP.

show bgp summary

Utilizzare il comando riportato di seguito per verificare la tabella di instradamento di ASA.

show route

Un servizio di monitoraggio è disponibile anche da Oracle Cloud Infrastructure per monitorare attivamente e passivamente le risorse cloud. Per informazioni sul monitoraggio di una VPN da sito a sito, vedere Metriche VPN da sito a sito.

In caso di problemi, vedere Risoluzione dei problemi delle VPN da sito a sito.