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.
Para configurar la autenticación MD5, debes usar Google Cloud CLI o la API.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
- Instala y, luego, inicializa Google Cloud CLI.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
- Instala y, luego, inicializa Google Cloud CLI.
- 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
Si deseas agregar autenticación a un par 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.
gcloud
Para actualizar la sesión con la CLI de gcloud, usa el 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
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/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" } ], }
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
Si necesitas cambiar la clave que usa Cloud Router 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.
gcloud
Para actualizar la sesión, usa el 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
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
.
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" } ], }
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.
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.
gcloud
Para verificar la sesión con la CLI de gcloud, usa el comando gcloud beta compute routers get-status
.
gcloud beta 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/beta/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
).
Quita una autenticación de una sesión
Si deseas quitar la autenticación MD5 de una sesión, usa uno de los siguientes procedimientos.
gcloud
Para quitar la autenticación MD5, usa el 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
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/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", } ], ], }
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_FOR_UNCHANGED_PEER
: el nombre del sistema autónomo de BGP de la clave de autenticación MD5 para el par de BGP que deseas mantener como está
Quita una sesión que use la autenticación
A veces, es posible que desees quitar una sesión de intercambio de tráfico que usa la autenticación MD5. Si trabajas con la CLI de gcloud, debes usar el mismo proceso que usarías para los pares no autenticados. Sin embargo, si trabajas en la API, el proceso es ligeramente diferente.
gcloud
Para quitar la autenticación MD5, usa el 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
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: 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/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" } ], }
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 conservas
Por ejemplo, supongamos que creaste los siguientes pares:
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" } ], }
Si deseas quitar el segundo par, deberías usar una solicitud como la siguiente:
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" } ], }