Utilizzare l'autenticazione MD5
Il router Cloud utilizza il protocollo BGP (Border Gateway Protocol) per scambiare le route tra una rete VPC (Virtual Private Cloud) e una rete peer. Per impostazione predefinita, le sessioni BGP del router Cloud non sono autenticate. Tuttavia, quando utilizzi router Cloud con determinati prodotti, se vuoi puoi configurare le sessioni BGP in modo che utilizzino l'autenticazione MD5.
I prodotti che possono utilizzare l'autenticazione MD5 includono:
Puoi anche utilizzare l'autenticazione MD5 con appliance virtuali di rete di terze parti. Per ulteriori informazioni, consulta Appliance router nella documentazione di Network Connectivity Center.
Quando configuri una sessione per l'utilizzo dell'autenticazione MD5, fornisci una chiave segreta condivisa, una chiave che utilizzi durante la configurazione del router Cloud e di nuovo quando configuri il router peer. Dopo aver completato i passaggi di configurazione richiesti, router Cloud utilizza la chiave per autenticare il peer BGP. Router Cloud applica l'autenticazione MD5 utilizzando il modello descritto in RFC 2385.
Puoi aggiungere l'autenticazione MD5 quando crei un peer. Puoi anche aggiungere l'autenticazione a una sessione esistente, modificare la chiave utilizzata da una sessione o rimuovere l'autenticazione.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Se utilizzi Google Cloud CLI, imposta l'ID progetto eseguendo il seguente comando. Le istruzioni
gcloud
riportate in questa pagina presuppongono che tu abbia impostato l'ID progetto.gcloud config set project PROJECT_ID
-
Verifica che l'ID sia stato impostato eseguendo il seguente comando:
gcloud config list --format='text(core.project)'
Creare una sessione che utilizza l'autenticazione
Per alcuni prodotti Connettività di rete, puoi configurare un peer BGP per utilizzare l'autenticazione MD5 durante la creazione della risorsa. Questi prodotti includono VPN ad alta disponibilità e Dedicated Interconnect.
Per ulteriori informazioni, consulta le seguenti sezioni:
- Creare un tunnel VPN ad alta disponibilità connesso a un gateway VPN peer
- Creare un tunnel VPN ad alta disponibilità tra reti Google Cloud
- Creare collegamenti VLAN (Dedicated Interconnect)
Se stai creando un collegamento VLAN per l'interconnessione con un partner di livello 2, crea prima il collegamento e poi aggiorna il peer BGP per aggiungere l'autenticazione MD5. Per informazioni su come aggiungere l'autenticazione durante l'aggiornamento di una sessione BGP, consulta la sezione seguente. Se hai una connessione di livello 3, contatta il tuo fornitore di servizi per ricevere istruzioni.
Aggiungere l'autenticazione a una sessione esistente
Per aggiungere l'autenticazione a un peer BGP esistente, utilizza una delle seguenti procedure. Quando aggiungi l'autenticazione, assicurati che la chiave impiegata sia identica a quella utilizzata dal router peer.
Google Cloud non mostra la chiave di autenticazione MD5 e solo mostra il nome della chiave al termine della configurazione.
- Se configuri l'autenticazione MD5 tramite gcloud o l'interfaccia utente, Google Cloud genera automaticamente il nome della chiave sotto forma di
PEER_NAME-key
. - Se configuri l'autenticazione MD5 tramite API, puoi specificare il nome della chiave.
Console
Nella console Google Cloud, vai alla pagina Cloud Routers.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, fai clic sul nome della sessione BGP che vuoi modificare.
Nella pagina Dettagli sessione BGP, fai clic su
Modifica.Per aggiungere l'autenticazione MD5:
- Nella sezione Autenticazione MD5, seleziona Attivata. La pagina si aggiorna per includere un campo di testo.
- Inserisci un token di sicurezza o, per generarne uno nuovo, fai clic su Genera e copia.
- Prendi nota della chiave. Una volta chiusa questa pagina, non potrai recuperare la chiave.
Fai clic su Salva.
gcloud
Per aggiornare la sessione utilizzando gcloud CLI, utilizza il comando
gcloud compute routers update-bgp-peer
:
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPEER_NAME
: il nome del peer BGPREGION
: la regione Google CloudSECRET_KEY
: la tua chiave di autenticazione MD5 segreta condivisa
API
Per aggiornare la sessione utilizzando l'API, utilizza il metodo
compute.routers.patch
. Quando utilizzi questo metodo per aggiungere l'autenticazione alla sessione, la richiesta deve fare due cose:
- Aggiungi una voce per la chiave nell'array
md5AuthenticationKeys
. Quando aggiungi la voce, fornisci sia un nome che un valore per la chiave. - Aggiorna l'array
bgpPeers
in modo da includere un valore per ilmd5AuthenticationKeyName
campo. Questo campo fa riferimento alla chiave per nome.
Quando esegui il patching dell'array md5AuthenticationKeys
, devi fornire il name
di ogni elemento dell'array (a meno che tu non voglia rimuovere alcuni elementi).
Tuttavia, non devi fornire il valore per il campo key
di ogni articolo.
Se ometti questo valore, router Cloud mantiene il valore precedente utilizzato. Questo comportamento è progettato per proteggere la segretezza delle chiavi.
È diverso dagli altri metodi di patch, che in genere richiedono di specificare un valore per ogni campo di un elemento dell'array.
Quando esegui il patching dell'array bgpPeers
, devi fornire valori per ogni campo di ogni elemento (a meno che tu non voglia rimuovere alcuni peer o alcuni valori).
Ad esempio, supponiamo che il router Cloud abbia due peer, uno che utilizza l'autenticazione MD5 e uno che non la utilizza. Se vuoi lasciare invariato il primo peer, ma aggiungere l'autenticazione MD5 al secondo peer, utilizza una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME_1", }, { "name": "KEY_NAME_2", "key": "SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME_1", "md5AuthenticationKeyName": "KEY_NAME_1", "interfaceName": "INTERFACE_NAME_1", "ipAddress": "IP_ADDRESS_1", "peerIpAddress": "PEER_IP_ADDRESS_1", "peerAsn": "PEER_ASN_1" }, { "name": "PEER_NAME_2", "md5AuthenticationKeyName": "KEY_NAME_2", "interfaceName": "INTERFACE_NAME_2", "ipAddress": "IP_ADDRESS_2", "peerIpAddress": "PEER_IP_ADDRESS_2", "peerAsn": "PEER_ASN_2" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene router CloudREGION
: la regione Google CloudROUTER_NAME
: il nome del router CloudKEY_NAME_1
: il nome della chiave attualmente in uso (daPEER_NAME_1
)KEY_NAME_2
: il nome della nuova chiave da aggiungere perPEER_NAME_2
. Prendi nota del nome. Se vuoi apportare modifiche in un secondo momento utilizzando l'API, devi avere il nome.SECRET_KEY
: la tua chiave di autenticazione MD5 segreta che aggiungi perPEER_NAME_2
PEER_NAME_1
: il nome del peer BGP che non stai modificandoINTERFACE_NAME_1
: il nome dell'interfaccia per la sessione di peering BGP che non cambiaIP_ADDRESS_1
: l'indirizzo IP sul router Cloud (per il peer che non cambia)PEER_IP_ADDRESS_1
: l'indirizzo IP del peer che non cambiaPEER_ASN_1
: il numero di sistema autonomo (ASN) BGP per il peer che non cambiaPEER_NAME_2
: il nome del peer BGP da aggiornare in modo che utilizzi l'autenticazione MD5INTERFACE_NAME_2
: il nome dell'interfaccia per la sessione di peering BGPIP_ADDRESS_2
: l'indirizzo IP sul router CloudPEER_IP_ADDRESS_2
: l'indirizzo IP del router peerPEER_ASN_2
: il numero di sistema autonomo (ASN) BGP per questo peer BGP
Aggiorna la chiave di autenticazione
Per modificare la chiave utilizzata dal router Cloud per una sessione di peering, utilizza una delle seguenti procedure. Quando aggiorni la chiave sul router Cloud, assicurati che sia identica a quella utilizzata dal router peer.
Google Cloud non mostra la chiave di autenticazione MD5 e solo mostra il nome della chiave al termine della configurazione.
- Se configuri l'autenticazione MD5 tramite gcloud o l'interfaccia utente, Google Cloud genera automaticamente il nome della chiave sotto forma di
PEER_NAME-key
. - Se configuri l'autenticazione MD5 tramite API, puoi specificare il nome della chiave.
Console
Nella console Google Cloud, vai alla pagina Cloud Routers.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, fai clic sul nome della sessione BGP che vuoi modificare.
Nella pagina Dettagli sessione BGP, fai clic su
Modifica.Nella sezione Autenticazione MD5, fai clic su Aggiorna chiave di autenticazione MD5.
Nel campo MD5 Authentication key (Chiave di autenticazione MD5), inserisci la nuova chiave di autenticazione del secret o, per compilare il campo, fai clic su Genera e copia.
Prendi nota della chiave. Una volta chiusa questa pagina, non potrai recuperare la chiave.
Fai clic su Salva.
gcloud
Per aggiornare la sessione, utilizza il comando
gcloud compute routers update-bgp-peer
.
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPEER_NAME
: il nome del peer BGPREGION
: la regione Google CloudSECRET_KEY
: la nuova chiave di autenticazione MD5 segreta che vuoi utilizzare
API
Per aggiornare la sessione, utilizza il metodo
compute.routers.patch
. Ad esempio, utilizza una richiesta come la seguente.
Questo esempio sostituisce l'intero array di peer, non solo il peer specifico
identificato. In altre parole, vengono rimossi tutti i peer tranne
PEER_NAME
. Rimuove tutte le chiavi tranne
KEY_NAME
e aggiorna KEY_NAME
con
il nuovo valore UPDATED_SECRET_KEY
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME", "key": "UPDATED_SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME", "md5AuthenticationKeyName": "KEY_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "peerAsn": "PEER_ASN" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene router CloudREGION
: la regione Google CloudROUTER_NAME
: il nome del router CloudKEY_NAME
: il nome della chiave che vuoi aggiornare. Ogni volta che utilizzi l'autenticazione MD5 tramite l'API, devi fare riferimento alla chiave tramite il nome.UPDATED_SECRET_KEY
: la tua nuova chiave di autenticazione MD5 segretaPEER_NAME
: il nome del peer BGPINTERFACE_NAME
: il nome dell'interfaccia per la sessione di peering BGPIP_ADDRESS
: l'indirizzo IP sul router CloudPEER_IP_ADDRESS
: l'indirizzo IP del router peerPEER_ASN
: il numero di sistema autonomo (ASN) BGP per questo peer BGP
Controllare lo stato dell'autenticazione
Per controllare lo stato dell'autenticazione MD5, segui questi passaggi. Consulta anche Visualizzare i dettagli del router Cloud.
Console
Nella console Google Cloud, vai alla pagina Cloud Routers.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, cerca la colonna Autenticazione MD5. Per ogni sessione, il valore in questa colonna indica se l'autenticazione MD5 è attivata.
gcloud
Per controllare la sessione utilizzando gcloud CLI, utilizza il comando
gcloud compute routers get-status
.
gcloud compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPROJECT
: il nome del progettoREGION
: la regione Google Cloud
L'output include l'oggetto result.bgpPeerStatus[]
, che contiene informazioni sulle sessioni BGP del router Cloud. I
dati relativi a ogni sessione includono i seguenti due campi:
md5AuthEnabled
: un campo booleano che indica se l'autenticazione MD5 è abilitata per la sessionestatusReason
: un campo che descrive lo stato della sessione
API
Utilizza il metodo
routers.getRouterStatus
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
Sostituisci quanto segue:
PROJECT_ID
: il progetto che contiene router CloudREGION
: la regione in cui si trova il Router CloudROUTER_NAME
: il nome del router Cloud
L'output include informazioni su ogni sessione BGP. I dati relativi a ogni sessione includono i seguenti due campi:
md5AuthEnabled
: un campo booleano che indica se l'autenticazione MD5 è attivata per la sessionestatusReason
: un campo che descrive lo stato della sessione. Questo campo viene visualizzato solo in caso di problemi con l'autenticazione MD5. In questo caso, il valore del campo èMD5_AUTH_INTERNAL_PROBLEM
.
Per configurare il monitoraggio continuo delle sessioni BGP, utilizza Cloud Logging. La registrazione registra informazioni sullo stato dell'autenticazione MD5 nell'evento BGP, che fa parte del log di informazioni.
Rimuovere l'autenticazione da una sessione
Se vuoi rimuovere l'autenticazione MD5 da una sessione BGP, devi rimuovere l'autenticazione MD5 sia dal router Cloud sia dal router peer.
Per rimuovere l'autenticazione MD5 dalla sessione BGP sul router Cloud, utilizza una delle seguenti procedure.
Console
Nella console Google Cloud, vai alla pagina Cloud Routers.
Nel campo Nome, fai clic sul nome del router Cloud appropriato.
Nella pagina Dettagli router, fai clic sul nome della sessione BGP che vuoi modificare.
Nella pagina Dettagli sessione BGP, fai clic su
Modifica.Per Autenticazione MD5, fai clic su Disattivata.
Fai clic su Salva. Viene visualizzata la finestra di dialogo Disattiva chiave di autenticazione MD5.
Nella finestra di dialogo di conferma, fai clic su Conferma.
gcloud
Per rimuovere l'autenticazione MD5, utilizza il comando
gcloud compute routers update-bgp-peer
:
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
Sostituisci i seguenti valori:
ROUTER_NAME
: il nome del router CloudPEER_NAME
: il nome del peer BGPREGION
: la regione Google Cloud
API
Per rimuovere l'autenticazione MD5, utilizza il metodo
compute.routers.patch
.
Quando rimuovi l'autenticazione utilizzando l'API, l'aggiornamento deve fare due cose:
- Aggiorna l'array
md5AuthenticationKeys
- Rimuovi il valore
md5AuthenticationKey
dalla vocebgpPeers
pertinente
Ad esempio, se il tuo router Cloud ha due peer BGP e vuoi rimuovere l'autenticazione MD5 da uno di questi. In questo caso, utilizza una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_UNCHANGED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_UPDATED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UPDATED_PEER", "ipAddress": "IP_ADDRESS_FOR_UPDATED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UPDATED_PEER", "peerAsn": "PEER_ASN_FOR_UPDATED_PEER" }, { "name": "NAME_OF_UNCHANGED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UNCHANGED_PEER", "ipAddress": "IP_ADDRESS_FOR_UNCHANGED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UNCHANGED_PEER", "peerAsn": "PEER_ASN_FOR_UNCHANGED_PEER" "md5AuthenticationKeyName": "KEY_NAME_FOR_UNCHANGED_PEER" } ], ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene router CloudREGION
: la regione Google Cloud in cui si trova il router CloudROUTER_NAME
: il nome del router CloudNAME_OF_UPDATED_PEER
: il nome della sessione di peering da modificareINTERFACE_NAME_FOR_UPDATED_PEER
: il nome dell'interfaccia per il peer BGP da modificareIP_ADDRESS_FOR_UPDATED_PEER
: l'indirizzo IP sul router Cloud utilizzato dal peer che vuoi modificarePEER_IP_ADDRESS_FOR_UPDATED_PEER
: l'indirizzo IP del router peer per la sessione di peering che vuoi modificarePEER_ASN
: il numero di sistema autonomo (ASN) BGP per questo peer BGP da modificareNAME_OF_UNCHANGED_PEER
: il nome della sessione di peering che vuoi mantenere invariataINTERFACE_NAME_FOR_UNCHANGED_PEER
: il nome dell'interfaccia per il peer BGP che vuoi mantenere invariatoIP_ADDRESS_FOR_UNCHANGED_PEER
: l'indirizzo IP sul router Cloud utilizzato dal peer che vuoi mantenere invariatoPEER_IP_ADDRESS_FOR_UNCHANGED_PEER
: l'indirizzo IP del router peer per la sessione di peering che vuoi mantenere invariataPEER_ASN_FOR_UNCHANGED_PEER
: il numero di sistema autonomo BGP (ASN) per il peer BGP che vuoi mantenere invariatoKEY_NAME_FOR_UNCHANGED_PEER
: il nome della chiave di autenticazione MD5 per il peer BGP che vuoi mantenere invariato
Rimuovere una sessione che utilizza l'autenticazione
Per rimuovere una sessione di peering che utilizza l'autenticazione MD5, utilizza una delle seguenti procedure.
Console
Nella console Google Cloud, vai alla pagina Cloud Routers.
- Seleziona il router da cui vuoi rimuovere una sessione BGP.
- Per le sessioni BGP, seleziona la sessione BGP che vuoi rimuovere.
- Nella parte superiore della pagina, fai clic su Elimina, quindi conferma l'eliminazione.
gcloud
Per rimuovere una sessione BGP con l'autenticazione MD5 abilitata, utilizza il comando
gcloud compute routers remove-bgp-peer
.
Per ulteriori informazioni, vedi Disattivare o rimuovere le sessioni BGP.
API
Per rimuovere una sessione BGP con l'autenticazione MD5 abilitata, utilizza il metodo
compute.routers.patch
.
Quando rimuovi una sessione BGP con autenticazione MD5 utilizzando l'API, l'aggiornamento deve fare due cose: rimuovere la chiave dall'array md5AuthenticationKeys
e rimuovere bgpPeer
stesso.
Ad esempio, supponiamo che il router Cloud abbia due peer e tu voglia rimuoverne uno. In questo caso, utilizza una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_RETAINED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_RETAINED_PEER", "interfaceName": "INTERFACE_FOR_RETAINED_PEER", "ipAddress": "IP_ADDRESS_FOR_RETAINED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_RETAINED_PEER", "peerAsn": "PEER_ASN_FOR_RETAINED_PEER", "md5AuthenticationKeyName": "KEY_NAME_FOR_RETAINED_PEER" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene router CloudREGION
: la regione Google CloudROUTER_NAME
: il nome del router CloudKEY_NAME_FOR_RETAINED_PEER
: il nome della chiave utilizzata dal peer che stai conservandoNAME_OF_RETAINED_PEER
: il nome del peer BGP che mantieniINTERFACE_FOR_RETAINED_PEER
: il nome dell'interfaccia per il peer BGP che stai mantenendoIP_ADDRESS_FOR_RETAINED_PEER
: l'indirizzo IP sul router Cloud del peer che vuoi conservarePEER_IP_ADDRESS_FOR_RETAINED_PEER
: l'indirizzo IP del peer che stai conservandoPEER_ASN_FOR_RETAINED_PEER
: il numero di sistema autonomo BGP (ASN) per il peer che vuoi conservareKEY_NAME_FOR_RETAINED_PEER
: il nome della chiave di autenticazione MD5 per il peer BGP che mantieni
Ad esempio, supponiamo che tu abbia creato i seguenti peer:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", "key": "first_secret_key_value" }, { "name": "second_key_name", "key": "second_secret_key_value" } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" }, { "name": "second_peer", "md5AuthenticationKeyName": "second_key_name", "interfaceName": "second_interface", "ipAddress": "second_address", "peerIpAddress": "second_peer_interface", "peerAsn": "second_peer_asn" } ], }
Se poi volessi rimuovere il secondo peer, dovresti utilizzare una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" } ], }