Usa la autenticación MD5
Cloud Router usa el protocolo de puerta de enlace fronteriza (BGP) para intercambiar rutas entre una red de nube privada virtual (VPC) y una red de intercambio de tráfico. De forma predeterminada, las sesiones de BGP de Cloud Router no están autenticadas. Sin embargo, cuando usas Cloud Router con ciertos productos, puedes configurar tus sesiones de BGP para usar la autenticación MD5.
Los productos que pueden usar la autenticación MD5 incluyen los siguientes:
También puedes usar la autenticación MD5 con dispositivos virtuales de redes de terceros. Para obtener más información, consulta Dispositivo del router en la documentación de Network Connectivity Center.
Cuando configuras una sesión para que use la autenticación MD5, debes proporcionar una clave compartida secreta, una clave que usas cuando configuras Cloud Router y otra vez cuando configuras el router del par. Después de completar los pasos de configuración necesarios, Cloud Router usa esa clave para autenticar el par de BGP. Cloud Router aplica la autenticación MD5 mediante el modelo descrito en RFC 2385.
Puedes agregar la autenticación MD5 cuando creas un par. También puedes agregar autenticación a una sesión existente, cambiar la clave que usa una sesión o quitar la autenticación.
Antes de comenzar
- 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
- Si usas Google Cloud CLI, ejecuta el siguiente comando para configurar el ID del proyecto. En las instrucciones de
gcloud
de esta página, se supone que estableciste el ID del proyecto.gcloud config set project PROJECT_ID
-
Ejecuta el siguiente comando para confirmar que el ID se configuró:
gcloud config list --format='text(core.project)'
Crea una sesión que use la autenticación
Para algunos productos de Conectividad de red, puedes configurar un par de BGP para usar la autenticación MD5 mientras creas el recurso. Estos productos incluyen VPN con alta disponibilidad y, además, interconexión dedicada.
Si deseas obtener más información, consulta las siguientes secciones:
- Crea una puerta de enlace de VPN con alta disponibilidad a una puerta de enlace de VPN de intercambio de tráfico
- Crea un túnel de VPN con alta disponibilidad entre redes de Google Cloud
- Crea adjuntos de VLAN (interconexión dedicada)
Si creas un adjunto de VLAN de interconexión de socio de capa 2, primero debes crear el archivo adjunto y, luego, actualizar el par de BGP para agregar la autenticación MD5. Para obtener información sobre cómo agregar autenticación mientras se actualiza una sesión de BGP, consulta la siguiente sección. Si tienes una conexión de capa 3, comunícate con tu proveedor de servicios para obtener instrucciones.
Agrega autenticación a una sesión existente
Para agregar autenticación a una app similar de BGP existente, usa uno de los siguientes procedimientos. Cuando agregues la autenticación, asegúrate de que la clave que uses sea idéntica a la que usa tu router del par.
Google Cloud no muestra la clave de autenticación MD5 y solo muestra el nombre de la clave en una configuración exitosa.
- Si configuras la autenticación MD5 a través de gcloud o IU, Google Cloud genera automáticamente el nombre de clave en el formato
PEER_NAME-key
. - Si configuras la autenticación MD5 a través de la API, puedes especificar el nombre de la clave.
Consola
En la consola de Google Cloud, ve a la página Cloud Routers.
En el campo Nombre, haz clic en el nombre del Cloud Router correspondiente.
En la página de detalles del router, haz clic en el nombre de la sesión de BGP que deseas modificar.
En la página de detalles de la sesión de BGP, haz clic en
Editar.Para agregar la autenticación MD5, sigue estos pasos:
- En la sección Autenticación de MD5, elige Habilitadas. La página se actualiza para incluir un campo de texto.
- Ingresa una clave de seguridad o, para generar una nueva clave de seguridad, haz clic en Generar y copiar.
- Anota la clave. Después de salir de esta página, no podrás recuperar la clave.
Haz clic en Guardar.
gcloud
Para actualizar la sesión con la CLI de gcloud, usa el 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
Reemplaza los siguientes valores:
ROUTER_NAME
es el nombre del Cloud RouterPEER_NAME
: el nombre del par de BGPREGION
: la región de Google CloudSECRET_KEY
: tu clave de autenticación MD5 compartida secreta
API
Para actualizar la sesión con la API, usa el método compute.routers.patch
. Cuando usas este método para agregar autenticación a la sesión, tu solicitud debe realizar dos acciones:
- Agregar una entrada para la clave en el array
md5AuthenticationKeys
. Cuando agregas la entrada, proporcionas un nombre y un valor para la clave. - Actualizar el array
bgpPeers
para incluir un valor en el campomd5AuthenticationKeyName
. Este campo hace referencia a la clave por nombre.
Cuando aplicas un parche al array md5AuthenticationKeys
, debes proporcionar el name
de cada elemento del array (a menos que desees quitar algunos elementos).
Sin embargo, no tienes que proporcionar el valor para el campo key
de cada elemento.
Si omites este valor, Cloud Router conserva el valor anterior que se usó. Este comportamiento está diseñado para proteger la confidencialidad de las claves.
Difiere de otros métodos de aplicación de parches, que suelen requerir que especifiques un valor para cada campo en un elemento del array.
Cuando aplicas un parche al array bgpPeers
, debes proporcionar valores para cada campo de cada elemento (a menos que desees quitar algunos pares o algunos valores).
Por ejemplo, supongamos que Cloud Router tiene dos pares, uno que usa autenticación MD5 y otro que no. Si deseas dejar el primer par sin modificar, pero agregar la autenticación MD5 al segundo par, deberías usar una solicitud como la siguiente:
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" } ], }
Reemplaza los siguientes valores:
PROJECT_ID
es el proyecto que contiene el Cloud RouterREGION
: la región de Google CloudROUTER_NAME
es el nombre del Cloud RouterKEY_NAME_1
: el nombre de la clave que está en uso (PEER_NAME_1
).KEY_NAME_2
: el nombre de la clave nueva que deseas agregar paraPEER_NAME_2
. Toma nota del nombre. Si deseas realizar cambios más adelante mediante la API, necesitas el nombre.SECRET_KEY
: la clave de autenticación MD5 secreta que agregas paraPEER_NAME_2
PEER_NAME_1
: el nombre del par de BGP que no cambiarásINTERFACE_NAME_1
: el nombre de la interfaz para la sesión de intercambio de tráfico de BGP que no cambiaIP_ADDRESS_1
la dirección IP en Cloud Router (para el par que no cambia)PEER_IP_ADDRESS_1
: la dirección IP del par que no cambiaPEER_ASN_1
: el número del sistema autónomo (ASN) de BGP para el par que no cambiaPEER_NAME_2
: el nombre del par de BGP que deseas actualizar para que use la autenticación MD5INTERFACE_NAME_2
: el nombre de la interfaz para la sesión de intercambio de tráfico de BGPIP_ADDRESS_2
: la dirección IP en Cloud RouterPEER_IP_ADDRESS_2
: la dirección IP del router del parPEER_ASN_2
: el número del sistema autónomo (ASN) de BGP para este par de BGP
Actualiza la clave de autenticación
A fin de cambiar la clave que Cloud Router usa para una sesión de intercambio de tráfico, usa uno de los siguientes procedimientos. Cuando actualices la clave en Cloud Router, asegúrate de que la clave que uses sea idéntica a la que usa el router del par.
Google Cloud no muestra la clave de autenticación MD5 y solo muestra el nombre de la clave en una configuración exitosa.
- Si configuras la autenticación MD5 a través de gcloud o IU, Google Cloud genera automáticamente el nombre de clave en el formato
PEER_NAME-key
. - Si configuras la autenticación MD5 a través de la API, puedes especificar el nombre de la clave.
Consola
En la consola de Google Cloud, ve a la página Cloud Routers.
En el campo Nombre, haz clic en el nombre del Cloud Router correspondiente.
En la página de detalles del router, haz clic en el nombre de la sesión de BGP que deseas modificar.
En la página de detalles de la sesión de BGP, haz clic en
Editar.En la sección Autenticación de MD5, haz clic en Actualizar clave de autenticación MD5.
En el campo Clave de autenticación MD5, ingresa la clave de autenticación secreta nueva o, para propagar el campo, haz clic en Generar y copiar.
Anota la clave. Después de salir de esta página, no podrás recuperar la clave.
Haz clic en Guardar.
gcloud
Para actualizar la sesión, usa el 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
Reemplaza los siguientes valores:
ROUTER_NAME
es el nombre del Cloud RouterPEER_NAME
: el nombre del par de BGPREGION
: la región de Google CloudSECRET_KEY
: la clave de autenticación MD5 nueva que deseas usar
API
Para actualizar la sesión, usa el método compute.routers.patch
. Por ejemplo, usa una solicitud como la que se muestra a continuación.
En este ejemplo, se reemplaza todo el array de pares, no solo el par específico que se identifica. Es decir, quita todos los pares, excepto PEER_NAME
. Quita todas las claves, excepto KEY_NAME
, y actualiza el KEY_NAME
con el valor nuevo 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" } ], }
Reemplaza los siguientes valores:
PROJECT_ID
es el proyecto que contiene el Cloud RouterREGION
: la región de Google CloudROUTER_NAME
es el nombre del Cloud RouterKEY_NAME
: el nombre de la clave que deseas actualizar; cuando trabajes con la autenticación MD5 mediante la API, debes hacer referencia a la clave por su nombre.UPDATED_SECRET_KEY
: tu nueva clave de autenticación MD5 secretaPEER_NAME
: el nombre del par de BGPINTERFACE_NAME
: el nombre de la interfaz para la sesión de intercambio de tráfico de BGPIP_ADDRESS
: la dirección IP en Cloud RouterPEER_IP_ADDRESS
: la dirección IP del router del parPEER_ASN
: el número del sistema autónomo (ASN) de BGP para este par de BGP
Comprueba el estado de la autenticación
Usa los siguientes pasos para verificar el estado de la autenticación MD5. Consulta también Visualiza los detalles de Cloud Router.
Consola
En la consola de Google Cloud, ve a la página Cloud Routers.
En el campo Nombre, haz clic en el nombre del Cloud Router correspondiente.
En la página Detalles del router, busca la columna Autenticación MD5. Para cada sesión, el valor de esta columna indica si la autenticación MD5 está habilitada.
gcloud
Para verificar la sesión con la CLI de gcloud, usa el comando gcloud compute routers get-status
.
gcloud compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
Reemplaza los siguientes valores:
ROUTER_NAME
es el nombre del Cloud RouterPROJECT
: el nombre del proyectoREGION
: la región de Google Cloud
En el resultado, se incluye el objeto result.bgpPeerStatus[]
, que contiene información sobre las sesiones de BGP de Cloud Router. Los datos sobre cada sesión incluyen los siguientes dos campos:
md5AuthEnabled
: un campo booleano que indica si la autenticación MD5 está habilitada para la sesiónstatusReason
: un campo que describe el estado de la sesión
API
Usa el método routers.getRouterStatus
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
Reemplaza lo siguiente:
PROJECT_ID
es el proyecto que contiene el Cloud RouterREGION
es la región en la que se encuentra el Cloud RouterROUTER_NAME
es el nombre del Cloud Router
En el resultado, se incluye información sobre cada sesión de BGP. Los datos sobre cada sesión incluyen los siguientes dos campos:
md5AuthEnabled
: un campo booleano que indica si la autenticación MD5 está habilitada para la sesiónstatusReason
: un campo que describe el estado de la sesión Este campo se muestra solo cuando hay un problema con la autenticación MD5. (En ese caso, el valor del campo esMD5_AUTH_INTERNAL_PROBLEM
).
Para configurar la supervisión continua de tus sesiones de BGP, usa Cloud Logging. Logging registra la información sobre el estado de autenticación MD5 en el evento de BGP, que es parte del registro de información.
Quita una autenticación de una sesión
Si deseas quitar la autenticación MD5 de una sesión de BGP, debes quitar la autenticación MD5 del Cloud Router y del router del par.
Para quitar la autenticación MD5 de la sesión de BGP en el Cloud Router, usa uno de los siguientes procedimientos.
Consola
En la consola de Google Cloud, ve a la página Cloud Routers.
En el campo Nombre, haz clic en el nombre del Cloud Router correspondiente.
En la página de detalles del router, haz clic en el nombre de la sesión de BGP que deseas modificar.
En la página de detalles de la sesión de BGP, haz clic en
Editar.En Autenticación MD5, haz clic en Inhabilitada.
Haz clic en Guardar. Aparecerá el cuadro de diálogo Inhabilitar clave de autenticación MD5.
En el cuadro de diálogo Confirmación, haz clic en Confirmar.
gcloud
Para quitar la autenticación MD5, usa el 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
Reemplaza los siguientes valores:
ROUTER_NAME
es el nombre del Cloud RouterPEER_NAME
: el nombre del par de BGPREGION
: la región de Google Cloud
API
Para quitar la autenticación MD5, usa el método compute.routers.patch
.
Cuando quitas la autenticación mediante la API, tu actualización debe realizar dos acciones:
- Actualizar el array
md5AuthenticationKeys
- Quitar el valor
md5AuthenticationKey
de la entradabgpPeers
relevante.
Por ejemplo, si Cloud Router tiene dos pares de BGP y deseas quitar la autenticación MD5 de uno de ellos. En este caso, usa una solicitud como la que se muestra a continuación:
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" } ], ], }
Reemplaza los siguientes valores:
PROJECT_ID
es el proyecto que contiene el Cloud RouterREGION
: la región de Google Cloud donde se encuentra Cloud Router.ROUTER_NAME
es el nombre del Cloud RouterNAME_OF_UPDATED_PEER
: el nombre de la sesión de intercambio de tráfico que deseas modificarINTERFACE_NAME_FOR_UPDATED_PEER
: el nombre de la interfaz del par de BGP que deseas modificarIP_ADDRESS_FOR_UPDATED_PEER
: la dirección IP en Cloud Router que usa el par que deseas modificarPEER_IP_ADDRESS_FOR_UPDATED_PEER
: la dirección IP del router del par de la sesión de intercambio de tráfico que deseas modificarPEER_ASN
: el número del sistema autónomo (ASN) de BGP para este par de BGP que deseas modificarNAME_OF_UNCHANGED_PEER
: el nombre de la sesión de intercambio de tráfico que deseas conservar tal como estáINTERFACE_NAME_FOR_UNCHANGED_PEER
: el nombre de la interfaz del par de BGP que deseas mantener tal como estáIP_ADDRESS_FOR_UNCHANGED_PEER
: la dirección IP en Cloud Router que usa el par que deseas mantener tal como estáPEER_IP_ADDRESS_FOR_UNCHANGED_PEER
: la dirección IP del router del par de la sesión de intercambio de tráfico que deseas mantener tal como está.PEER_ASN_FOR_UNCHANGED_PEER
: el número del sistema autónomo (BGP) de BGP para el par de BGP que deseas mantener como estáKEY_NAME_FOR_UNCHANGED_PEER
: el nombre de la clave de autenticación MD5 para la app similar de BGP que deseas mantener tal como está
Quita una sesión que use la autenticación
Para quitar una sesión de intercambio de tráfico que usa la autenticación MD5, usa uno de los siguientes procedimientos.
Consola
En la consola de Google Cloud, ve a la página Cloud Routers.
- Elige el router del que deseas quitar una sesión de BGP.
- En Sesiones de BGP, selecciona la sesión de BGP que deseas quitar.
- En la parte superior de la página, haz clic en Borrar y confirma la eliminación.
gcloud
Para quitar una sesión de BGP con la autenticación MD5 habilitada, usa el comando gcloud compute routers remove-bgp-peer
.
Para obtener más información, consulta Inhabilita o quita sesiones de BGP.
API
Para quitar una sesión de BGP con la autenticación MD5 habilitada, usa el método compute.routers.patch
.
Cuando quitas una sesión de BGP con la autenticación MD5 mediante la API, tu actualización debe llevar a cabo dos acciones: quitar la clave del array md5AuthenticationKeys
y quitar el bgpPeer
en sí.
Por ejemplo, supongamos que Cloud Router tiene dos pares y deseas quitar uno de ellos. En este caso, usa una solicitud como la que se muestra a continuación:
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" } ], }
Reemplaza los siguientes valores:
PROJECT_ID
es el proyecto que contiene el Cloud RouterREGION
: la región de Google CloudROUTER_NAME
es el nombre del Cloud RouterKEY_NAME_FOR_RETAINED_PEER
: el nombre de la clave que usa el par que conservasNAME_OF_RETAINED_PEER
: el nombre del par de BGP que conservasINTERFACE_FOR_RETAINED_PEER
: el nombre de la interfaz del par de BGP que conservasIP_ADDRESS_FOR_RETAINED_PEER
: la dirección IP en Cloud Router del par que conservasPEER_IP_ADDRESS_FOR_RETAINED_PEER
: la dirección IP del par que conservasPEER_ASN_FOR_RETAINED_PEER
: el número del sistema autónomo (ASN) de BGP para el par que conservasKEY_NAME_FOR_RETAINED_PEER
: el nombre de la clave de autenticación MD5 para app similar de BGP que conservas
Por ejemplo, supongamos que creaste los siguientes pares:
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" } ], }
Si deseas quitar el segundo par, deberías usar una solicitud como la siguiente:
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" } ], }