Crear un túnel VPN con enrutamiento dinámico

En esta página, se describe cómo crear una puerta de enlace de Cloud VPN y un túnel mediante el enrutamiento dinámico, que usa el Protocolo de Enrutamiento de Puerta de Enlace Fronteriza (BGP).

Con el enrutamiento dinámico, no especificas los selectores de tráfico locales o remotos; en cambio, usas un Cloud Router. La información de la ruta se intercambia dinámicamente.

Antes de comenzar:

  • Revisa la información sobre cómo funciona el enrutamiento dinámico en GCP.
  • Asegúrate de que tu puerta de enlace VPN local sea compatible con BGP.

Permisos necesarios

Los propietarios de proyectos, editores y miembros de IAM con la función de administrador de red pueden crear nuevas puertas de enlace y túneles de Cloud VPN.

Crear una puerta de enlace y un túnel

Console


  1. Ve a la página de VPN en Google Cloud Platform Console.
    Ir a la página de VPN
  2. Haz clic en Crear.
  3. En la página Crear una conexión de VPN, proporciona la siguiente información en la sección puerta de enlace VPN de Google Compute Engine:
    • Nombre: El nombre de la puerta de enlace VPN. El nombre no se puede cambiar más adelante.
    • Descripción: Opcionalmente, escribe una descripción.
    • Red: Elige la red de GCP en la que se deben crear la puerta de enlace VPN y el túnel. Puedes usar una red de VPC o una red heredada.
    • Región: Las puertas de enlace y túneles de Cloud VPN son objetos regionales. Elige una región de GCP donde se debe ubicar la puerta de enlace. Las instancias y otros recursos en diferentes regiones pueden usar el túnel para el tráfico de salida sujeto al orden de las rutas. Para un mejor rendimiento, ubica la puerta de enlace y el túnel en la misma región que los recursos de GCP relevantes.
    • Dirección IP: Crea o elige una dirección IP externa regional existente.
  4. Suministra lo siguiente en la sección Túneles para el nuevo elemento de túnel:
    • Nombre: El nombre del túnel VPN. El nombre no se puede cambiar más adelante.
    • Descripción: Opcionalmente, escribe una descripción.
    • Dirección IP de par remoto: Suministra la dirección IP pública de la puerta de enlace VPN local.
    • Versión de IKE: Elige la versión de IKE adecuada admitida por la puerta de enlace VPN local. Se prefiere IKEv2 si es compatible con el dispositivo local.
    • Secreto compartido: Proporciona una clave compartida previamente utilizada para la autenticación. El secreto compartido para el túnel de Cloud VPN debe coincidir con el que se usa cuando configuras el túnel equivalente en la puerta de enlace VPN local. Puedes seguir estas instrucciones para generar un secreto compartido criptográficamente seguro.
    • Opciones de enrutamiento: Selecciona Dinámico (BGP).
    • Cloud Router: Elige un Cloud Router existente o selecciona Crear Cloud Router para crear uno nuevo. Si eliges un Cloud Router existente, seguirás creando una nueva sesión de BGP, pero el ASN de Google es el mismo. Si eliges crear un nuevo Cloud Router, proporciona los siguientes detalles:
      • Nombre: El nombre del Cloud Router. El nombre no se puede cambiar más adelante.
      • Descripción: Opcionalmente, escribe una descripción.
      • ASN de Google: Elige un ASN privado (64512 - 65534, 4200000000 - 4294967294). Este ASN de Google se usa para todas las sesiones de BGP administradas por Cloud Router. El ASN no se puede cambiar más adelante.
      • Haz clic en Guardar y continuar.
    • Sesión de BGP: Haz clic en el ícono de lápiz y, luego, proporciona los siguientes detalles. Cuando hayas terminado, haz clic en Guardar y continuar:
      • Nombre: El nombre de la sesión de BGP. No se puede cambiar más adelante.
      • ASN de par: El ASN privado (64512 - 65534, 4200000000 - 4294967294) usado por tu puerta de enlace VPN local.
      • Prioridad de ruta anunciada: (Opcional) la prioridad base que usa Cloud Router cuando anuncia las rutas "a GCP". Para obtener más información, consulta Métricas de ruta. Tu puerta de enlace VPN local los importa como valores MED.
      • IP de BGP de Cloud Router y la IP de par de BGP: Las dos direcciones IP de la interfaz BGP deben ser direcciones IP de vínculo local que pertenezcan a un CIDR común /30 del bloque 169.254.0.0/16. Cada IP de BGP define la respectiva IP de vínculo local utilizada para intercambiar información de ruta. Por ejemplo, 169.254.1.1 y 169.254.1.2 pertenecen a un bloque común /30.
  5. Si necesitas crear más túneles en la misma puerta de enlace, haz clic en Agregar túnel y repite el paso anterior. Puedes agregar más túneles más adelante.
  6. Haz clic en Crear.

gcloud


En los siguientes comandos, reemplaza lo siguiente:

  • [PROJECT_ID] con el ID de tu proyecto.
  • [NETWORK] con el nombre de tu red de GCP.
  • [REGION] con la región de GCP donde necesitas crear la puerta de enlace y el túnel.
  • [GW_NAME] con el nombre de la puerta de enlace.
  • [GW_IP_NAME] con un nombre para la IP externa utilizada por la puerta de enlace.

Completa la siguiente secuencia de comandos para crear una puerta de enlace de GCP:

  1. Crea los recursos para la puerta de enlace de Cloud VPN:

    1. Crea el objeto de puerta de enlace VPN de destino.

      gcloud compute target-vpn-gateways create [GW_NAME] \
          --network [NETWORK] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    2. Reserva una dirección IP externa regional (estática):

      gcloud compute addresses create [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    3. Anota la dirección IP (para que puedas usarla cuando configures tu puerta de enlace VPN local):

      gcloud compute addresses describe [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID] \
          --format='flattened(address)'
      
    4. Crea tres reglas de reenvío. Estas reglas le indican a GCP que envíe tráfico ESP (IPSec), UDP 500 y UDP 4500 a la puerta de enlace.

       gcloud compute forwarding-rules create fr-[GW_NAME]-esp \
           --ip-protocol ESP \
           --address [GW_IP_NAME] \
           --target-vpn-gateway [GW_NAME] \
           --region [REGION] \
           --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp500 \
          --ip-protocol UDP \
          --ports 500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp4500 \
          --ip-protocol UDP \
          --ports 4500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  2. Si aún no creas un Cloud Router o si deseas crear uno nuevo, usa el siguiente comando. Reemplaza [ROUTER_NAME] con un nombre para Cloud Router y [GOOGLE_ASN] con un ASN privado (64512 - 65534, 4200000000 - 4294967294). El ASN de Google se utiliza para todas las sesiones de BGP en el mismo Cloud Router y no se puede cambiar más adelante.

      gcloud compute routers create [ROUTER_NAME] \
      --asn [GOOGLE_ASN] \
      --network [NETWORK] \
      --region [REGION] \
      --project [PROJECT_ID]
    
  3. Crea el túnel de Cloud VPN con los siguientes detalles:

    • Reemplaza [TUNNEL_NAME] con un nombre para el túnel.
    • Reemplaza [ON_PREM_IP] con la dirección IP externa de la puerta de enlace VPN local.
    • Reemplaza [IKE_VERS] con 1 para IKEv1 o 2 para IKEv2.
    • Reemplaza [SHARED_SECRET] con tu secreto compartido. El secreto compartido para el túnel de Cloud VPN debe coincidir con el que se usa cuando configuras el túnel equivalente en la puerta de enlace VPN local. Puedes seguir estas instrucciones para generar un secreto compartido criptográficamente seguro.
    • Reemplaza [ROUTER_NAME] con el nombre del Cloud Router que deseas utilizar para administrar las rutas para el túnel de Cloud VPN. El Cloud Router debe existir antes de crear el túnel.

      gcloud compute vpn-tunnels create [TUNNEL_NAME] \
          --peer-address [ON_PREM_IP] \
          --ike-version [IKE_VERS] \
          --shared-secret [SHARED_SECRET] \
          --router my-router [ROUTER_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  4. Configura una sesión de BGP para el Cloud Router. Para ello, crea una interfaz y un par de BGP. Elige uno de los siguientes métodos:

    • Permitir que GCP elija automáticamente las direcciones IP de BGP de vínculo local:

      1. Agrega una nueva interfaz al Cloud Router. Reemplaza [INTERFACE_NAME] para proporcionar un nombre a la interfaz.

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      2. Agrega un par de BGP a la interfaz. Reemplaza [PEER_NAME] con un nombre para el par y [PEER_ASN] con el ASN configurado para la puerta de enlace VPN local.

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. Enumera las direcciones IP de BGP que eligió Cloud Router. Si agregaste una nueva interfaz a un Cloud Router existente, las direcciones IP de BGP para la nueva interfaz deberían aparecer con el número de índice más alto. La dirección IP de par es la IP de BGP que debes usar para configurar tu puerta de enlace VPN local.

        gcloud compute routers get-status [ROUTER_NAME] \
             --region [REGION] \
             --project [PROJECT_ID] \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        El resultado esperado para un Cloud Router que administra un solo túnel de Cloud VPN (índice 0) es similar al siguiente, en el que [GOOGLE_BGP_IP] representa la IP de BGP de la interfaz del Cloud Router y [ON_PREM_BGP_IP] representa la IP de BGP de su par local.

        result.bgpPeerStatus[0].ipAddress:     [GOOGLE_BGP_IP]
        result.bgpPeerStatus[0].peerIpAddress: [ON_PREM_BGP_IP]
        
    • Asignar manualmente las direcciones IP de BGP asociadas con la interfaz y el par de BGP de GCP:

      1. Elige un par de direcciones IP de BGP de vínculo local en un bloque /30 desde el rango 169.254.0.0/16. Asignarás una de estas IP de BGP al Cloud Router en el siguiente comando mediante el reemplazo de [GOOGLE_BGP_IP]. La otra dirección IP de BGP se usa para tu puerta de enlace VPN local. Deberás configurar tu dispositivo para usar esa dirección y reemplazar [ON_PREM_BGP_IP] en el último comando, a continuación.

      2. Agrega una nueva interfaz al Cloud Router. Reemplaza [INTERFACE_NAME] para proporcionar un nombre a la interfaz.

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --ip-address [GOOGLE_BGP_IP] \
            --mask-length 30 \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. Agrega un par de BGP a la interfaz. Reemplaza [PEER_NAME] con un nombre para el par y [PEER_ASN] con el ASN configurado para la puerta de enlace VPN local.

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --peer-ip-address [ON_PREM_BGP_IP] \
            --region [REGION] \
            --project [PROJECT_ID]
        

Pasos de seguimiento

Debes completar los siguientes pasos antes de poder utilizar una nueva puerta de enlace y túnel de Cloud VPN:

  1. Configura la puerta de enlace VPN local y configura el túnel correspondiente allí. Consulta estas páginas:
  2. Configura las reglas de firewall en GCP y tu red local según sea necesario. Consulta la página de reglas del firewall para obtener sugerencias.
  3. Comprueba el estado de tu túnel.

¿Qué sigue?

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...