Utilizza l'autenticazione MD5
Il router Cloud utilizza il protocollo BGP (Border Gateway Protocol) per lo scambio di route tra una rete Virtual Private Cloud (VPC) e una rete peer. Per impostazione predefinita, le sessioni BGP del router Cloud non sono autenticate. Tuttavia, quando usi il router Cloud con alcuni prodotti, puoi facoltativamente configurare le sessioni BGP per utilizzare 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 la sezione relativa all'appliance router nella documentazione del Network Connectivity Center.
Quando configuri una sessione per l'utilizzo dell'autenticazione MD5, fornisci una chiave condivisa segreta, ovvero una chiave che utilizzi per configurare il router Cloud e di nuovo quando configuri il tuo router peer. Dopo aver completato i passaggi di configurazione richiesti, il router Cloud utilizza tale chiave per autenticare il peer BGP. Il 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.
Per configurare l'autenticazione MD5, devi utilizzare l'interfaccia a riga di comando o l'API Google Cloud.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
- Installa e inizializza l'interfaccia a riga di comando di Google Cloud.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
- Installa e inizializza l'interfaccia a riga di comando di Google Cloud.
- Se utilizzi l'interfaccia a riga di comando di Google Cloud, imposta l'ID progetto eseguendo questo comando. Le istruzioni
gcloud
in questa pagina presuppongono che tu abbia impostato il tuo ID progetto.gcloud config set project PROJECT_ID
-
Verifica che l'ID sia stato impostato eseguendo questo comando:
gcloud config list --format='text(core.project)'
Crea una sessione che utilizza l'autenticazione
Per alcuni prodotti per la 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 saperne di più, consulta le seguenti sezioni:
- Crea un tunnel VPN ad alta disponibilità connesso a un gateway VPN peer
- Crea un tunnel VPN ad alta disponibilità tra reti Google Cloud
- Creare collegamenti VLAN (interconnessione dedicata)
Se stai creando un collegamento VLAN Partner Interconnect di livello 2, crea prima il collegamento, quindi 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 le istruzioni.
Aggiungi l'autenticazione a una sessione esistente
Se vuoi aggiungere l'autenticazione a un peer BGP esistente, utilizza una delle seguenti procedure. Quando aggiungi l'autenticazione, assicurati che la chiave che utilizzi sia identica a quella utilizzata dal router peer.
gcloud
Per aggiornare la sessione utilizzando l'interfaccia a riga di comando gcloud, utilizza il comando
gcloud beta compute routers update-bgp-peer
:
gcloud beta compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Sostituisci i seguenti valori:
ROUTER_NAME
: nome del router CloudPEER_NAME
: nome del peer BGPREGION
: l'area geografica di Google CloudSECRET_KEY
: la chiave di autenticazione MD5 segreta
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 tua richiesta deve eseguire due operazioni:
- 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
per includere un valore per il campomd5AuthenticationKeyName
. Questo campo fa riferimento alla chiave in base al nome.
Quando esegui l'applicazione di patch all'array md5AuthenticationKeys
, devi fornire name
ad ogni elemento nell'array, a meno che tu non voglia rimuovere alcuni elementi.
Tuttavia, non è necessario fornire un valore per ogni campo key
dell'elemento.
Se ometti questo valore, il router Cloud conserva il valore precedente utilizzato. Questo comportamento è progettato per proteggere la segretezza dei tasti.
Differisce dagli altri metodi di applicazione delle patch, che in genere richiedono la specifica di un valore per ogni campo in un elemento array.
Quando applichi l'array bgpPeers
, devi fornire valori per ogni campo in 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 lo fa. Se vuoi lasciare invariato il primo peer, ma aggiungere l'autenticazione MD5 al secondo peer, utilizza una richiesta simile alla seguente.
PATCH https://compute.googleapis.com/compute/beta/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 il router CloudREGION
: l'area geografica di Google CloudROUTER_NAME
: nome del router CloudKEY_NAME_1
: il nome della chiave attualmente in uso (daPEER_NAME_1
)KEY_NAME_2
: il nome della nuova chiave che vuoi aggiungere perPEER_NAME_2
. Prendi nota del nome. Se vuoi apportare modifiche in un secondo momento utilizzando l'API, devi conoscere il nome.SECRET_KEY
: la chiave di autenticazione MD5 segreta che stai aggiungendo perPEER_NAME_2
PEER_NAME_1
: nome del peer BGP che non cambieràINTERFACE_NAME_1
: nome dell'interfaccia della sessione di peering BGP che non cambiaIP_ADDRESS_1
: indirizzo IP del router Cloud (per il peer che non cambierà)PEER_IP_ADDRESS_1
: l'indirizzo IP del peer che non cambiaPEER_ASN_1
: il numero di sistema autonomo BGP (ASN) per il peer che non cambiaPEER_NAME_2
: nome del peer BGP che vuoi aggiornare in modo che utilizzi l'autenticazione MD5INTERFACE_NAME_2
: nome dell'interfaccia della sessione di peering BGPIP_ADDRESS_2
: l'indirizzo IP del router CloudPEER_IP_ADDRESS_2
: indirizzo IP del router peerPEER_ASN_2
: numero di sistema autonomo BGP (ASN) per questo peer BGP
Aggiornare la chiave di autenticazione
Se devi modificare la chiave utilizzata dal router Cloud per una sessione di peering, esegui una delle seguenti procedure. Quando aggiorni la chiave sul router Cloud, assicurati che la chiave che utilizzi sia identica a quella utilizzata dal router peer.
gcloud
Per aggiornare la sessione, utilizza il comando
gcloud beta compute routers update-bgp-peer
.
gcloud beta compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
Sostituisci i seguenti valori:
ROUTER_NAME
: nome del router CloudPEER_NAME
: nome del peer BGPREGION
: l'area geografica di 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, usa una richiesta simile alla seguente.
Questo esempio sostituisce l'intero array del peer, non solo il peer specifico identificato. Ciò significa che vengono rimossi tutti i peer tranne PEER_NAME
. Rimuove tutte le chiavi tranne KEY_NAME
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME" } ], "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 il router CloudREGION
: l'area geografica di Google CloudROUTER_NAME
: nome del router CloudKEY_NAME
: nome della chiave che vuoi aggiornare; ogni volta che utilizzi l'autenticazione MD5 usando l'API, devi fare riferimento alla chiave tramite il suo nomeUPDATED_SECRET_KEY
: la nuova chiave di autenticazione MD5 segretaPEER_NAME
: nome del peer BGPINTERFACE_NAME
: nome dell'interfaccia della sessione di peering BGPIP_ADDRESS
: l'indirizzo IP del router CloudPEER_IP_ADDRESS
: indirizzo IP del router peerPEER_ASN
: numero di sistema autonomo BGP (ASN) per questo peer BGP
Controlla lo stato dell'autenticazione
Per controllare lo stato dell'autenticazione MD5, procedi nel seguente modo. Vedi anche Visualizzare i dettagli del router Cloud.
Per configurare il monitoraggio continuo delle sessioni BGP, utilizza Cloud Logging. Il logging registra informazioni sullo stato di autenticazione MD5 nell'evento BGP, che fa parte del log delle informazioni.
gcloud
Per verificare la sessione utilizzando l'interfaccia a riga di comando gcloud, utilizza il comando gcloud beta compute routers get-status
.
gcloud beta compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
Sostituisci i seguenti valori:
ROUTER_NAME
: nome del router CloudPROJECT
: il nome del progettoREGION
: l'area geografica di Google Cloud
L'output include l'oggetto result.bgpPeerStatus[]
, che contiene informazioni sulle sessioni BGP del router Cloud. I dati su 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/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
Sostituisci quanto segue:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: area geografica in cui si trova il router CloudROUTER_NAME
: 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 è abilitata per la sessionestatusReason
: un campo che descrive lo stato della sessione. Questo campo viene visualizzato solo quando si verifica un problema con l'autenticazione MD5. In questo caso, il valore del campo èMD5_AUTH_INTERNAL_PROBLEM
.
Rimuovere l'autenticazione da una sessione
Se vuoi rimuovere l'autenticazione MD5 da una sessione, utilizza una delle seguenti procedure.
gcloud
Per rimuovere l'autenticazione MD5, utilizza il comando gcloud beta compute routers update-bgp-peer
:
gcloud beta compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
Sostituisci i seguenti valori:
ROUTER_NAME
: nome del router CloudPEER_NAME
: nome del peer BGPREGION
: l'area geografica di Google Cloud
API
Per rimuovere l'autenticazione MD5, utilizza il metodo compute.routers.patch
.
Quando rimuovi l'autenticazione utilizzando l'API, l'aggiornamento deve eseguire due operazioni:
- Aggiorna l'array
md5AuthenticationKeys
- Rimuovi il valore
md5AuthenticationKey
dalla vocebgpPeers
pertinente
Ad esempio, se il router Cloud ha due peer BGP e vuoi rimuovere l'autenticazione MD5 da uno di questi. In questo caso, utilizza una richiesta simile alla seguente:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_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_FOR_UNCHANGED_PEER", } ], ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: l'area geografica di Google Cloud in cui si trova il router CloudROUTER_NAME
: nome del router CloudNAME_OF_UPDATED_PEER
: il nome della sessione di peering che vuoi modificare.INTERFACE_NAME_FOR_UPDATED_PEER
: nome dell'interfaccia del peer BGP da modificare.IP_ADDRESS_FOR_UPDATED_PEER
: l'indirizzo IP del router Cloud utilizzato dal peer che vuoi modificarePEER_IP_ADDRESS_FOR_UPDATED_PEER
: indirizzo IP del router peer per la sessione di peering da modificare.PEER_ASN
: il numero di sistema autonomo BGP (ASN) per questo peer BGP che vuoi modificareNAME_OF_UNCHANGED_PEER
: il nome della sessione di peering che vuoi mantenere invariatoINTERFACE_NAME_FOR_UNCHANGED_PEER
: nome dell'interfaccia del peer BGP da mantenere così com'èIP_ADDRESS_FOR_UNCHANGED_PEER
: l'indirizzo IP del router Cloud utilizzato dal peer che vuoi mantenere invariatoPEER_IP_ADDRESS_FOR_UNCHANGED_PEER
: indirizzo IP del router peer per la sessione di peering che vuoi mantenere invariatoPEER_ASN_FOR_UNCHANGED_PEER
: il numero di sistema autonomo BGP (ASN) per il peer BGP che vuoi mantenere così com'èKEY_FOR_UNCHANGED_PEER
: nome del sistema autonomo BGP della chiave di autenticazione MD5 per il peer BGP che vuoi mantenere invariato
Rimuovere una sessione che utilizza l'autenticazione
A volte potresti voler rimuovere una sessione di peering che utilizza l'autenticazione MD5. Se lavori con l'interfaccia a riga di comando gcloud, esegui la stessa procedura che faresti per i peer non autenticati. Tuttavia, se lavori nell'API, la procedura è leggermente diversa.
gcloud
Per rimuovere l'autenticazione MD5, utilizza il comando gcloud beta compute routers update-bgp-peer
:
gcloud beta compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
Sostituisci i seguenti valori:
ROUTER_NAME
: nome del router CloudPEER_NAME
: nome del peer BGPREGION
: l'area geografica di Google Cloud
API
Per rimuovere l'autenticazione MD5, utilizza il metodo compute.routers.patch
.
Quando rimuovi l'autenticazione utilizzando l'API, l'aggiornamento deve eseguire due operazioni: rimuovere la chiave dall'array md5AuthenticationKeys
e rimuovere bgpPeer
stesso.
Ad esempio, supponiamo che il router Cloud abbia due peer e vuoi rimuoverne uno. In questo caso, utilizza una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/beta/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" } ], }
Sostituisci i seguenti valori:
PROJECT_ID
: il progetto che contiene il router CloudREGION
: l'area geografica di Google CloudROUTER_NAME
: nome del router CloudKEY_NAME_FOR_RETAINED_PEER
: il nome della chiave utilizzata dal peer che stai tenendoNAME_OF_RETAINED_PEER
: nome del peer BGP che mantieniINTERFACE_FOR_RETAINED_PEER
: nome dell'interfaccia del peer BGP che stai mantenendoIP_ADDRESS_FOR_RETAINED_PEER
: l'indirizzo IP nel router Cloud per il peer che stai mantenendoPEER_IP_ADDRESS_FOR_RETAINED_PEER
: l'indirizzo IP del peer che stai mantenendoPEER_ASN_FOR_RETAINED_PEER
: il numero di sistema autonomo BGP (ASN) per il peer che stai mantenendo
Ad esempio, supponi di aver creato i seguenti peer:
PATCH https://compute.googleapis.com/compute/beta/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 vuoi rimuovere il secondo peer, dovresti utilizzare una richiesta come la seguente:
PATCH https://compute.googleapis.com/compute/beta/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" } ], }