Créer un VPN classique à l'aide d'un routage statique

Cette page explique comment créer une passerelle VPN classique et un tunnel à l'aide d'un routage statique. Ce tunnel se base sur des règles ou sur des routes.

Avec un VPN basé sur des routes, vous spécifiez uniquement le sélecteur de trafic distant. Si vous devez spécifier un sélecteur de trafic local, créez un tunnel Cloud VPN utilisant un routage basé sur des règles.

Pour découvrir les bonnes pratiques à suivre avant de configurer Cloud VPN, consultez la page Bonnes pratiques pour Cloud VPN.

Différences entre les options de routage

Lorsque vous créez un tunnel basé sur des règles à l'aide de Google Cloud Console, le VPN classique effectue l'ensemble des tâches suivantes :

  • Il définit le sélecteur de trafic local du tunnel sur la plage d'adresses IP que vous spécifiez.
  • Il définit le sélecteur de trafic distant du tunnel sur les plages d'adresses IP que vous spécifiez dans Plages d'adresses IP du réseau distant.
  • Pour chaque plage disponible dans Plages d'adresses IP du réseau distant, Google Cloud crée une route statique personnalisée dont la destination (préfixe) correspond au CIDR de la plage et dont le saut suivant correspond au tunnel.

Lorsque vous créez un tunnel basé sur des routes à l'aide de Cloud Console, le VPN classique effectue l'ensemble des tâches suivantes :

  • Il définit les sélecteurs de trafic local et distant du tunnel sur n'importe quelle adresse IP (0.0.0.0/0).
  • Pour chaque plage disponible dans Plages d'adresses IP du réseau distant, Google Cloud crée une route statique personnalisée dont la destination (préfixe) correspond au CIDR de la plage et dont le saut suivant correspond au tunnel.

Lorsque vous créez un tunnel basé sur des règles ou sur des routes à l'aide de l'outil de ligne de commande gcloud, les sélecteurs de trafic du tunnel sont définis de la même manière. Vous disposez pourtant d'un contrôle accru de ces routes, car la création de routes statiques personnalisées s'effectue à l'aide de commandes distinctes. Pour en savoir plus, consultez la page Réseaux et options de routage pour les tunnels.

Spécifier plusieurs CIDR par sélecteur de trafic

Le nombre de CIDR que vous pouvez spécifier dans un sélecteur de trafic dépend de la version d'IKE. Pour obtenir des informations de base essentielles, examinez attentivement les sections Options de routage et sélecteurs de trafic et Plusieurs CIDR par sélecteur de trafic.

Avant de commencer

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

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

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

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Installez et initialisez le SDK Cloud.
  1. Si vous utilisez des commandes gcloud, 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]

Vous pouvez également afficher un ID de projet déjà défini :

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

Créer un réseau et un sous-réseau cloud privé virtuel personnalisé

Avant de créer une passerelle et un tunnel VPN classiques, vous devez créer un réseau cloud privé virtuel et au moins un sous-réseau dans la région où sera située la passerelle VPN classique.

Créer une passerelle et un tunnel

L'assistant de configuration du VPN est la seule option de console permettant de créer une passerelle VPN classique. L'assistant inclut toutes les étapes de configuration nécessaires pour créer une passerelle VPN classique, des tunnels, des sessions BGP et une ressource de passerelle VPN externe. Vous pouvez cependant choisir d'effectuer certaines tâches ultérieurement, comme la configuration des sessions BGP.

Le bouton Créer une passerelle VPN ne permet de créer que des passerelles VPN haute disponibilité.

Assistant du VPN

Configurer la passerelle

  1. Accédez à la page "VPN" de Google Cloud Console.
    Accéder à la page "VPN"
    1. Si vous créez une passerelle pour la première fois, sélectionnez le bouton Créer une connexion VPN.
    2. Sélectionnez l'assistant de configuration VPN.
  2. Sélectionnez la case d'option correspondant à un VPN classique.
  3. Cliquez sur Continuer.
  4. Sur la page Créer une connexion VPN, spécifiez les paramètres de passerelle suivants :
    • Nom : nom de la passerelle VPN. Vous ne pourrez pas le modifier par la suite.
    • Description : si vous le souhaitez, vous pouvez ajouter une description.
    • Réseau : spécifiez un réseau VPC existant dans lequel créer la passerelle et le tunnel VPN.
    • Région : les passerelles et les tunnels Cloud VPN sont des objets régionaux. Choisissez une région Google Cloud dans laquelle la passerelle sera située. Les instances et les autres ressources appartenant à des régions différentes peuvent utiliser le tunnel pour acheminer le trafic de sortie, en suivant l'ordre de priorité des routes. Pour optimiser les performances, situez la passerelle et le tunnel dans la même région que les ressources Google Cloud concernées.
    • Adresse IP : créez ou choisissez une adresse IP externe régionale existante.

Configurer les tunnels

  1. Spécifiez les paramètres suivants dans la section Tunnels du nouveau tunnel :

    • Nom : nom du tunnel VPN. Vous ne pourrez pas le modifier par la suite.
    • Description : si vous le souhaitez, vous pouvez saisir une description.
    • Adresse IP du pair distant : spécifiez l'adresse IP externe de la passerelle VPN de pairs.
    • Version IKE : choisissez une version d'IKE compatible avec la passerelle VPN de pairs. Nous vous recommandons d'utiliser IKEv2 si cette version est compatible avec l'appareil associé. Clé secrète partagée : fournissez une clé prépartagée utilisée pour l'authentification. Cette clé secrète partagée du tunnel Cloud VPN doit correspondre à celle utilisée lors de la configuration du tunnel équivalent sur la passerelle VPN de pairs. Vous pouvez suivre ces instructions pour générer une clé secrète partagée sécurisée de manière cryptographique.

    Pour les tunnels basés sur des règles

    • Sous Options de routage, sélectionnez Basé sur des règles.
    • Sous Plages d'adresses IP du réseau distant, saisissez la liste des plages d'adresses IP utilisées par le réseau de pairs, séparées par des espaces. Il s'agit du sélecteur de trafic distant, soit le "côté droit" du point de vue de Cloud VPN.
    • Sous Plages d'adresses IP locales, sélectionnez l'une des méthodes suivantes :
      • Utilisez le menu Sous-réseaux locaux pour choisir une plage d'adresses IP locale existante.
      • Utilisez le champ Plages d'adresses IP locales pour saisir la liste des plages d'adresses IP utilisées dans votre réseau VPC, séparées par des espaces. Pour consulter les éléments importants à prendre en considération, reportez-vous à la section sur les sélecteurs de trafic.

    Pour les tunnels basés sur des routes

    • Options de routage : sélectionnez Basé sur des routes.
    • Plages d'adresses IP de réseau distant : saisissez la liste des plages d'adresses IP utilisées par le réseau de pairs, séparées par des espaces. Ces plages servent à créer des routes statiques personnalisées dont le saut suivant correspond à ce tunnel VPN.
  2. Si vous devez créer plusieurs tunnels sur la même passerelle, cliquez sur Ajouter un tunnel et répétez l'étape précédente. Vous pouvez également ajouter d'autres tunnels ultérieurement.

  3. Cliquez sur Créer.

gcloud

Dans les commandes suivantes, remplacez :

  • PROJECT_ID par l'ID de votre projet ;
  • NETWORK par le nom de votre réseau Google Cloud ;
  • REGION par la région Google Cloud dans laquelle la passerelle et le tunnel doivent être créés ;
  • (Facultatif) --target-vpn-gateway-region correspond à la région de la passerelle VPN classique à 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é "compute/region" pour cet appel de commande.
  • GW_NAME par le nom de la passerelle ;
  • GW_IP_NAME par le nom de l'adresse IP externe utilisée par la passerelle.

Pour créer une passerelle Google Cloud, exécutez les commandes suivantes dans l'ordre indiqué :

  1. Créez les ressources pour la passerelle Cloud VPN :

    1. Créez l'objet passerelle VPN cible.

      gcloud compute target-vpn-gateways create GW_NAME \
          --network NETWORK \
          --region REGION \
          --project PROJECT_ID
      
    2. Réservez une adresse IP externe régionale (statique).

      gcloud compute addresses create GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID
      
    3. Notez l'adresse IP de façon à pouvoir l'utiliser lors de la configuration de votre passerelle VPN de pairs :

      gcloud compute addresses describe GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID \
          --format='flattened(address)'
      
    4. Créez trois règles de transfert. Ces règles indiquent à Google Cloud d'acheminer le trafic ESP (IPSec), UDP 500 et UDP 4500 vers la passerelle.

      gcloud compute forwarding-rules create fr-GW_NAME-esp \
          --ip-protocol ESP \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp500 \
          --ip-protocol UDP \
          --ports 500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \
          --ip-protocol UDP \
          --ports 4500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  2. Créez le tunnel Cloud VPN en indiquant les informations suivantes :

    • Remplacez TUNNEL_NAME par le nom du tunnel.
    • Remplacez ON_PREM_IP par l'adresse IP externe de la passerelle VPN de pairs.
    • Remplacez IKE_VERS par 1 pour IKEv1 ou 2 pour IKEv2.
    • Remplacez SHARED_SECRET par votre clé secrète partagée. Cette clé secrète partagée du tunnel Cloud VPN doit correspondre à celle utilisée lors de la configuration du tunnel équivalent sur la passerelle VPN de pairs. Vous pouvez suivre ces instructions pour générer une clé secrète partagée sécurisée de manière cryptographique.

    Pour les VPN basés sur des règles :

    • Remplacez LOCAL_IP_RANGES par la liste de plages d'adresses IP Google Cloud, séparées par des virgules. Par exemple, vous pouvez indiquer le bloc CIDR pour chaque sous-réseau d'un réseau VPC. Pour Cloud VPN, il s'agit du "côté gauche" du tunnel.
    • Remplacez REMOTE_IP_RANGES par la liste des plages d'adresses IP du réseau de pairs, séparées par des virgules. Pour Cloud VPN, il s'agit du "côté droit" du tunnel.

    Commande du VPN basé sur des règles :

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address ON_PREM_IP \
        --ike-version IKE_VERS \
        --shared-secret SHARED_SECRET \
        --local-traffic-selector=LOCAL_IP_RANGES \
        --remote-traffic-selector=REMOTE_IP_RANGES \
        --target-vpn-gateway GW_NAME \
        --region REGION \
        --project PROJECT_ID
    

    Pour les VPN basés sur des routes :

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address ON_PREM_IP \
        --ike-version IKE_VERS \
        --shared-secret SHARED_SECRET \
        --local-traffic-selector=0.0.0.0/0 \
        --remote-traffic-selector=0.0.0.0/0 \
        --target-vpn-gateway GW_NAME \
        --region REGION \
        --project PROJECT_ID
    
  3. Créez une route statique pour chaque plage d'adresses IP distante spécifiée dans l'option --remote-traffic-selector à l'étape précédente. Répétez cette commande pour chaque plage d'adresses IP distante, en remplaçant ROUTE_NAME par le nom unique de la route et [REMOTE_IP_RANGE] par la plage d'adresses IP distante appropriée.

    gcloud compute routes create ROUTE_NAME \
        --destination-range REMOTE_IP_RANGE \
        --next-hop-vpn-tunnel TUNNEL_NAME \
        --network NETWORK \
        --next-hop-vpn-tunnel-region REGION \
        --project PROJECT_ID
    

Procédure à suivre

Vous devez suivre la procédure ci-dessous avant de pouvoir utiliser une nouvelle passerelle et un nouveau tunnel Cloud VPN :

  1. Configurez la passerelle VPN de pairs, puis configurez-y le tunnel correspondant. Reportez-vous aux pages suivantes :
  2. Configurez les règles de pare-feu dans Google Cloud et votre réseau de pairs, si nécessaire. Pour obtenir des suggestions, consultez la page Configurer les règles de pare-feu.
  3. Vérifiez l'état de votre tunnel, y compris les règles de transfert.
  4. Vous pouvez afficher les routes VPN en consultant la table de routage du projet
    et en filtrant le "Type du saut suivant : tunnel VPN".
Appliquer une règle d'administration VPN

Appliquer une contrainte de règle d'administration qui limite les adresses IP des passerelles VPN de pairs

Vous pouvez créer une contrainte de règle d'administration Google Cloud qui définit un ensemble d'adresses IP autorisées ou interdites pour l'appairage à des passerelles VPN via des tunnels VPN classiques ou haute disponibilité. Cette contrainte contient une liste d'adresses IP de pairs autorisées ou refusées, appliquée aux tunnels Cloud VPN créés après l'application de la contrainte. Pour en savoir plus, consultez la présentation de Cloud VPN.

Autorisations requises

Pour définir une contrainte d'adresse IP de pair au niveau de l'organisation ou du projet, vous devez d'abord disposer du rôle Administrateur des règles d'administration (orgpolicy.policyAdmin) pour votre organisation.

Définir des contraintes

Pour créer une règle d'administration et l'associer à une organisation, un dossier ou un projet, utilisez les exemples répertoriés dans les sections suivantes et suivez les étapes de la page Utiliser des contraintes.

Restreindre la connectivité à partir d'adresses IP de pairs spécifiques via un tunnel Cloud VPN

Pour n'autoriser que des adresses IP de pairs spécifiques, procédez comme suit :

  1. Recherchez l'ID de votre organisation en saisissant la commande suivante :
    gcloud organizations list

    Le résultat de la commande devrait ressembler au suivant.

          DISPLAY NAME             ID
          example-organization     29252605212
        
  2. Créez un fichier JSON qui définit votre règle. Vous devez fournir une règle sous forme de fichier JSON, comme dans l'exemple suivant :

         {
           "constraint": "constraints/compute.restrictVpnPeersIPs",
           "listPolicy": {
             "allowedValues": [
               "100.1.1.1",
             ],
           }
         }
       
  3. Exécutez la commande gcloud Resource Manager set-policy pour définir la règle d'administration, en transmettant le fichier JSON et en utilisant l'identifiant ORGANIZATION_ID que vous avez obtenu à l'étape précédente.

Restreindre la connectivité à partir de toute adresse IP de pairs via un tunnel Cloud VPN

Pour interdire la création de tout nouveau tunnel Cloud VPN, suivez les étapes décrites dans cet exemple de contrainte.

  1. Recherchez l'ID de votre organisation ou l'ID du nœud dans la hiérarchie des ressources où vous souhaitez définir une règle.
  2. Créez un fichier JSON comme dans l'exemple suivant.

        {
          "constraint": "constraints/compute.restrictVpnPeersIPs",
          "listPolicy": {
            "allValues": "DENY"
          }
        }
    
  3. Transmettez le fichier JSON en saisissant la même commande que celle que vous utiliseriez pour restreindre des adresses IP de pairs spécifiques.