Créer une passerelle VPN haute disponibilité connectée à une passerelle VPN de pairs

Cette page explique comment créer une passerelle VPN haute disponibilité qui se connecte à une passerelle VPN de pairs.

Les passerelles VPN haute disponibilité utilisent l'API HA VPN et fournissent un contrat de niveau de service garantissant une disponibilité de 99,99 %. Cette configuration utilise une paire de tunnels, avec un tunnel sur chaque interface de passerelle VPN haute disponibilité. Pour recevoir un contrat de niveau de service garantissant une disponibilité de 99,99 %, vous devez configurer des tunnels VPN sur les deux interfaces de passerelle VPN haute disponibilité.

Il existe deux composants de passerelle à configurer pour le VPN haute disponibilité :

  • Une passerelle VPN haute disponibilité dans Google Cloud.
  • Votre passerelle ou vos passerelles VPN de pairs : une ou plusieurs applications ou appareils de passerelle VPN physique dans le réseau de pairs auquel la passerelle VPN haute disponibilité se connecte. La passerelle de pairs peut être soit une passerelle VPN sur site, soit une passerelle hébergée par un autre fournisseur cloud.

    Créez une ressource de passerelle VPN externe dans Google Cloud pour chaque appareil ou service de passerelle de pairs. Remarque : Tous les scénarios de passerelles de pairs sont représentés dans Google Cloud par une seule ressource de VPN de pairs externe.

Pour en savoir plus sur Cloud VPN, consultez les ressources suivantes :

Si vous souhaitez déployer un VPN haute disponibilité sur Cloud Interconnect, consultez la présentation du VPN haute disponibilité sur Cloud Interconnect.

Conditions requises

Types de redondance

L'API VPN haute disponibilité contient une option pour REDUNDANCY_TYPE, qui représente le nombre d'interfaces que vous configurez pour la ressource de passerelle VPN externe.

Lorsque vous configurez une ressource de passerelle VPN externe, les commandes gcloud déduisent automatiquement les valeurs suivantes de REDUNDANCY_TYPE à partir du nombre d'interfaces que vous indiquez dans l'ID d'interface :

  • Une interface VPN externe correspond à SINGLE_IP_INTERNALLY_REDUNDANT.
  • Deux interfaces VPN externes correspondent à TWO_IPS_REDUNDANCY.
  • Quatre interfaces VPN externes correspondent à FOUR_IPS_REDUNDANCY.

Lorsque vous configurez des passerelles VPN externes, vous devez utiliser les numéros d'identification d'interface suivants pour le nombre indiqué d'interfaces VPN externes :

  • Pour une interface VPN externe, utilisez la valeur 0.
  • Pour deux interfaces VPN externes, utilisez les valeurs 0 et 1.
  • Pour quatre interfaces VPN externes, utilisez les valeurs 0, 1, 2 et 3.

Créer des routeurs cloud

Lors de la configuration d'une nouvelle passerelle VPN haute disponibilité, vous pouvez créer un routeur Cloud Router ou utiliser un routeur Cloud Router existant avec des tunnels Cloud VPN ou des rattachements de VLAN existants. Cependant, le routeur Cloud Router que vous utilisez ne doit pas déjà gérer une session BGP pour un rattachement de VLAN associé à une interconnexion partenaire, en raison des exigences spécifiques du numéro ASN du rattachement.

Avant de commencer

Consultez les informations sur le fonctionnement du routage dynamique dans Google Cloud.

Assurez-vous que votre passerelle VPN de pairs est compatible avec le protocole BGP (Border Gateway Protocol).

Configurez les éléments suivants dans Google Cloud pour faciliter la configuration de Cloud VPN :

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Installez Google Cloud CLI.
  5. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  6. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  7. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  8. Installez Google Cloud CLI.
  9. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  1. Si vous utilisez Google Cloud CLI, définissez votre ID de projet à l'aide de la commande suivante. Dans les instructions gcloud présentées sur cette page, nous partons du principe que vous avez défini l'ID de votre projet avant d'exécuter les commandes.

        gcloud config set project PROJECT_ID
        
  1. Vous pouvez également afficher un ID de projet déjà défini en exécutant la commande suivante :

        gcloud config list --format='text(core.project)'
        

Créer un réseau VPC et un sous-réseau personnalisés

Avant de créer une passerelle VPN haute disponibilité et une paire de tunnels, créez un réseau cloud privé virtuel (VPC) et au moins un sous-réseau dans la région où se trouve la passerelle VPN haute disponibilité :

Pour activer le protocole IPv6 pour les passerelles VPN haute disponibilité, vous devez activer l'allocation d'adresses internes IPv6 lors de la création du VPC. De plus, les sous-réseaux doivent être configurés pour utiliser des adresses internes IPv6.

Vous devez également configurer le protocole IPv6 sur les VM du sous-réseau.

Le sous-réseau VPC doit être configuré pour utiliser des adresses IPv6 internes. Lorsque vous utilisez la CLI gcloud, vous devez configurer le sous-réseau avec l'indicateur --ipv6-access-type=INTERNAL. Cloud Router n'annonce pas dynamiquement les routes pour les sous-réseaux configurés pour utiliser des adresses IPv6 externes (--ipv6-access-type=EXTERNAL).

Pour en savoir plus sur l'utilisation de plages IPv6 internes dans votre réseau et sous-réseaux VPC, consultez la section Spécifications IPv6 internes.

Les exemples de ce document utilisent également le mode de routage dynamique global d'un réseau VPC, qui se comporte comme suit :

  • Toutes les instances de Cloud Router appliquent les routes to on-premises apprises à tous les sous-réseaux du réseau VPC.
  • Les routes vers tous les sous-réseaux du réseau VPC sont partagées avec les routeurs sur site.

Créer une passerelle VPN haute disponibilité et une paire de tunnels vers un VPN de pairs

Suivez les instructions de cette section pour créer une passerelle VPN haute disponibilité, une ressource de passerelle VPN de pairs, une paire de tunnels et des sessions BGP.

Créer une passerelle VPN haute disponibilité

Console

L'assistant de configuration VPN inclut toutes les étapes de configuration requises pour créer une passerelle VPN haute disponibilité, une ressource de passerelle VPN de pairs, des tunnels et des sessions BGP.

Pour créer une passerelle VPN haute disponibilité, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page VPN.

    Accéder au VPN

  2. Si vous créez une passerelle pour la première fois, cliquez sur Créer une connexion VPN.

  3. Sélectionnez l'assistant de configuration VPN.

  4. Si vous disposez déjà d'une passerelle VPN haute disponibilité, sélectionnez son bouton d'options.

  5. Cliquez sur Continuer.

  6. Spécifiez un nom de passerelle VPN.

  7. Sous Réseau VPC, sélectionnez un réseau existant ou le réseau par défaut.

  8. Sélectionnez une Région.

  9. Sélectionnez un type de pile pour la passerelle VPN, soit IPv4 (pile unique), soit IPv4 et IPv6 (double pile).

  10. Cliquez sur Créer et continuer.

  11. L'écran de la console est actualisé et affiche les informations relatives à votre passerelle. Deux adresses IP externes sont automatiquement attribuées à chaque interface de votre passerelle. Notez les détails de la configuration de votre passerelle pour les prochaines étapes de configuration.

gcloud

Pour créer une passerelle VPN haute disponibilité, exécutez les commandes suivantes. Lorsque la passerelle est créée, deux adresses IP externes sont automatiquement attribuées, une pour chaque interface de passerelle.

  • Pour n'accepter que les charges de travail IPv4, vous pouvez créer une passerelle VPN haute disponibilité avec le type de pile IPV4_ONLY.
  • Pour gérer les charges de travail IPv4 et IPv6, vous pouvez créer une passerelle VPN haute disponibilité avec le type de pile IPV4_IPV6.
  • Pour n'accepter que les charges de travail IPv6, vous pouvez créer une passerelle VPN haute disponibilité avec le type de pile IPV6_ONLY, disponible en version bêta via Google Cloud CLI ou l'API.

Pour créer une passerelle VPN haute disponibilité avec des interfaces IPv4, exécutez la commande suivante. Lorsque la passerelle est créée, deux adresses IPv4 externes sont automatiquement attribuées, une pour chaque interface de passerelle.

gcloud compute vpn-gateways create GW_NAME \
    --network=NETWORK \
    --region=REGION \
    --stack-type=IP_STACK

Vous pouvez également spécifier --gateway-ip-version=IPV4. Toutefois, cette option n'est pas obligatoire. Si vous ne spécifiez pas cette option, la passerelle VPN haute disponibilité utilise par défaut des adresses IPv4 externes.

Pour créer une passerelle VPN haute disponibilité avec des interfaces IPv6, exécutez la commande suivante. Lorsque la passerelle est créée, deux adresses IPv6 externes sont automatiquement attribuées, une pour chaque interface de passerelle.

gcloud beta compute vpn-gateways create GW_NAME \
    --network=NETWORK \
    --region=REGION \
    --gateway-ip-version=IPV6 \
    --stack-type=IP_STACK

Remplacez les éléments suivants :

  • GW_NAME : nom de la passerelle
  • NETWORK : nom de votre réseau Google Cloud
  • REGION : région Google Cloud dans laquelle vous créez la passerelle et le tunnel
  • IP_STACK : option facultative à utiliser pour la pile IP. Indiquez IPV4_ONLY, IPV4_IPV6 ou IPV6_ONLY (bêta). Si vous ne spécifiez pas cette option, le type de pile par défaut est IPV4_ONLY pour les passerelles VPN haute disponibilité avec des interfaces IPv4, et IPV4_IPV6 pour les passerelles avec des interfaces IPv6.

La passerelle que vous créez ressemble à l'exemple de résultat suivant. Si vous spécifiez "--gateway-ip-version=IPV6", des interfaces IPv6 sont attribuées. Sinon, une adresse IPv4 externe est automatiquement attribuée à chaque interface de passerelle :

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a].
NAME          INTERFACE0     INTERFACE1     NETWORK     REGION
ha-vpn-gw-a   203.0.113.16   203.0.113.23   network-a   us-central1

API

Pour créer la configuration complète d'une passerelle VPN haute disponibilité, utilisez les commandes API suivantes dans les sections suivantes. Toutes les valeurs de champs utilisées dans ces sections sont des exemples de valeurs.

Pour créer une passerelle VPN haute disponibilité, envoyez une requête POST à l'aide de la méthode vpnGateways.insert :

   POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways
   {
     "name": "ha-vpn-gw-a",
     "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a",
     "stackType": "IPV4_IPV6",
     "gatewayIpVersion": "IPV4"
   }
   POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/vpnGateways
   {
     "name": "ha-vpn-gw-a",
     "network": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/networks/network-a",
     "gatewayIpVersion": "IPV6",
     "stackType": "IPV6_ONLY"
   }
  • Lorsque vous créez une passerelle VPN haute disponibilité avec des interfaces IPv4, les champs gatewayIpVersion et stackType sont facultatifs.

    • Si vous ne spécifiez pas gatewayIpVersion, la valeur par défaut est IPV4.

    • Les seules valeurs stackType valides pour une passerelle dont le paramètre gatewayIpVersion est défini sur IPV4 sont IPV4_IPV6 ou IPV4_ONLY.

    Si vous ne spécifiez pas stackType, la valeur par défaut est IPV4_ONLY.

  • Lorsque vous allouez des adresses IPv6 externes à la passerelle VPN haute disponibilité, vous devez spécifier IPV6 comme valeur gatewayIpVersion. Le champ stackType est facultatif.

    • Si vous ne spécifiez pas stackType, la valeur par défaut est IPV4_IPV6.

    • Les seules valeurs stackType valides pour une passerelle dont le champ gatewayIpVersion est défini sur IPV6 sont IPV4_IPV6 ou IPV6_ONLY (bêta).

Créer une ressource de passerelle VPN de pairs

Console

La ressource de passerelle VPN de pairs représente votre passerelle autre que Google Cloud dans Google Cloud.

Pour créer une ressource de passerelle VPN de pairs, procédez comme suit :

  1. Sur la page Créer un VPN, sous Passerelle VPN de pairs, sélectionnez Sur site ou non Google Cloud.
  2. Sous Nom de la passerelle VPN de pairs, sélectionnez une passerelle de pairs existante ou cliquez sur Créer une passerelle VPN de pairs.

    Si vous choisissez une passerelle existante, Google Cloud Console sélectionne le nombre de tunnels à configurer en fonction du nombre d'interfaces de pairs que vous avez configurées sur la passerelle de pairs existante.

    Pour créer une nouvelle passerelle de pairs, procédez comme suit :

    1. Spécifiez un Nom pour la passerelle VPN de pairs.
    2. Sous Interfaces de passerelle VPN de pairs, sélectionnez les interfaces one, two ou four, en fonction du type d'interfaces de votre passerelle de pairs. Pour obtenir des exemples sur chaque type, consultez la page Topologies.
    3. Dans le champ correspondant à chaque interface VPN de pairs, spécifiez l'adresse IP externe utilisée pour l'interface. Pour plus d'informations, consultez la page Configurer la passerelle VPN de pairs.
    4. Cliquez sur Create (Créer).

gcloud

Créez une ressource de passerelle VPN externe qui fournit à Google Cloud des informations sur votre ou vos passerelles VPN de pairs. En fonction des recommandations de haute disponibilité pour votre passerelle VPN de pairs, vous pouvez créer des ressources de passerelle VPN externe pour les différents types de passerelles VPN sur site suivants :

  • Deux appareils de passerelle VPN de pairs distincts, où les deux appareils sont redondants entre eux et où chaque appareil possède sa propre adresse IP externe.
  • Une passerelle VPN de pairs unique utilisant deux interfaces distinctes, chacune avec sa propre adresse IP externe. Pour ce type de passerelle de pairs, vous pouvez créer une passerelle VPN externe unique avec deux interfaces.
  • Une passerelle VPN de pairs unique avec une seule adresse IP externe.

Option 1 : Créer une ressource de passerelle VPN externe pour deux appareils de passerelle VPN de pairs

  • Pour ce type de passerelle de pairs, chaque interface de la passerelle VPN externe possède une adresse IP externe et chaque adresse provient de l'un des appareils de passerelle VPN de pairs.

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
    

    Remplacez les éléments suivants :

    • PEER_GW_NAME : nom représentant la passerelle de pairs
    • PEER_GW_IP_0 : adresse IP externe d'une passerelle de pairs
    • PEER_GW_IP_1 : adresse IP externe d'une autre passerelle de pairs

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où PEER_GW_IP_0 et PEER_GW_IP_1 indiquent les adresses IP externes réelles des interfaces de la passerelle de pairs :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME      INTERFACE0    INTERFACE1
    peer-gw   PEER_GW_IP_0  PEER_GW_IP_1
    

Option 2 : Créer une ressource de passerelle VPN externe pour une passerelle VPN de pairs avec deux interfaces distinctes

  • Pour ce type de passerelle de pairs, créez une passerelle VPN externe unique avec deux interfaces :

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
    

    Remplacez les éléments suivants :

    • PEER_GW_NAME : nom représentant la passerelle de pairs
    • PEER_GW_IP_0 : adresse IP externe d'une interface de la passerelle de pairs
    • PEER_GW_IP_1 : adresse IP externe d'une autre interface de la passerelle de pairs

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où PEER_GW_IP_0 et PEER_GW_IP_1 indiquent les adresses IP externes réelles des interfaces de la passerelle de pairs :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME     INTERFACE0    INTERFACE1
    peer-gw  PEER_GW_IP_0  PEER_GW_IP_1
    

Option 3 : Créer une ressource de passerelle VPN externe pour une seule passerelle VPN de pairs avec une seule adresse IP externe

  • Pour ce type de passerelle de pairs, créez une passerelle VPN externe avec une interface :

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0
    

    Remplacez les éléments suivants :

    • PEER_GW_NAME : nom représentant la passerelle de pairs
    • PEER_GW_IP_0 : adresse IP externe de l'interface de la passerelle de pairs

    La ressource de passerelle VPN externe créée ressemble à l'exemple suivant, où PEER_GW_IP_0 indique les adresses IP externes réelles de l'interface de passerelle de pairs :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME       INTERFACE0
    peer-gw    PEER_GW_IP_0
    

API

Pour créer une ressource de passerelle VPN externe, envoyez une requête POST à l'aide de la méthode externalVpnGateways.insert.

  • Pour une passerelle VPN (de pairs) externe disposant d'une interface, utilisez l'exemple suivant, mais spécifiez un seul ID d'interface et une adresse IP (ipAddress) avec un type de redondance redundancyType SINGLE_IP_INTERNALLY_REDUNDANT.
  • Pour une passerelle VPN externe avec deux interfaces, ou deux passerelles VPN externes avec une interface chacune, utilisez l'exemple de type de redondance TWO_IPS_REDUNDANCY ci-dessous.
  • Pour une ou plusieurs passerelles VPN externes avec quatre interfaces VPN externes (par exemple, Amazon Web Services (AWS), utilisez l'exemple suivant, mais spécifiez quatre instances de l'ID d'interface et une adresse IP (ipAddress), et utilisez une commande redundancyType FOUR_IPS_REDUNDANCY.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways
     {
       "name": "my-peer-gateway",
       "interfaces": [
         {
           "id": 0,
           "ipAddress": "192.0.2.1"
         },
         {
           "id": 1,
           "ipAddress": "192.0.2.2"
         }
       ],
       "redundancyType": "TWO_IPS_REDUNDANCY"
     }
    

Créer un routeur cloud

Console

Sous Routeur cloud, si ce n'est pas déjà fait, créez un routeur cloud en spécifiant les options suivantes. Vous pouvez utiliser un routeur Cloud Router existant tant que celui-ci n'est pas utilisé pour Cloud NAT.

  1. Pour créer un routeur Cloud Router, spécifiez les éléments suivants :

    • Un nom
    • Une description facultative
    • Un numéro ASN Google pour le nouveau routeur

    Vous pouvez utiliser n'importe quel ASN privé (64512 à 65534, 4200000000 à 4294967294) que vous n'utilisez pas ailleurs sur votre réseau. Ce numéro sert pour toutes les sessions BGP gérées par le même routeur Cloud Router et ne peut pas être modifié ultérieurement.

  2. Pour créer le routeur, cliquez sur Créer.

gcloud

Vous pouvez utiliser un routeur Cloud Router existant tant que celui-ci n'est pas utilisé pour Cloud NAT. Sinon, créez un autre routeur cloud.

Pour créer un routeur Cloud Router, exécutez la commande suivante :

gcloud compute routers create ROUTER_NAME \
    --region=REGION \
    --network=NETWORK \
    --asn=GOOGLE_ASN

Remplacez les éléments suivants :

  • ROUTER_NAME : nom du routeur Cloud Router dans la même région que la passerelle Cloud VPN.
  • REGION : région Google Cloud dans laquelle vous créez la passerelle et le tunnel
  • NETWORK : nom de votre réseau VPC
  • GOOGLE_ASN : tout numéro ASN privé (64512 à 65534, 4200000000 à 4294967294) que vous n'utilisez pas déjà dans le réseau de pairs. Ce numéro est utilisé pour toutes les sessions BGP gérées par le même routeur Cloud Router et ne peut pas être modifié ultérieurement

Le routeur que vous créez ressemble à l'exemple de résultat suivant:

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
NAME       REGION        NETWORK
router-a   us-central1   network-a

API

Vous pouvez utiliser un routeur Cloud Router existant tant que celui-ci n'est pas utilisé pour Cloud NAT. Sinon, créez un autre routeur cloud.

Pour créer un routeur Cloud Router, envoyez une requête POST à l'aide de la méthode routers.insert :

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "name": "router-a",
   "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a"
 }

Créer des tunnels VPN

Console

Si vous avez configuré votre ressource de passerelle VPN de pairs avec une seule interface, sur la page Créer un VPN, configurez votre tunnel unique dans la boîte de dialogue du tunnel VPN unique. Pour obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 %, vous devez créer un second tunnel.

Si vous avez configuré votre ressource de passerelle VPN de pairs avec deux ou quatre interfaces, configurez les boîtes de dialogue associées qui s'affichent en bas de la page Créer un VPN.

Pour créer des tunnels VPN, procédez comme suit :

  1. Le cas échéant, sous Interface de passerelle Cloud VPN associée, sélectionnez la combinaison d'interface VPN haute disponibilité et d'adresse IP que vous souhaitez associer à votre passerelle VPN de pairs pour ce tunnel.
  2. Sous Interface de passerelle VPN de pairs associée, sélectionnez la combinaison d'interface de passerelle VPN de pairs et d'adresse IP que vous souhaitez associer à ce tunnel et à l'interface VPN haute disponibilité. Cette interface doit correspondre à celle de votre routeur de pairs.
    1. Spécifiez un Nom pour le tunnel.
    2. Spécifiez une Description facultative.
    3. Spécifiez la version IKE. Nous vous recommandons d'utiliser IKE v2, le paramètre par défaut, si votre routeur de pairs est compatible. Pour autoriser le trafic IPv6, vous devez sélectionner IKEv2.
    4. Spécifiez une clé pré-partagée IKE à l'aide de votre clé pré-partagée (secret partagé), qui doit correspondre à celle du tunnel partenaire que vous créez sur votre passerelle de pairs. Si vous n'avez pas configuré de clé pré-partagée sur votre passerelle VPN de pairs et que vous souhaitez en générer une, cliquez sur Générer et copier. Veillez à enregistrer la clé pré-partagée dans un emplacement sécurisé, car elle ne peut pas être récupérée une fois que vous avez créé vos tunnels VPN.
    5. Cliquez sur OK.
    6. Sur la page Créer un VPN, répétez les étapes de création du tunnel pour toutes les boîtes de dialogue de tunnel restantes.
  3. Lorsque vous avez configuré tous les tunnels, cliquez sur Créer et continuer.

gcloud

Créez deux tunnels VPN, un pour chaque interface sur la passerelle VPN haute disponibilité Lorsque vous créez des tunnels VPN, spécifiez le côté pair des tunnels VPN comme étant la passerelle VPN externe que vous avez créée précédemment. Selon le type de redondance de la passerelle VPN externe, configurez les tunnels en utilisant l'une des deux options suivantes.

Option 1 : Si la passerelle VPN externe est composée de deux appareils de passerelle VPN de pairs distincts ou d'un seul appareil avec deux adresses IP

  • Dans ce cas, un tunnel VPN doit se connecter à l'interface 0 de la passerelle VPN externe, et l'autre tunnel VPN doit se connecter à l'interface 1 de la passerelle VPN externe.

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_0
    
    gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF1 \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_1
    

    Remplacez les éléments suivants :

    • TUNNEL_NAME_IF0 et TUNNEL_NAME_IF1 : nom du tunnel ; nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier ultérieurement
    • PEER_GW_NAME : nom de la passerelle de pairs externe créée précédemment
    • PEER_EXT_GW_IF0 et PEER_EXT_GW_IF1 : numéro d'interface configuré précédemment sur la passerelle de pairs externe
    • IKE_VERS : 1 pour IKEv1 ou 2 pour IKEv2 ; si possible, utilisez la version IKEv2 du protocole IKE. Si votre passerelle de pairs nécessite IKEv1, remplacez --ike-version 2 par --ike-version 1. Pour autoriser le trafic IPv6, vous devez spécifier le protocole IKEv2.
    • SHARED_SECRET : votre clé pré-partagée (secret partagé), qui doit correspondre à la clé pré-partagée du tunnel partenaire que vous créez sur votre passerelle de pairs ; pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée
    • GW_NAME : nom de la passerelle VPN haute disponibilité
    • INT_NUM_0 : numéro 0 pour la première interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • INT_NUM_1 : numéro 1 pour la deuxième interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • Facultatif : --vpn-gateway-region correspond à la région de la passerelle VPN haute disponibilité à utiliser. Sa valeur doit être identique à celle de --region. Si cette option n'est pas spécifiée, elle est définie automatiquement. Cette option ignore la valeur par défaut de la propriété de région pour cet appel de commande.

    Le résultat de la commande ressemble à ceci :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
    NAME                       REGION        GATEWAY       VPN_INTERFACE   PEER_GATEWAY  PEER_INTERFACE
    tunnel-a-to-on-prem-if-0   us-central1   ha-vpn-gw-a   0               peer-gw       0
    
    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
    NAME                       REGION        GATEWAY       VPN_INTERFACE   PEER_GATEWAY  PEER_INTERFACE
    tunnel-a-to-on-prem-if-1   us-central1   ha-vpn-gw-a   1               peer-gw       1
    

Option 2 : Si la passerelle VPN externe est une passerelle VPN de pairs avec une seule adresse IP externe

  • Dans ce cas, les deux tunnels VPN doivent se connecter à l'interface 0 de la passerelle VPN externe.

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_0
    
    gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_1
    

    Remplacez les éléments suivants :

    • TUNNEL_NAME_IF0 et TUNNEL_NAME_IF1 : nom du tunnel ; nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier ultérieurement
    • PEER_GW_NAME : nom de la passerelle de pairs externe créée précédemment
    • PEER_EXT_GW_IF0 : numéro d'interface configuré précédemment sur la passerelle de pairs externe
    • Facultatif : --vpn-gateway-region correspond à la région de la passerelle VPN haute disponibilité à utiliser. Sa valeur doit être identique à celle de --region. Si cette option n'est pas spécifiée, elle est définie automatiquement. Cette option ignore la valeur par défaut de la propriété de région pour cet appel de commande.
    • IKE_VERS : 1 pour IKEv1 ou 2 pour IKEv2. Si possible, utilisez la version IKEv2 du protocole IKE. Si votre passerelle de pairs nécessite IKEv1, remplacez --ike-version 2 par --ike-version 1. Pour autoriser le trafic IPv6, vous devez spécifier le protocole IKEv2.
    • SHARED_SECRET : votre clé pré-partagée (secret partagé), qui doit correspondre à la clé pré-partagée du tunnel partenaire que vous créez sur votre passerelle de pairs ; pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée
    • INT_NUM_0 : numéro 0 pour la première interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • INT_NUM_1 : numéro 1 pour la deuxième interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.

    Le résultat de la commande ressemble à ceci :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
    NAME                       REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
    tunnel-a-to-on-prem-if-0   us-central1  ha-vpn-gw-a    0               peer-gw        0
    
    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
    NAME                       REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
    tunnel-a-to-on-prem-if-1   us-central1  ha-vpn-gw-a    1               peer-gw        0
    

API

Pour créer deux tunnels VPN, un pour chaque interface sur la passerelle VPN haute disponibilité, effectuez une requête POST à l'aide de la méthode vpnTunnels.insert. Pour obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 %, vous devez créer un tunnel sur chaque interface de votre passerelle VPN haute disponibilité.

  1. Pour créer le premier tunnel, exécutez la commande suivante :

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
       {
         "name": "ha-vpn-gw-a-tunnel-0",
         "ikeVersion": 2,
         "peerExternalGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/my-peer-gateway",
         "peerExternalGatewayInterface": 0,
         "router": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/router-a",
         "sharedSecret": "SHARED_SECRET",
         "vpnGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-a",
         "vpnGatewayInterface": 0
       }
    

    Si vous envisagez d'activer IPv6 dans la session BGP associée à ce tunnel, vous devez spécifier 2 pour ikeVersion.

  2. Pour créer le second tunnel, répétez cette commande, mais modifiez les paramètres suivants :

    • name
    • peerExternalGatewayInterface
    • sharedSecret ou sharedSecretHash (si nécessaire)
    • vpnGatewayInterface : remplacer par la valeur de l'autre interface de passerelle VPN haute disponibilité (dans cet exemple, remplacer cette valeur par 1)

Créer des sessions BGP

Pour chaque tunnel VPN haute disponibilité, vous pouvez créer une session BGP IPv4, une session BGP IPv6 (Version bêta) ou les deux.

Pour afficher des instructions spécifiques, sélectionnez le type de session BGP approprié pour votre VPN haute disponibilité et votre trafic de réseau VPC.

Type de session BGP Passerelle VPN HA Réseau VPC MP-BGP autorisé ?
Sessions IPv4 BGP IPv4 uniquement ou double pile IPv4 uniquement ou double pile oui
Sessions IPv6 BGP double pile double pile oui
Sessions IPv4 et IPv6 BGP double pile double pile 0

Pour utiliser MP-BGP dans les sessions BGP de vos tunnels VPN haute disponibilité, vous devez utiliser des passerelles VPN haute disponibilité à double pile.

Vous devez également utiliser une passerelle VPN haute disponibilité à double pile pour configurer les sessions BGP IPv4 et IPv6 dans le même tunnel VPN haute disponibilité. Toutefois, vous ne pouvez pas activer MP-BGP dans les sessions BGP IPv4 et IPv6 individuelles.

Sessions IPv4 BGP

Console

Pour créer des sessions BGP, procédez comme suit :

  1. Si vous ne souhaitez pas configurer de sessions BGP maintenant, cliquez sur Configurer les sessions BGP ultérieurement, ce qui entraîne l'ouverture de la page Résumé et rappel.
  2. Si vous souhaitez configurer des sessions BGP maintenant, sur le premier tunnel VPN, cliquez sur Configurer.
  3. Sur la page Créer une session BGP, procédez comme suit :
    1. Spécifiez un nom pour la session BGP.
    2. Spécifiez le numéro ASN du pair configuré pour la passerelle VPN de pairs.
    3. Facultatif : spécifiez la priorité des routages annoncés.
    4. Facultatif : cochez la case Activer IPv6 pour autoriser l'échange de préfixes d'adresses IPv6 sur la session BGP.
    5. Spécifiez l'Adresse IP BGP du routeur cloud et l'Adresse IP du pair BGP. Assurez-vous que les adresses IPv4 répondent aux exigences suivantes :
      • Chaque adresse IPv4 BGP doit appartenir au même sous-réseau /30 compris dans la plage 169.254.0.0/16.
      • Chaque adresse IPv4 BGP est le premier ou le deuxième hôte du sous-réseau /30. Les première et dernière adresses IP du sous-réseau sont réservées aux adresses réseau et de diffusion.
      • Chaque plage d'adresses BGP pour chaque session BGP doit être unique parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.
    6. Facultatif : si vous avez activé IPv6, vous pouvez allouer les adresses de saut suivant IPv6 automatiquement ou manuellement. Pour allouer les adresses manuellement, procédez comme suit :
      1. Sélectionnez manuellement.
      2. Saisissez l'adresse IPv6 du saut suivant IPv6 de Cloud Router. Cette adresse correspond à l'adresse de saut suivant pour les routes IPv6 annoncées par le routeur Cloud Router. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/63.
      3. Saisissez l'adresse IPv6 du saut suivant IPv6 du pair. Cette adresse est l'adresse de saut suivant pour les routes IPv6 reçues par le routeur Cloud Router depuis le pair BGP. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/63.
    7. Facultatif : pour l'authentification MD5, sélectionnez Activé. Cela vous permet d'authentifier les sessions BGP entre un routeur Cloud Router et ses pairs. Pour obtenir des instructions sur la configuration de l'authentification MD5, consultez la page Utiliser l'authentification MD5 Vous pouvez également choisir d'activer l'authentification MD5 ultérieurement.
    8. Facultatif : cliquez sur la liste Routes annoncées et créez des routes personnalisées.
    9. Cliquez sur Enregistrer et continuer.
  4. Répétez les étapes précédentes pour les autres tunnels configurés sur la passerelle. Pour chaque tunnel, utilisez une adresse IP BGP Cloud Router et une adresse IP de pair BGP différentes.
  5. Lorsque vous avez configuré toutes les sessions BGP, cliquez sur Enregistrer la configuration BGP.

gcloud

Pour créer une interface Cloud Router et un pair BGP pour chaque tunnel que vous avez précédemment configuré sur les interfaces de passerelle VPN haute disponibilité, procédez comme suit.

Dans les commandes, remplacez les éléments suivants :

  • ROUTER_INTERFACE_NAME_0 et ROUTER_INTERFACE_NAME_1 : nom de l'interface Cloud Router ; il peut être utile d'utiliser des noms associés aux noms des tunnels configurés précédemment
  • TUNNEL_NAME_0 et TUNNEL_NAME_1 : tunnel associé à l'interface de passerelle VPN haute disponibilité que vous avez configurée
  • IP_VERSION: spécifiez IPV4 ou laissez-la sur non spécifié. Si non spécifié, la valeur par défaut est IPV4.
  • IP_PREFIXES et CUSTOM_ROUTE_PRIORITY : valeurs qui vous permettent de spécifier manuellement des routes apprises pour une session BGP. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes personnalisées apprises.
  • AUTHENTICATION_KEY : clé secrète à utiliser pour l'authentification MD5. Pour en savoir plus sur cette fonctionnalité facultative, consultez la page Utiliser l'authentification MD5.

Attribuer des adresses IPv4 pour une session BGP

Pour configurer les adresses pour BGP, choisissez la méthode automatique ou manuelle. Ces commandes n'activent pas le protocole IPv6 pour BGP.

Si vous souhaitez activer IPv6, exécutez les commandes répertoriées dans la section Attribuer des adresses de saut suivant IPv6.

Automatique

Pour permettre à Google Cloud de choisir automatiquement les adresses IPv4 BGP de liaison locale, procédez comme suit.

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur Cloud Router:

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
    

    Par défaut, si vous ne spécifiez pas de version IP, la commande attribue une adresse IPv4 à l'interface.

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez la configuration de pair BGP à l'interface pour le premier tunnel ; remplacez PEER_NAME_0 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par Le numéro ASN du pair BGP:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION
    

    Si vous souhaitez définir des routes apprises personnalisées pour le pair, ajoutez l'option --set-custom-learned-route-ranges. Vous pouvez également utiliser l'option --custom-learned-route-priority pour définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes apprises personnalisées.

    Par exemple, pour ajouter des routes apprises personnalisées et définir une priorité pour les routes, exécutez la commande suivante :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, ajoutez l'option --md5-authentication-key. Utilisez ce champ pour identifier votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --md5-authentication-key=AUTHENTICATION_KEY
    

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une interface au routeur Cloud Router:

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le deuxième tunnel ; remplacez PEER_NAME_1 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
    

    Si vous avez configuré des routes apprises personnalisées sur le premier tunnel, vous souhaiterez peut-être configurer les mêmes routes sur le deuxième tunnel. Par exemple, vous pouvez configurer le deuxième tunnel pour qu'il fonctionne comme sauvegarde pour les routes. Dans ce cas, attribuez aux routes une priorité moins privilégiée (un nombre plus élevé). Si vous souhaitez utiliser les deux tunnels ensemble dans le cadre d'une route multi-chemins à coût égal (ECMP, Equal-Cost Multi-Path), attribuez aux routes la même priorité que sur le premier tunnel. Dans les deux cas, utilisez une commande semblable à celle-ci:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION \
     --md5-authentication-key=AUTHENTICATION_KEY
    

Mode manuel

Pour attribuer manuellement les adresses IPv4 BGP associées à l'interface Cloud Router et au pair BGP, procédez comme suit.

Pour chaque tunnel VPN, choisissez deux adresses IPv4 de liaison locale dans un bloc /30 de la plage 169.254.0.0/16 (un total de quatre sous-réseaux /30, un par VPN haute disponibilité). Les sous-réseaux IPv4 que vous spécifiez doivent être uniques parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

Pour chaque tunnel, attribuez l'une de ces adresses IPv4 BGP au routeur cloud et l'autre adresse IPv4 BGP à votre passerelle VPN de pairs. Configurez votre appareil VPN de pairs pour qu'il utilise l'adresse IPv4 BGP des pairs.

Dans les commandes suivantes, remplacez les éléments suivants :

  • GOOGLE_BGP_IP_0 : adresse IPv4 BGP de l'interface de Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IP_0 représente l'adresse IPv4 BGP de son pair.
  • GOOGLE_BGP_IP_1 : adresse IPv4 BGP de l'interface de Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IP_1 représente l'adresse IPv4 BGP de son pair.
  • MASK_LENGTH: 30; Cloud Router doit utiliser un sous-réseau /30 unique de la plage 169.254.0.0/16.

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur cloud ; Remplacez ROUTER_INTERFACE_NAME_0 par le nom de l'interface:

    gcloud compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_0 \
      --vpn-tunnel=TUNNEL_NAME_0 \
      --ip-address=GOOGLE_BGP_IP_0 \
      --mask-length 30 \
      --region=REGION
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une configuration de pair BGP à l'interface ; remplacez PEER_NAME_0 par le nom du pair, et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_0 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_0 \
     --peer-ip-address=PEER_BGP_IP_0 \
     --region=REGION
    

    Si vous souhaitez définir des routes apprises personnalisées pour le pair, ajoutez l'option --set-custom-learned-route-ranges. Vous pouvez également utiliser l'option --custom-learned-route-priority pour définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes apprises personnalisées.

    Par exemple, pour ajouter des routes apprises personnalisées et définir une priorité pour les routes, exécutez la commande suivante :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME_0 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --peer-ip-address=PEER_BGP_IP_0 \
      --region=REGION \
      --md5-authentication-key=AUTHENTICATION_KEY
    

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une interface au routeur cloud ; Remplacez ROUTER_INTERFACE_NAME_1 par le nom de l'interface:

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --ip-address=GOOGLE_BGP_IP_1 \
     --mask-length 30 \
     --region=REGION
    
  2. Ajoutez une configuration de pair BGP à l'interface ; remplacez PEER_NAME_1 par le nom du pair, et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --peer-ip-address=PEER_BGP_IP_1 \
     --region=REGION
    

    Si vous avez configuré des routes apprises personnalisées sur le premier tunnel, vous pouvez spécifier les mêmes routes sur le deuxième tunnel. Par exemple, vous pouvez configurer le deuxième tunnel pour qu'il fonctionne comme sauvegarde pour les routes. Dans ce cas, attribuez aux routes une priorité moins privilégiée (un nombre plus élevé). Si vous souhaitez utiliser les deux tunnels ensemble dans le cadre d'une route multi-chemins à coût égal (ECMP, Equal-Cost Multi-Path), attribuez aux routes la même priorité que sur le premier tunnel. Dans les deux cas, utilisez une commande semblable à celle-ci:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME_1 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --peer-ip-address=PEER_BGP_IP_0 \
      --region=REGION \
      --md5-authentication-key=AUTHENTICATION_KEY
    

Attribuer des adresses de saut suivant IPv6

Utilisez les commandes de cette section uniquement si vous souhaitez que les tunnels VPN utilisent MP-BGP et échangent du trafic IPv4 et IPv6. Si vous ne souhaitez pas acheminer le trafic IPv6 sur ce tunnel ou si vous envisagez d'ajouter ultérieurement une seule session BGP IPv6 à ce tunnel, vous pouvez utiliser les commandes répertoriées dans la section Attribuez des adresses BGP IPv4.

Automatique

Si vous créez une session BGP IPv4 qui utilise MP-BGP, Google Cloud peut vous attribuer automatiquement des adresses de saut suivant IPv6. Google Cloud attribue les adresses inutilisées de la plage 2600:2d00:0:2::/63.

Cette configuration n'a pas de rapport avec la configuration automatique ou manuelle des adresses IPv4 du routeur Cloud Router et du pair BGP. Les commandes suivantes utilisent la configuration automatique. Cependant, vous pouvez également attribuer des adresses IPv4 du pair BGP et IPv4 BGP à l'aide des options --ip-address et --peer-ip-address décrites sur la page Attribuer des adresses BGP IPv4.

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur Cloud Router:

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le premier tunnel ; remplacez PEER_NAME_0 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --enable-ipv6
    

    En spécifiant l'option --enable-ipv6, vous activez l'échange de routes IPv6 dans cette session BGP IPv4, qui est nécessaire pour attribuer des adresses de saut suivant IPv6. Vous pouvez désactiver l'échange de route IPv6 ultérieurement. Pour en savoir plus, consultez la page Configurer la fonctionnalité BGP multiprotocole dans les sessions IPv4 ou IPv6.

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une seconde interface au routeur Cloud.

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le deuxième tunnel ; remplacez PEER_NAME_1 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION \
     --enable-ipv6
    

Mode manuel

Lorsque vous créez une session BGP IPv4 qui utilise MP-BGP, vous pouvez configurer manuellement les adresses de saut suivant IPv6 pour le routeur Cloud Router et le pair BGP.

Cette configuration n'a aucune relation avec le fait que vous choisissiez la configuration automatique ou manuelle des adresses IPv4 du routeur Cloud Router et du pair BGP. Pour obtenir des exemples de configuration manuelle de ces adresses, consultez la page Attribuer des adresses BGP IPv4.

Pour chaque tunnel VPN, choisissez deux adresses de saut suivant IPv6. Les adresses de saut suivant IPv6 que vous spécifiez doivent être uniques parmi tous les routeurs Cloud Router de toutes les régions d'un réseau VPC et sélectionnées dans les plages IPv6 internes pré-allouées par Google : 2600:2d00:0:2::/63.

Pour attribuer manuellement les adresses de saut suivant IPv6 de BGP, procédez comme suit.

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur Cloud Router:

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le premier tunnel.

    gcloud compute routers add-bgp-peerROUTER_NAME \
      --peer-name=PEER_NAME_0 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --region=REGION \
      --enable-ipv6 \
      --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
      --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
    

    Dans les commandes, remplacez les éléments suivants :

    • PEER_NAME_0 par le nom de l'interface VPN de pairs.
    • PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs.
    • IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 annoncées par Cloud Router. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.
    • PEER_IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 apprises par Cloud Router à partir du pair BGP. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

    Pour le deuxième tunnel VPN

  3. Ajoutez une seconde interface au routeur Cloud.

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  4. Ajoutez une configuration de pair BGP à la deuxième interface pour le deuxième tunnel.

    gcloud compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME_1 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_1 \
      --region=REGION \
      --enable-ipv6 \
      --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
      --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
    

    Dans les commandes, remplacez les éléments suivants :

    • PEER_NAME_1 par le nom de l'interface VPN de pairs.
    • PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs.
    • IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 annoncées par Cloud Router.
    • PEER_IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 apprises par le routeur Cloud Router à partir du pair BGP

API

  1. Pour créer une interface de routeur cloud, envoyez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou routers.update. PATCH met uniquement à jour les paramètres que vous incluez. La requête UPDATE met à jour tous les paramètres du routeur Cloud Router.

    Chaque plage d'adresses BGP pour chaque session BGP IPv4 doit être unique parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

    Répétez cette étape et cette commande pour chaque tunnel VPN sur la deuxième passerelle VPN haute disponibilité.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "interfaces": [
       {
         "name": "if-tunnel-a-to-on-prem-if-0",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipRange": "169.254.0.1/30"
        }
      ]
    }
    
  2. Pour ajouter une configuration de pair BGP à l'interface d'un routeur cloud pour un tunnel VPN, effectuez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou de la méthode routers.update. Répétez cette commande pour l'autre tunnel VPN, en modifiant toutes les options sauf name et peerAsn.

    Exemple :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "169.254.0.1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "169.254.0.2",
       "advertiseMode": "DEFAULT"
      }
    ]
    }
    

    La commande suivante fournit un exemple d'ajout d'un pair BGP IPv4 avec l'échange de routes IPv6 activé et des adresses de saut suivant IPv6 configurées manuellement. Si vous omettez ipv6NexthopAddress et peerIpv6NexthopAddress, les adresses de saut suivant IPv6 sont automatiquement attribuées.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "169.254.0.1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "169.254.0.2",
       "advertiseMode": "DEFAULT",
       "enableIpv6": true,
       "ipv6NexthopAddress: "2600:2d00:0:2::1"
       "peerIpv6NexthopAddress: "2600:2d00:0:2::2"
      }
    ]
    }
    

    Si vous souhaitez spécifier des routes apprises personnalisées pour le pair, définissez les préfixes IP des routes. Vous pouvez également définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes apprises personnalisées.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "169.254.0.1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "169.254.0.2",
       "advertiseMode": "DEFAULT",
       "enableIpv6": true,
       "ipv6NexthopAddress": "2600:2d00:0:2::1",
       "peerIpv6NexthopAddress": "2600:2d00:0:2::2",
       "customLearnedRoutePriority": 200,
       "customLearnedIpRanges": [
          {
            "range": "1.2.3.4"
          },
          {
            "range": "6.7.0.0/16"
          },
          {
            "range": "2001:db8:abcd:12::/64"
          }
         ]
        }
      ]
    }
    

    Si vous souhaitez configurer la session pour qu'elle utilise l'authentification MD5, votre requête doit inclure une clé d'authentification, ce qui signifie qu'elle doit fournir la clé et un nom pour cette clé. Elle doit également référencer la clé par nom lors de la création de la session d'appairage BGP. Exemple :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "md5AuthenticationKeys": [
      {
       "name": "bgppeer-1-key",
       "key": "secret_key_value"
       }
      ],
    }
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "169.254.0.1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "169.254.0.2",
       "advertiseMode": "DEFAULT",
       "md5AuthenticationKeyName": "bgppeer-1-key"
      }
    ]
    }
    

Sessions IPv6 BGP

gcloud

Pour créer une interface de routeur cloud IPv6 et un pair BGP pour chaque tunnel que vous avez précédemment configuré sur les interfaces de passerelle VPN haute disponibilité, procédez comme suit.

Dans les commandes, remplacez les éléments suivants :

  • ROUTER_INTERFACE_NAME_0 et ROUTER_INTERFACE_NAME_1 : nom de l'interface Cloud Router ; il peut être utile d'utiliser des noms associés aux noms des tunnels configurés précédemment
  • TUNNEL_NAME_0 et TUNNEL_NAME_1 : tunnel associé à l'interface de passerelle VPN haute disponibilité que vous avez configurée
  • IP_VERSION : IPV6. Ce paramètre n'est requis que si vous souhaitez que Google Cloud attribue automatiquement l'adresse IPv6 pour cette interface. Si vous attribuez manuellement une adresse IPv6 à cette interface, vous pouvez omettre cette option.

  • IP_PREFIXES et CUSTOM_ROUTE_PRIORITY : valeurs qui vous permettent de spécifier manuellement des routes apprises pour une session BGP. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes personnalisées apprises.

  • AUTHENTICATION_KEY : clé secrète à utiliser pour l'authentification MD5. Pour en savoir plus sur cette fonctionnalité facultative, consultez la page Utiliser l'authentification MD5.

Facultatif: Attribuer une plage d'identifiants BGP

Lorsque vous ajoutez la première interface à un routeur cloud, une plage d'identifiants BGP est automatiquement attribuée au routeur cloud. Si vous préférez définir votre propre plage d'identifiants BGP pour un routeur cloud, vous pouvez créer votre propre plage. Vous pouvez également modifier cette plage ultérieurement. Pour en savoir plus, consultez la section Configurer la plage d'identifiants BGP pour un routeur Cloud Router.

Attribuez des adresses IPv6 BGP.

Les procédures suivantes créent des sessions BGP IPv6 avec des adresses IPv6 BGP et des adresses IPv6 des pairs BGP configurées automatiquement ou manuellement.

Si vous souhaitez utiliser IPv6 BGP avec MP-BGP, exécutez les commandes répertoriées dans la section Attribuer des adresses de saut suivant IPv4.

Automatique

Pour permettre à Google Cloud de choisir automatiquement les adresses IPv6 pour la session BGP, procédez comme suit :

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur Cloud Router:

    gcloud beta compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION \
       --ip-version=IPV6
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le premier tunnel ; remplacez PEER_NAME_0 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION
    

    Si vous souhaitez définir des routes apprises personnalisées pour le pair, ajoutez l'option --set-custom-learned-route-ranges. Vous pouvez également utiliser l'option --custom-learned-route-priority pour définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes apprises personnalisées.

    Par exemple, pour ajouter des routes apprises personnalisées et définir une priorité pour les routes, exécutez la commande suivante :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, ajoutez l'option --md5-authentication-key. Utilisez ce champ pour identifier votre clé secrète :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --md5-authentication-key=AUTHENTICATION_KEY
    

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une seconde interface au routeur Cloud.

    gcloud beta compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_1 \
      --vpn-tunnel=TUNNEL_NAME_1 \
      --region=REGION \
      --ip-version=IPV6
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le deuxième tunnel ; remplacez PEER_NAME_1 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
    

    Si vous avez configuré des routes apprises personnalisées sur le premier tunnel, vous souhaiterez peut-être configurer les mêmes routes sur le deuxième tunnel. Par exemple, vous pouvez configurer le deuxième tunnel pour qu'il fonctionne comme sauvegarde pour les routes. Dans ce cas, attribuez aux routes une priorité moins privilégiée (un nombre plus élevé). Si vous souhaitez utiliser les deux tunnels ensemble dans le cadre d'une route multi-chemins à coût égal (ECMP, Equal-Cost Multi-Path), attribuez aux routes la même priorité que sur le premier tunnel. Dans les deux cas, utilisez une commande semblable à celle-ci:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION \
     --set-custom-learned-route-ranges=IP_PREFIXES \
     --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION \
     --md5-authentication-key=AUTHENTICATION_KEY
    

Mode manuel

Pour attribuer manuellement des adresses IPv6 à la session BGP associée à l'interface Cloud Router et au pair BGP, procédez comme suit.

Pour chaque tunnel VPN, choisissez deux adresses IPv6 appropriées pour la session BGP en fonction du type de session BGP que vous configurez.

Les adresses IPv6 doivent être des adresses locales uniques (ULA) de la plage fdff:1::/64 avec une longueur de masque inférieure ou égale à /126. Exemple : fdff:1:1:1::/112.

Les adresses IPv6 de la session BGP que vous spécifiez doivent être uniques parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

Pour chaque tunnel, attribuez l'une de ces adresses IPv6 au routeur Cloud Router et l'autre adresse IPv6 à votre passerelle VPN de pairs. Configurez votre appareil VPN de pairs pour qu'il utilise l'adresse IPv6 du pair de la session BGP.

Dans les commandes suivantes, remplacez les éléments suivants :

  • GOOGLE_BGP_IPV6_0: adresse IPv6 de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IPV6_0 représente l'adresse IPv6 de son pair BGP et doit correspondre à la version d'IP de GOOGLE_BGP_IPV6_0
  • GOOGLE_BGP_IPV6_1: adresse IPv6 de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IPV6_1 représente l'adresse IPv6 de son pair BGP et doit correspondre à la version d'IP de GOOGLE_BGP_IPV6_1

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur cloud ; Remplacez ROUTER_INTERFACE_NAME_0 par le nom de l'interface:

    gcloud beta compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_0 \
     --vpn-tunnel=TUNNEL_NAME_0 \
     --ip-address=GOOGLE_BGP_IPV6_0 \
     --mask-length=MASK_LENGTH  \
     --region=REGION \
    

    Remplacez MASK_LENGTH par une valeur inférieure ou égale à 126.

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. ajouter une configuration de pair BGP à l'interface ; Remplacez PEER_NAME_0with a name for the peer, and replacePEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_0 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_0 \
     --peer-ip-address=PEER_BGP_IPV6_0 \
     --region=REGION
    

    Si vous souhaitez définir des routes apprises personnalisées pour le pair, ajoutez l'option --set-custom-learned-route-ranges. Vous pouvez également utiliser l'option --custom-learned-route-priority pour définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes apprises personnalisées.

    Par exemple, pour ajouter des routes apprises personnalisées et définir une priorité pour les routes, exécutez la commande suivante :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_0 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_0 \
     --region=REGION \
     --set-custom-learned-route-ranges=IPV6_PREFIXES \
     --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_0 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_0 \
     --peer-ip-address=PEER_BGP_IPV6_0 \
     --region=REGION \
     --md5-authentication-key=AUTHENTICATION_KEY
    

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une seconde interface au routeur Cloud Router ; remplacez ROUTER_INTERFACE_NAME_1 par le nom de l'interface :

    gcloud beta compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --ip-address=GOOGLE_BGP_IPV6_1 \
     --mask-length=MASK_LENGTH \
     --region=REGION \
    

    Remplacez MASK_LENGTH par une valeur inférieure ou égale à 126.

  2. Ajoutez une configuration de pair BGP à l'interface ; remplacez PEER_NAME_1 par le nom du pair, et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --peer-ip-address=PEER_BGP_IPV6_1 \
     --region=REGION
    

    Si vous avez configuré des routes apprises personnalisées sur le premier tunnel, vous pouvez spécifier les mêmes routes sur le deuxième tunnel. Par exemple, vous pouvez configurer le deuxième tunnel pour qu'il fonctionne comme sauvegarde pour les routes. Dans ce cas, attribuez aux routes une priorité moins privilégiée (un nombre plus élevé). Si vous souhaitez utiliser les deux tunnels ensemble dans le cadre d'une route multi-chemins à coût égal (ECMP, Equal-Cost Multi-Path), attribuez aux routes la même priorité que sur le premier tunnel. Dans les deux cas, utilisez une commande semblable à celle-ci:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION \
     --set-custom-learned-route-ranges=IPV6_PREFIXES \
     --custom-learned-route-priority=PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --peer-ip-address=PEER_BGP_IPV6_1 \
     --region=REGION \
     --md5-authentication-key=AUTHENTICATION_KEY
    

Attribuer des adresses de saut suivant IPv4

Utilisez les commandes de cette section uniquement si vous souhaitez que les tunnels VPN utilisent MP-BGP. Avec MP-BGP, vous pouvez échanger des routes IPv4 via des sessions BGP IPv6.

Si vous ne prévoyez pas d'utiliser le protocole MP-BGP dans la session BGP pour le tunnel, utilisez les commandes répertoriées dans la section Attribuer des adresses BGP IPv6.

Vous pouvez choisir de configurer automatiquement ou manuellement les adresses IPv4 ou IPv6 de saut suivant du pair BGP.

Automatique

Si vous créez une session BGP IPv6 qui utilise MP-BGP, Google Cloud peut vous attribuer automatiquement des adresses de saut suivant IPv4. Google Cloud attribue les adresses inutilisées de la plage 169.254.0.0/16.

Cette configuration n'a pas de rapport avec la configuration automatique ou manuelle des adresses IPv6 du routeur Cloud Router et du pair BGP. Les commandes suivantes utilisent la configuration automatique. Cependant, vous pouvez également attribuer les adresses IPv6 aux interfaces Cloud Router et aux pairs BGP à l'aide des options --ip-address et --peer-ip-address décrites dans la section Attribuer une adresse IP BGP IPv6.

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur Cloud Router:

    gcloud beta compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_0 \
      --vpn-tunnel=TUNNEL_NAME_0 \
      --region=REGION \
      --ip-version=IPV6
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le premier tunnel ; remplacez PEER_NAME_0 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --enable-ipv4
    

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une seconde interface au routeur Cloud.

    gcloud beta compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_1 \
      --vpn-tunnel=TUNNEL_NAME_1 \
      --region=REGION \
      --ip-version=IPV6
    
  2. Ajoutez une configuration de pair BGP à la seconde interface pour le deuxième tunnel ; remplacez PEER_NAME_1 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --enable-ipv4
    

Mode manuel

Lorsque vous créez des sessions BGP IPv6 qui utilisent MP-BGP, vous pouvez configurer manuellement les adresses de saut suivant IPv4 pour Cloud Router et le pair BGP.

Cette configuration n'a pas de rapport avec la configuration automatique ou manuelle des adresses IPv6 et des routeurs Cloud Router pour les sessions BGP. Pour obtenir des exemples de configuration manuelle de ces adresses, consultez la page Attribuer des adresses BGP IPv6.

Pour chaque tunnel VPN, choisissez deux adresses de saut suivant IPv4. Les adresses de saut suivant IPv4 que vous spécifiez doivent être uniques parmi tous les routeurs Cloud Router de toutes les régions d'un réseau VPC et sélectionnées dans les plages IPv4 de liaison locale, 169.254.0.0/16.

Pour attribuer manuellement les adresses de saut suivant IPv4 de BGP, procédez comme suit.

Pour le premier tunnel VPN

  1. Ajoutez une interface au routeur Cloud.

    gcloud beta compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_0 \
      --vpn-tunnel=TUNNEL_NAME_0 \
      --region=REGION \
      --ip-version=IPV6
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une configuration de pair BGP à l'interface pour le premier tunnel.

    gcloud beta compute routers add-bgp-peerROUTER_NAME \
      --peer-name=PEER_NAME_0 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --region=REGION \
      --enable-ipv4 \
      --ipv4-nexthop-address=IPV4_NEXTHOP_ADDRESS \
      --peer-ipv4-nexthop-address=PEER_IPV4_NEXTHOP_ADDRESS
    

    Dans les commandes, remplacez les éléments suivants :

    • PEER_NAME_0 par le nom de l'interface VPN de pairs.
    • PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs.
    • IPV4_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv4 annoncées par Cloud Router. L'adresse doit être comprise dans la plage 169.254.0.0/16.
    • PEER_IPV4_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv4 apprises par Cloud Router à partir du pair BGP. L'adresse doit être comprise dans la plage 169.254.0.0/16.

    Le résultat de la commande ressemble à ceci :

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

    Pour le deuxième tunnel VPN

  3. Ajoutez une seconde interface au routeur Cloud.

    gcloud beta compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_1 \
      --vpn-tunnel=TUNNEL_NAME_1 \
      --region=REGION \
      --ip-version=IPV6
    
  4. Ajoutez une configuration de pair BGP à l'interface pour le deuxième tunnel.

    gcloud beta compute routers add-bgp-peerROUTER_NAME \
      --peer-name=PEER_NAME_1 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_1 \
      --region=REGION \
      --enable-ipv4 \
      --ipv4-nexthop-address=IPV4_NEXTHOP_ADDRESS \
      --peer-ipv4-nexthop-address=PEER_IPV4_NEXTHOP_ADDRESS
    

    Dans les commandes suivantes, remplacez les éléments suivants :

    • PEER_NAME_1 par le nom de l'interface VPN de pairs.
    • PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs.
    • IPV4_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv4 annoncées par Cloud Router. L'adresse doit être comprise dans la plage 169.254.0.0/16.
    • PEER_IPV4_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv4 apprises par Cloud Router à partir du pair BGP. L'adresse doit être comprise dans la plage 169.254.0.0/16.

API

  1. Pour créer une interface de routeur cloud et lui attribuer une adresse IPv6, envoyez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou de la méthode routers.update. PATCH met uniquement à jour les paramètres que vous incluez. La requête UPDATE met à jour tous les paramètres du routeur Cloud Router.

    L'exemple suivant crée une interface avec une adresse IPv6 configurée manuellement.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "interfaces": [
       {
         "name": "if-tunnel-a-to-on-prem-if-0",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipRange": "fdff:1:1:1::/112"
        }
      ]
    }
    

    Chaque plage d'adresses BGP pour chaque session BGP IPv6 doit être unique parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

    Autre exemple : la commande suivante crée une interface avec une adresse IPv6 attribuée automatiquement.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "interfaces": [
       {
         "name": "if-tunnel-a-to-on-prem-if-0",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipVersion": "IPV6"
        }
      ]
    }
    

    Répétez cette étape pour chaque tunnel VPN sur la passerelle VPN haute disponibilité.

  2. Ajoutez une configuration de pair BGP à un routeur cloud pour un tunnel VPN. Effectuez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou de la routers.updateméthode. Répétez cette commande pour l'autre tunnel VPN, en modifiant toutes les options sauf name et peerAsn.

    Exemple :

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "fdff:1:1:1::1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "fdff:1:1:1::2",
       "advertiseMode": "DEFAULT"
      }
    ]
    }
    

    La commande suivante fournit un exemple d'ajout d'un pair BGP pour l'interface BGP IPv6 avec l'échange de routes IPv4 activé et les adresses de saut suivant IPv4 configurées manuellement. Si vous omettez ipv4NexthopAddress et peerIpv4NexthopAddress, les adresses de saut suivant IPv4 sont automatiquement attribuées.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers//ROUTER_NAME
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "fdff:1:1:1::1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "fdff:1:1:1::2",
       "advertiseMode": "DEFAULT",
       "enableIpv4": true,
       "ipv4NexthopAddress: "169.254.0.1",
       "peerIpv4NexthopAddress: "169.254.0.2"
      }
    ]
    }
    

    Si vous souhaitez spécifier des routes apprises personnalisées pour le pair, définissez les préfixes IP des routes. Vous pouvez également définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes apprises personnalisées.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "fdff:1:1:1::1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "fdff:1:1:1::2",
       "advertiseMode": "DEFAULT",
       "enableIpv4": true,
       "ipv4NexthopAddress: "169.254.0.1",
       "peerIpv4NexthopAddress: "169.254.0.2"
       "customLearnedRoutePriority": 200,
       "customLearnedIpRanges": [
          {
            "range": "1.2.3.4"
          },
          {
            "range": "6.7.0.0/16"
          },
          {
            "range": "2001:db8:abcd:12::/64"
          }
         ]
        }
      ]
    }
    

    Si vous souhaitez configurer la session pour qu'elle utilise l'authentification MD5, votre requête doit inclure une clé d'authentification, ce qui signifie qu'elle doit fournir la clé et un nom pour cette clé. Elle doit également référencer la clé par nom lors de la création de la session d'appairage BGP. Exemple :

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "md5AuthenticationKeys": [
      {
       "name": "bgppeer-1-key",
       "key": "secret_key_value"
       }
      ],
    }
    {
     "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "fdff:1:1:1::1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": 65002,
       "peerIpAddress": "fdff:1:1:1::2",
       "advertiseMode": "DEFAULT",
       "md5AuthenticationKeyName": "bgppeer-1-key"
      }
    ]
    }
    

Sessions IPv4 BGP et IPv6 BGP

Procédez comme suit pour créer une session BGP IPv4 et une session BGP IPv6 (bêta) qui s'exécutent en parallèle dans le même tunnel VPN haute disponibilité.

Pour créer cette configuration, ajoutez deux interfaces BGP et deux pairs BGP sur Cloud Router et associez-les au même tunnel VPN. Vous devez utiliser des sessions BGP à pile unique avec une passerelle VPN haute disponibilité à double pile. Vous ne pouvez pas utiliser le format MP-BGP.

gcloud

Pour créer deux interfaces BGP de routeur cloud et deux pairs BGP pour chaque tunnel que vous avez précédemment configuré sur les interfaces de passerelle VPN haute disponibilité, procédez comme suit.

Dans les commandes, remplacez les éléments suivants :

  • ROUTER_INTERFACE_NAME_0_ipv4 et ROUTER_INTERFACE_NAME_0_ipv6 : noms de la première paire d'interfaces Cloud Router BGP partageant le même tunnel. Il peut être utile d'utiliser des noms associés aux noms des tunnels configurés précédemment
  • ROUTER_INTERFACE_NAME_1_ipv4, ROUTER_INTERFACE_NAME_1_ipv6 : noms du deuxième ensemble d'interfaces BGP de routeur cloud
  • TUNNEL_NAME_0 et TUNNEL_NAME_1 : tunnel associé à l'interface de passerelle VPN haute disponibilité que vous avez configurée
  • IP_PREFIXES et CUSTOM_ROUTE_PRIORITY : valeurs qui vous permettent de spécifier manuellement des routes apprises pour une session BGP. Pour plus d'informations sur cette fonctionnalité, consultez la section Routes personnalisées apprises.
  • AUTHENTICATION_KEY : clé secrète à utiliser pour l'authentification MD5. Pour en savoir plus sur cette fonctionnalité facultative, consultez la page Utiliser l'authentification MD5.

    De plus, vous pouvez choisir de configurer automatiquement ou manuellement les adresses IPv4 et IPv6 pour vos interfaces de routeur cloud et vos pairs BGP.

    Facultatif: Attribuer une plage d'identifiants BGP

    Lorsque vous ajoutez la première interface avec une adresse IPv6 à un routeur Cloud Router, une plage d'identifiants BGP est automatiquement attribuée au routeur Cloud Router. Si vous préférez définir votre propre plage d'identifiants BGP pour un routeur cloud, vous pouvez créer votre propre plage. Vous pouvez également modifier cette plage ultérieurement. Pour en savoir plus, consultez la section Configurer la plage d'identifiants BGP pour un routeur Cloud Router.

Automatique

Pour permettre à Google Cloud de choisir automatiquement les adresses BGP, procédez comme suit :

Pour le premier tunnel VPN

  1. Ajoutez une interface avec une adresse IPv4 au routeur Cloud Router.

    gcloud beta compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0_ipv4 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
       --ip-version=IPV4
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une deuxième interface avec une adresse IPv6 au même tunnel. Exécutez la commande suivante :

    gcloud beta compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0_ipv6 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION \
       --ip-version=IPV6
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/beta/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  3. Ajoutez une configuration de pair BGP à la première interface avec l'adresse IPv4 du premier tunnel ; remplacez PEER_NAME_0_ipv4 avec le nom de l'interface VPN de pairs et remplacez PEER_ASN avec le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0_ipv4 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0_ipv4 \
       --region=REGION
    
  4. Ajoutez une configuration de pair BGP à la deuxième interface avec l'adresse IPv6 du premier tunnel ; remplacez PEER_NAME_0_ipv6 avec le nom de l'interface VPN de pairs et remplacez PEER_ASN avec le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0_ipv6 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0_ipv6 \
       --region=REGION
    

    Dans la plupart des cas, PEER_ASN est identique, mais il peut être différent en fonction de votre topologie de réseau sur site.

Pour le deuxième tunnel VPN

  1. Ajoutez une interface avec une adresse IPv4 au routeur Cloud Router:

    gcloud beta compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1_ipv4 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
     --ip-version=IPV4
    
  2. Ajoutez une interface avec une adresse IPv6 au même tunnel. Exécutez la commande suivante :

    gcloud beta compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1_ipv6 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION \
     --ip-version=IPV6
    
  3. Ajoutez une configuration de pair BGP à la première interface avec l'adresse IPv4 du second tunnel ; remplacez PEER_NAME_1_ipv4 par le nom de l'interface VPN de pairs et remplacez PEER_ASN avec le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1_ipv4 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1_ipv4 \
     --region=REGION
    
  4. Ajoutez une configuration de pair BGP à la deuxième interface avec l'adresse IPv6 dusecond tunnel ; remplacez PEER_NAME_1_ipv6 avec le nom de l'interface VPN de pairs et remplacez PEER_ASN avec le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1_ipv6 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1_ipv6 \
       --region=REGION
    

    Dans la plupart des cas, PEER_ASN est identique, mais il peut être différent en fonction de votre topologie de réseau sur site.

Mode manuel

Pour attribuer manuellement les adresses IPv4 et IPv6 associées aux interfaces Cloud Router et aux pairs BGP, procédez comme suit :

Pour chaque tunnel VPN, choisissez deux adresses BGP appropriées en fonction du type de session BGP que vous configurez. Vous devez sélectionner quatre adresses IP au total pour chaque type de session.

  • Pour vos sessions BGP IPv4, les quatre adresses IPv4 doivent être des adresses IPv4 de liaison locale dans un bloc /30 de la plage 169.254.0.0/16. Exemple : 169.254.0.1/30.
  • Pour vos sessions BGP IPv6 (Version bêta), les quatre adresses IPv6 doivent être des adresses locales uniques (ULA) de la plage fdff:1::/64 avec une longueur de /126 ou moins. Par exemple, fdff:1:1:1::/112.

Les adresses BGP que vous spécifiez doivent être uniques parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

Pour chaque tunnel, attribuez les adresses IPv6 BGP au routeur Cloud Router. Configurez votre appareil VPN de pairs pour qu'il utilise les adresses IPv6 du pair BGP.

Dans les commandes suivantes, remplacez les éléments suivants :

  • GOOGLE_BGP_IPV4_0: adresse IPv4 de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IPV4_0 représente l'adresse IPv4 de son pair BGP, correspond à GOOGLE_BGP_IPV4_0
  • GOOGLE_BGP_IPV6_0: adresse IPv6 de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IPV6_0 représente l'adresse IPv6 de son pair BGP, correspond à GOOGLE_BGP_IPV6_0
  • GOOGLE_BGP_IPV4_1: adresse IPv4 de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IPV4_1 représente l'adresse IPv4 de son pair BGP, correspond à GOOGLE_BGP_IPV4_1
  • GOOGLE_BGP_IPV6_1: adresse IPv6 de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IPV6_1 représente l'adresse IPv6 de son pair BGP, correspond à GOOGLE_BGP_IPV6_1

Pour le premier tunnel VPN

  1. Ajoutez une interface avec une adresse IPv4 au routeur cloud ; Remplacez ROUTER_INTERFACE_NAME_0_ipv4 par le nom de l'interface:

    gcloud compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_0_ipv4 \
      --vpn-tunnel=TUNNEL_NAME_0 \
      --ip-address=GOOGLE_BGP_IPV4_0 \
      --mask-length 30 \
      --region=REGION
    

    Le résultat de la commande ressemble à ceci :

    Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    
  2. Ajoutez une interface associée à une adresse IPv6 au même tunnel. Remplacez ROUTER_INTERFACE_NAME_0_ipv6 par le nom de l'interface:

    gcloud beta compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_0_ipv6 \
      --vpn-tunnel=TUNNEL_NAME_0 \
      --ip-address=GOOGLE_BGP_IPV6_0 \
      --mask-length=MASK_LENGTH  \
      --region=REGION \
    

    Remplacez MASK_LENGTH par une valeur de 126 ou inférieure.

  3. Ajoutez une configuration de pair BGP à la première interface du premier tunnel ; remplacez PEER_NAME_0_ipv4 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_0_ipv4 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_0_ipv4 \
     --peer-ip-address=PEER_BGP_IPV4_0 \
     --region=REGION
    
  4. Ajoutez une configuration de pair BGP à la deuxième interface pour le premier tunnel ; remplacez PEER_NAME_0_ipv6 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0_ipv6 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0_ipv6 \
       --peer-ip-address=PEER_BGP_IPV6_0 \
       --region=REGION
    

    Dans la plupart des cas, PEER_ASN est identique, mais il peut être différent en fonction de votre topologie de réseau sur site.

Pour le deuxième tunnel VPN

  1. Ajoutez une interface avec une adresse IPv4 au routeur cloud ; Remplacez ROUTER_INTERFACE_NAME_1_ipv4 par le nom de l'interface:

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1_ipv4 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --ip-address=GOOGLE_BGP_IPV4_1 \
     --mask-length MASK_LENGTH \
     --region=REGION
    
  2. Ajoutez une interface associée à une adresse IPv6 au même tunnel. Remplacez ROUTER_INTERFACE_NAME_1_ipv6 par le nom de l'interface:

    gcloud beta compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1_ipv6 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --ip-address=GOOGLE_BGP_IPV6_1 \
     --mask-length=MASK_LENGTH \
     --region=REGION \
    

    Remplacez MASK_LENGTH par une valeur de 126 ou inférieure.

  3. Ajoutez une configuration de pair BGP à la première interface pour le deuxième tunnel ; Remplacez PEER_NAME_1_ipv4 par le nom du pair et PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1_ipv4 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1_ipv4 \
     --peer-ip-address=PEER_BGP_IPV4_1 \
     --region=REGION
    
  4. Ajoutez une configuration de pair BGP à la deuxième interface pour le second tunnel ; remplacez PEER_NAME_1_ipv6 par le nom de l'interface VPN de pairs et remplacez PEER_ASN avec le numéro ASN configuré pour la passerelle VPN de pairs:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1_ipv6 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1_ipv6 \
       --peer-ip-address=PEER_BGP_IPV6_1 \
       --region=REGION
    

    Dans la plupart des cas, PEER_ASN est identique, mais il peut être différent en fonction de votre topologie de réseau sur site.

API

  1. Pour créer deux interfaces Cloud Router, envoyez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou de routers.update. PATCH met uniquement à jour les paramètres que vous incluez. La requête UPDATE met à jour tous les paramètres du routeur Cloud Router.

    Créez deux interfaces Cloud Router pour le premier tunnel VPN sur la passerelle VPN haute disponibilité. Vous créez une interface avec une adresse IPv4 et une interface avec une adresse IPv6. Vous pouvez configurer les deux interfaces et leurs pairs BGP dans la même requête PATCH ou UPDATE. Les interfaces sont associées au même tunnel linkedVpnTunnel, et les pairs BGP sont associés aux interfaces.

    Les plages d'adresses BGP de chaque interface doivent être uniques parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

    Répétez cette étape et cette commande pour chaque tunnel VPN sur la passerelle VPN haute disponibilité.

    L'exemple suivant ajoute une interface avec une adresse IPv4 et une interface avec une adresse IPv6 au même linkedVpnTunnel. L'exemple de commande spécifie manuellement les adresses BGP IPv4 et IPv6:

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "interfaces": [
       {
         "name": "if-tunnel-a-to-on-prem-if-0_ipv4",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipRange": "169.254.0.1/30"
        },
        {
         "name": "if-tunnel-a-to-on-prem-if-0_ipv6",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipRange": "fdff:1:1:1::/112"
        }
    
      ]
    }
    

    L'exemple suivant ajoute une interface BGP IPv4 et une interface BGP IPv6 au même linkedVpnTunnel avec des adresses BGP IPv4 et IPv6 attribuées automatiquement:

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "interfaces": [
       {
         "name": "if-tunnel-a-to-on-prem-if-0_ipv4",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipVersion": "IPV4"
        },
        {
         "name": "if-tunnel-a-to-on-prem-if-0_ipv6",
         "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
         "ipVersion": "IPV6"
        }
    
      ]
    }
    
  2. Pour ajouter les pairs BGP au routeur Cloud Router pour chaque tunnel VPN, envoyez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou de la méthode routers.update. Répétez cette commande pour les autres tunnels VPN, en modifiant toutes les options si nécessaire.

    Exemple :

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
    "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0_ipv4",
       "ipAddress": "169.254.0.1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0_ipv4",
       "peerAsn": 65002,
       "peerIpAddress": "169.254.0.2",
       "advertiseMode": "DEFAULT"
      },
      {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0_ipv6",
       "ipAddress": fdff:1:1:1::1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0_ipv6",
       "peerAsn": 65002,
       "peerIpAddress": "fdff:1:1:1::2",
       "advertiseMode": "DEFAULT"
      }
    ]
    }
    

Vérifier la configuration

Console

Pour vérifier la configuration, accédez à la page Résumé et rappel :

  1. La section Résumé de cette page répertorie les informations concernant les profils de la passerelle VPN haute disponibilité et de la passerelle VPN de pairs. Pour chaque tunnel VPN, vous pouvez afficher l'état du tunnel VPN, le nom de la session BGP, l'état de la session BGP et la valeur MED (priorité de route annoncée).
  2. La section Rappel de cette page répertorie les étapes à suivre pour disposer d'une connexion VPN entièrement opérationnelle entre Cloud VPN et votre VPN de pairs.
  3. Si vous souhaitez télécharger un modèle de configuration pour votre appareil VPN de pairs, cliquez sur Télécharger la configuration. Pour savoir comment sélectionner votre modèle et afficher la liste des fournisseurs acceptés, consultez la page Télécharger un modèle de configuration VPN de pairs. Vous pouvez également télécharger le modèle de configuration ultérieurement en accédant à la page Passerelles VPN de pairs.
  4. Après la consultation des informations contenues sur cette page, cliquez sur OK.

gcloud

Pour vérifier la configuration du routeur Cloud Router, procédez comme suit :

  • Répertoriez les adresses IP de session BGP sélectionnées par routeur cloud Si vous avez ajouté une nouvelle interface à un routeur cloud existant, les adresses IPv4 ou IPv6 BGP de la nouvelle interface peuvent être répertoriées en indiquant le numéro d'index le plus élevé. Utilisez l'adresse IPv4 ou BGP IPv6 BGP peerIpAddress pour configurer votre passerelle VPN de pairs:

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

    Le résultat attendu pour un routeur Cloud Router gérant deux tunnels Cloud VPN (index 0 et index 1) doit ressembler à l'exemple suivant où les conditions suivantes sont remplies :

    • GOOGLE_BGP_IP_0 représente l'adresse IP BGP de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IP_0 représente l'adresse IP BGP de son pair.
    • GOOGLE_BGP_IP_1 représente l'adresse IP BGP de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IP_1 représente l'adresse IP BGP du pair.
      result.bgpPeerStatus[0].ipAddress:      169.254.0.1 GOOGLE_BGP_IP_0
      result.bgpPeerStatus[0].name:           bgp-peer-tunnel-a-to-on-prem-if-0
      result.bgpPeerStatus[0].peerIpAddress:  169.254.0.2 PEER_BGP_IP_0
      result.bgpPeerStatus[1].ipAddress:      169.254.1.1 GOOGLE_BGP_IP_1
      result.bgpPeerStatus[1].name:           bgp-peer-tunnel-a-to-on-prem-if-1
      result.bgpPeerStatus[1].peerIpAddress:  169.254.1.2 PEER_BGP_IP_1
    
  • Vous pouvez également utiliser la commande suivante pour obtenir la liste complète de la configuration du routeur cloud :

    gcloud compute routers describe ROUTER_NAME \
       --region=REGION
    

    La liste complète ressemble à l'exemple suivant:

    bgp:
      advertiseMode: DEFAULT
      asn: 65001
    bgpPeers:
    - interfaceName: if-tunnel-a-to-on-prem-if-0
      ipAddress: 169.254.0.1
      name: bgp-peer-tunnel-a-to-on-prem-if-0
      peerAsn: 65002
      peerIpAddress: 169.254.0.2
    - interfaceName: if-tunnel-a-to-on-prem-if-1
      ipAddress: 169.254.1.1
      name: bgp-peer-tunnel-a-to-on-prem-if-1
      peerAsn: 65004
      peerIpAddress: 169.254.1.2
    creationTimestamp: '2018-10-18T11:58:41.704-07:00'
    id: '4726715617198303502'
    interfaces:
    - ipRange: 169.254.0.1/30
      linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
      name: if-tunnel-a-to-on-prem-if-0
    - ipRange: 169.254.1.1/30
      linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
      name: if-tunnel-a-to-on-prem-if-1
      kind: compute#router
      name: router-a
      network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a
      region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
      selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
    

API

Pour vérifier la configuration du routeur Cloud Router, envoyez une requête GET à l'aide de la méthode routers.getRouterStatus et utilisez un corps de requête vide :

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers

Créer un tunnel supplémentaire sur une passerelle à tunnel unique

Console

Pour obtenir un contrat de niveau de service assurant une disponibilité de 99,99 %, configurez un tunnel sur chaque interface VPN haute disponibilité d'une passerelle VPN haute disponibilité.

Configurez un deuxième tunnel dans les cas suivants :

  • Si vous avez configuré une passerelle VPN haute disponibilité vers une passerelle VPN de pairs comportant une seule interface VPN de pairs.
  • Si vous avez précédemment configuré un seul tunnel sur un VPN haute disponibilité pour une passerelle VPN de pairs contenant un nombre quelconque d'interfaces et que vous souhaitez maintenant obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 %.

Pour configurer un deuxième tunnel, suivez la procédure décrite dans la section Ajouter un tunnel entre une passerelle VPN haute disponibilité et une passerelle VPN de pairs.

Définir la priorité de base des routes annoncées (facultatif)

Les sessions BGP que vous créez autorisent chaque routeur Cloud Router à annoncer des routes aux réseaux de pairs. Les annonces utilisent des priorités de base non modifiées.

Utilisez la configuration documentée sur la page Créer une passerelle VPN haute disponibilité et une paire de tunnels vers un VPN de pairs pour configurations de routage active/active, où les priorités des routes annoncées des deux tunnels VPN côté Google Cloud et côté pairs sont correspondent. Pour configurer les mêmes priorités de route annoncées de Google Cloud vers les deux pairs BGP, omettez la priorité de route annoncée côté Google Cloud.

Pour créer une configuration en mode actif/passif, configurez des priorités de routes annoncées inégales pour les deux tunnels VPN haute disponibilité. L'une des priorités de routes annoncées doit être supérieure à l'autre. Exemple :

  • session BGP 1/tunnel 1, priorité des routes = 10
  • session BGP 2/tunnel 2, priorité des routes = 20

Pour en savoir plus sur la priorité de base des routes annoncées, consultez la section Préfixes et priorités annoncés.

Vous pouvez également spécifier les routes annoncées à l'aide d'annonces personnalisées :

  • Ajoutez l'option --advertisement-mode=CUSTOM (gcloud) ou l'option advertiseMode: custom (API).
  • Spécifiez les plages d'adresses IP avec l'option --set-advertisement-ranges (gcloud) ou l'option advertisedIpRanges (API).

Terminer la configuration

Pour pouvoir utiliser une nouvelle passerelle Cloud VPN et ses tunnels VPN associés, procédez comme suit :

  1. Configurez la passerelle VPN de pairs et configurez-y le ou les tunnels correspondants. Pour obtenir des instructions, consultez la page suivante :
  2. Configurez les règles de pare-feu dans Google Cloud et votre réseau de pairs, si nécessaire.
  3. Vérifiez l'état de vos tunnels VPN​LINK. Remarque : Cette étape inclut la vérification de la configuration de haute disponibilité de votre passerelle VPN haute disponibilité.

Étapes suivantes

  • Pour contrôler les adresses IP autorisées pour les passerelles VPN de pairs, consultez la page Limiter les adresses IP pour les passerelles VPN de pairs.
  • Pour utiliser des scénarios à haute disponibilité et à haut débit, ou des scénarios à plusieurs sous-réseaux, consultez la section Configurations avancées.
  • Pour vous aider à résoudre les problèmes courants que vous pouvez rencontrer lors de l'utilisation de Cloud VPN, consultez la page Dépannage.