Remarques :

Optimisation de la bande passante IPSec à l'aide d'Oracle Interconnect for Microsoft Azure

Introduction

Le chiffrement est important et ce tutoriel vous montrera comment activer le chiffrement sur nos régions interconnectées que nous avons avec Microsoft Azure dans le monde entier.

Cette interconnexion redondante est basée sur des circuits virtuels privés, qui sont une faible latence réseau prévisible sur une connexion privée avec ExpressRoute de Microsoft Azure et FastConnect du côté d'Oracle Cloud Infrastructure (OCI). Ces circuits virtuels privés ne sont pas chiffrés par défaut.

Ce tutoriel utilisera Oracle Interconnect for Microsoft Azure (Oracle Interconnect for Azure), ajoutera le cryptage à partir des tunnels IPSec et montrera également comment optimiser la bande passante sur les tunnels IPSec, car cela peut être un facteur limitant pour certains cas d'utilisation.

Remarque : IPSec sur OCI FastConnect n'est pas limité à cette interconnexion Oracle pour Azure, elle peut être utilisée sur n'importe quelle instance OCI FastConnect. Nous l'avons utilisé pour ce tutoriel.

Objectifs

Créez des tunnels cryptés sur l'interconnexion Microsoft Azure/OCI pour valider la bande passante réseau possible sur les tunnels IPSec combinés. Pour trouver l'emplacement dans lequel cela est possible, reportez-vous à Interconnexion pour Azure.

Ces connexions sont basées sur Microsoft Azure ExpressRoute et OCI FastConnect. Lors de la création de ces interconnexions, ils utilisent un circuit virtuel privé qui est acceptable pour la plupart des clients dans la plupart des cas, mais certains clients nécessitent un chiffrement sur les liaisons réseau, et ce tutoriel est pour ceux-ci.

Nous allons créer 8 tunnels IPSec sur un circuit virtuel pour utiliser la bande passante complète sur la connexion cryptée, car les tunnels IPSec risquent de ne pas atteindre la même bande passante par tunnel que le circuit virtuel sous-jacent.

Cette option avec le trafic chiffré sur un circuit virtuel privé dédié peut également être appliquée à notre interconnexion à Google Cloud et aux connexions FastConnect entre sur site et OCI, mais la configuration variera.

Conception de réseau logique

Il existe des options permettant d'autoriser uniquement le trafic chiffré IPSec sur la connexion ou d'autoriser à la fois le trafic chiffré et non chiffré sur le même circuit virtuel. Dans ce tutoriel, nous allons autoriser les deux sur l'interconnexion, mais autoriser uniquement le trafic crypté à atteindre VCN1 et le trafic non crypté à atteindre VCN2 dans OCI, tous deux à partir de la source dans Microsoft Azure.

Dans les implémentations réelles, l'option d'autoriser uniquement le trafic IPSec sur un circuit virtuel peut être la plus appropriée pour les clients qui ont des exigences strictes en matière d'autorisation du trafic crypté uniquement.

Conception de réseau logique

Bande passante avec IPSec

Les tunnels IPSec chiffrent et déchiffrent le trafic aussi rapidement que possible, mais sont liés à des protocoles d'algorithme de chiffrement pris en charge par les deux points de terminaison qui créent les tunnels et il est nécessaire que les cycles CPU soient cryptés/décryptés, ce qui limite à son tour la quantité de trafic pouvant passer le tunnel par seconde. Pour dépasser cette limite par tunnel, il est possible de créer plusieurs tunnels et d'utiliser le multipathing à coût égal (ECMP), qui peut acheminer des paquets sur plusieurs tunnels si les deux extrémités prennent en charge ECMP.

Remarque : un seul flux réseau n'utilisera qu'un seul tunnel. Pour utiliser ECMP, vous devez répartir la charge sur différents points d'extrémité/ports, ce qui est normalement le cas dans le monde réel. Plusieurs points d'extrémité d'un côté se connectent à plusieurs points d'extrémité de l'autre côté.

ECMP activé sur le trafic IPSEC

Configuration réseau détaillée

L'image suivante présente la configuration réseau dans Microsoft Azure et OCI. Le côté Microsoft Azure se compose d'une configuration de hub/spoke normale où les passerelles réseau sont situées dans le hub vNet et est appairé avec le vNET satellite (ici appelé azure-vNET) qui agissent comme une source lors de ces tests. Côté OCI, la configuration avec IPSec sur OCI FastConnect exige que nous créions des tables de routage distinctes pour le circuit virtuel et l'attachement IPSec.

Configuration réseau détaillée

Flux de trafic

Afin d'autoriser uniquement le trafic chiffré entre Microsoft Azure vNET et VCN1 et d'autoriser le trafic non chiffré vers VCN2, nous disposons de tables de routage distinctes pour VCN1 et VCN2 dans OCI et :

Le flux de trafic est illustré dans l'image suivante.

Configuration réseau détaillée incluant le flux de trafic réseau

Prérequis

Tâche 1 : Préparation

Voici quelques informations qui sont bonnes à savoir lors de la préparation.

Passerelle ExpressRoute Microsoft Azure

Nous avons utilisé des SKU ultra performantes car nous voulions activer FastPath pour minimiser la latence réseau entre Microsoft Azure et OCI et nous devions disposer d'une bande passante d'au moins 5Gbps. Pour plus d'informations sur les différences entre les SKU des passerelles ExpressRoute, reportez-vous à https://learn.microsoft.com/en-us/azure/expressroute/expressroute-about-virtual-network-gateways.

Passerelle VPN Microsoft Azure

Nous avons choisi une passerelle VPN SKU qui peut gérer le trafic que nous prévoyons de transmettre. VpnGw4 prend en charge le débit 5Gbps et le circuit virtuel d'interconnexion que nous allons déployer est également 5Gbps. Pour plus d'informations, reportez-vous à A propos des SKU de passerelle VPN. En ce qui concerne la passerelle VPN, une chose importante est d'activer l'adresse IP privée. Impossible d'activer l'adresse IP privée lors du déploiement à partir du portail Microsoft Azure. Il fallait donc d'abord créer une passerelle VPN avec l'adresse IP publique, puis l'activer sur les adresses IP privées après le déploiement.

Activer l'adresse IP privée dans VNG pour le VPN

Dans OCI, les attachements VCN1 et VCN2 doivent utiliser différentes tables de routage.

La configuration doit à ce stade être comme ci-dessous.

Point de début

Tâche 2 : Créer des tables de routage et importer des distributions de routage

Créez ces tables de routage et importez les distributions de routage. Gardez-les tous vides.

  1. Accédez à la console OCI, accédez à Fonctions de réseau, Connectivité client, Passerelle de routage dynamique, DRG et cliquez sur votre DRG.

  2. Créez les tables de routage suivantes et importez les distributions de routage.

    • Table de routage VCN1.
    • Table de routage VCN2.
    • Table de routage de circuit virtuel.
    • Table de routage IPSec.
    • Routages d'import VCN1.
    • Routages d'import VCN2.
    • Routages d'import de circuit virtuel.
    • Routages d'import IPSec.

    Laissez toutes les tables de routage et importez les distributions de routage vides.

Tâche 3 : affecter une distribution de routage d'import correcte à chaque table de routage

Cliquez sur chacun des noms de table de routage, Modifier, sélectionnez Activer la distribution de routage d'import, puis cliquez sur le menu déroulant pour sélectionner la distribution de routage d'import appropriée. Pour VCN1, nous activons également ECMP.

Mapping

Après la modification, l'affectation doit se présenter comme suit :

Affectation

Tâche 4 : création d'Oracle Interconnect for Azure

Suivez la documentation suivante : Setting Up a Connection.

Une exception est que la documentation n'explique pas les nouvelles fonctionnalités permettant d'autoriser le trafic IPSec uniquement ou l'ensemble du trafic.

Interconnexion

Dans la mesure où nous prévoyons d'autoriser le trafic chiffré et non chiffré sur le circuit virtuel dans ce tutoriel, nous devons choisir Tout le trafic, le reste étant le même.

Tâche 5 : spécification de tables de routage pour les réseaux cloud virtuels et FastConnect OCI

Comme la valeur par défaut est l'utilisation des tables de routage générées automatiquement pour chaque pièce jointe, nous devons les remplacer par celles que nous avons créées.

Nom de pièce jointe Table de routage DRG
FastConnect Pièce jointe de rémunération variable Table de routage de circuit virtuel
VCN1 pièce jointe Table de routage VCN1
VCN2 pièce jointe Table de routage VCN2

Pour ce faire, nous devons modifier les pièces jointes. Cliquez sur chacune des pièces jointes, Modifier et Afficher les options avancées, puis sélectionnez la table de routage DRG pour chacune d'elles.

Table de routage DRG pour attachement VCN

Le VCN doit se présenter comme suit :

Pièces jointes VCN - tables de routage

Le circuit virtuel doit se présenter comme suit :

Pièces jointes VCN - tables de routage

Tâche 6 : création de tunnels VPN IPSec

La connexion VPN site à site OCI utilise une adresse IP à distance (CPE (Customer-Premise Equipment) du point de vue d'OCI) et une adresse IP par tunnel dans le système frontal de communication OCI. Pour la session BGP (Border Gateway Protocol), nous devons modifier un peu la configuration pour utiliser les deux tunnels pour chacune des quatre connexions VPN que nous allons configurer.

  1. Obtenez l'adresse IP privée VPN Microsoft Azure Virtual Network Gateway (VNG).

    Pour afficher l'adresse IP privée de la passerelle VPN côté Microsoft Azure, vous devez cliquer sur En savoir plus. Cela sera utilisé pour mettre fin au VPN côté Microsoft Azure.

    adresse IP 1 privée

    Ensuite, il affiche l'adresse IP privée.

    adresses IP privées 2

  2. Créez une adresse IP BGP dans Microsoft Azure VNG.

    Créez une adresse IP BGP APIPA personnalisée 4x sur la passerelle VPN Microsoft Azure, une pour chaque connexion VPN côté OCI.

    APIPA BGP

  3. Créez un dispositif CPE dans OCI. Nous connaissons désormais l'adresse IP CPE privée sur le site Microsoft Azure, qui sera utilisée pour tous les tunnels VPN. Nous allons créer une représentation virtuelle de l'appareil CPE dans Microsoft Azure, dans OCI, avec l'adresse IP privée et devons activer Autoriser IPSec sur FastConnect. Pour ce faire, accédez à Fonctions de réseau, Connectivité client et cliquez sur Equipement client sur site.

    Créer un CPE

  4. Créez un VPN site à site dans OCI.

    Accédez à Fonctions de réseau, Connectivité client et VPN site à site, puis cliquez sur Créer une connexion IPSec.

    Etant donné que nous avons activé IPSec sur OCI FastConnect sur le CPE, de nouvelles options doivent être indiquées.

    • Adresse IP frontale Oracle (adresse IP distincte pour chaque tunnel, reportez-vous au tableau suivant pour cette configuration).
    • Circuit virtuel associé (identique à tous les tunnels).
    • Table de routage pour le tunnel IPSec (identique à tous les tunnels dans cet exemple).

    IPSec sur les paramètres FC

    Nous utiliserons ces adresses IP privées frontales côté OCI lors de la création de tunnels IPSec.

    ADRESSE IP Azure CPE Nom de connexion VPN Nom du tunnel OCI Adresse IP privée de tête de réseau OCI
      VPN1 Tunnel1 192.168.1.1
      VPN1 Tunnel2 192.168.1.2
      VPN2 Tunnel3 192.168.1.3
    10.30.0.6 VPN2 Tunnel4 192.168.1.4
      VPN3 Tunnel5 192.168.1.5
      VPN3 Tunnel6 192.168.1.6
      VPN4 Tunnel7 192.168.1.7
      VPN4 Tunnel8 192.168.1.8

    Côté OCI, il s'agit de la configuration utilisée pour la configuration BGP :

    Nom de connexion VPN Nom de tunnel ADRESSE IP D'Azure APIPA BGP OCI APIPA BGP IP
    VPN1 Tunnel1 169.254.21.5/31 169.254.21.4/31
    VPN1 Tunnel2 169.254.21.5/30 169.254.21.6/30
    VPN2 Tunnel3 169.254.21.9/31 169.254.21.8/31
    VPN2 Tunnel4 169.254.21.9/30 169.254.21.10/30
    VPN3 Tunnel5 169.254.21.13/31 169.254.21.12/31
    VPN3 Tunnel6 169.254.21.13/30 169.254.21.14/30
    VPN4 Tunnel7 169.254.21.17/31 169.254.21.16/31
    VPN4 Tunnel8 169.254.21.17/30 169.254.21.18/30

    Pour établir une connexion VPN à Microsoft Azure, utilisez la documentation standard, en commençant par Créer une connexion IPSec et souvenez-vous de la configuration spéciale ci-dessus pour IPSec sur OCI FastConnect. Pour plus d'informations, reportez-vous à Connexion VPN à Azure.

    Vous devez le faire pour les 4 connexions VPN (8 tunnels).

Tâche 7 : création d'une passerelle réseau locale (LNG) dans Microsoft Azure

Le GNL est la représentation virtuelle de l'adresse VPN dans OCI. Créez 8 GNL avec les paramètres comme indiqué dans le tableau suivant.

GNL

Les paramètres de tous les GNL sont présentés dans le tableau. Lors de la création de GNL, ces paramètres ont été utilisés (activer les paramètres BGP).

Nom Adresse IP de l'adresses Numéro ASN Adresse IP homologue BGP
OCI1 192.168.1.1 31 898 169.254.21.4
OCI2 192.168.1.2 31 898 169.254.21.6
OCI3 192.168.1.3 31 898 169.254.21.8
OCI4 192.168.1.4 31 898 169.254.21.10
OCI5 192.168.1.5 31 898 169.254.21.12
OCI6 192.168.1.6 31 898 169.254.21.14
OCI7 192.168.1.7 31 898 169.254.21.16
OCI8 192.168.1.8 31 898 169.254.21.18

L'image suivante présente une représentation visuelle de chaque connexion VPN.

Représentation de connexion VPN

Tâche 8 : créer une connexion entre vng-VPN et chaque GNL dans Microsoft Azure

  1. Accédez à la page VPN site à site, cliquez sur Afficher et sur Copier pour copier la clé secrète partagée (PSK) à partir de la console OCI pour chaque tunnel.

    Connexion VPN 2

  2. Dans Microsoft Azure, accédez à vng-VPN et créez une connexion à chacun des GNL.

    Connexion VPN 3

  3. Collez la clé secrète partagée dans la console Microsoft Azure pour chaque connexion et cliquez sur le menu déroulant pour sélectionner l'adresse BGP, le VNG et la passerelle de réseau local corrects. Les adresses IP BGP que nous avons utilisées dans la tâche 6.

    Connexion VPN 4

    Après cela, tous les tunnels devraient monter dans quelques minutes. Vérifiez dans Microsoft Azure :

    Connexion VPN 5

    Vérifiez dans OCI :

    Connexion VPN 6

Tâche 9 : test de la connexion

Le moment est venu de voir comment cela fonctionne. Nous allons tester la bande passante d'une machine virtuelle Microsoft Azure vers des machines virtuelles dans OCI, les machines virtuelles 4x sont placées dans un VCN qui n'autorisent que le trafic IPSec et une machine virtuelle dans un autre VCN qui autorisent le trafic non chiffré via Microsoft Azure ExpressRoute/OCI FastConnect.

Les machines virtuelles des deux côtés ont suffisamment de coeurs pour gérer cette bande passante réseau. Nous utiliserons le protocole TCP comme scénario de test puisque la plupart des applications utilisent ce protocole.

We understand that network latency will impact bandwidth but since we wanted to capture the difference between with and without IPSec, it will not be noticeable. Le but ici n'est pas de montrer la bande passante maximale, c'est de comprendre l'impact du cryptage IPSec sur une interconnexion par rapport à l'utilisation de l'interconnexion sans cryptage.

La raison pour laquelle 4 machines virtuelles sont côté OCI pour le trafic IPSec est qu'un tunnel VPN ne peut pas saturer le circuit virtuel 5Gbps dont nous disposons pour l'interconnexion. Par conséquent, nous utiliserons ECMP pour distribuer le trafic via différents tunnels VPN vers ses adresses, qui ont chacune des adresses IP et des ports auxquels il répond. C'est normalement le cas dans le monde réel aussi, de nombreux points de terminaison source parlent à de nombreux points de terminaison de destination.

Configuration de test 1

Pour les tests de bande passante, nous utiliserons iperf3 : https://iperf.fr/

Serveur côté OCI (côté écoute) :

OCI VM1_a = $ iperf3 -s -p 5201
OCI VM1_b = $ iperf3 -s -p 5202
OCI VM1_c = $ iperf3 -s -p 5203
OCI VM1_d = $ iperf3 -s -p 5204
OCI VM2   = $ iperf3 -s -p 5201

Tâche 9.1 : test de la bande passante sur le circuit virtuel

Exécutez la commande suivante pour tester la bande passante maximale sur un circuit virtuel, de la machine virtuelle Microsoft Azure à OCI VM2.

$ iperf3 -c <OCIVM2 IP> -p 5201
Summary output:
[ ID]   Interval         Transfer     Bitrate         Retr
[  6]   0.00-10.00  sec  6.13 GBytes  5.27 Gbits/sec  336296  sender
[  6]   0.00-10.04  sec  6.12 GBytes  5.24 Gbits/sec          receiver

Nous voyons que nous avons utilisé la bande passante 5Gbps pour le circuit virtuel, atteignant 5.24Gbps.

Test 9.2 : Test de la bande passante IPSec combinée à l'aide d'ECMP

Exécutez la commande suivante pour tester la bande passante maximale sur les tunnels IPSec, de la machine virtuelle Microsoft Azure aux machines virtuelles 4x sur OCI en même temps.

$ iperf3 -c <OCIVM1_a IP> -p 5201 & iperf3 -c <OCIVM1_b IP> -p 5202 &
iperf3 -c <OCIVM1_c IP> -p 5203 & iperf3 -c <OCIVM1_d IP> -p 5204 &

C'est l'un des tests que nous avons effectués.

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.81 GBytes  1.56 Gbits/sec  4018   sender
[  5]   0.00-10.04  sec  1.81 GBytes  1.55 Gbits/sec         receiver

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.24 GBytes  1.07 Gbits/sec  32114  sender
[  5]   0.00-10.04  sec  1.24 GBytes  1.06 Gbits/sec         receiver

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.08 GBytes   931 Mbits/sec  1016   sender
[  5]   0.00-10.04  sec  1.08 GBytes   921 Mbits/sec         receiver

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.78 GBytes  1.53 Gbits/sec  63713  sender
[  5]   0.00-10.04  sec  1.78 GBytes  1.52 Gbits/sec         receiver

Le récapitulatif de ces exécutions de test est 5.05Gbps (1,55 + 1,06 + 0,92 + 1,52). En moyenne, le nombre d'exécutions de test est égal à 4.51Gbps.

Résultat de bande passante 1

Nous pouvons donc utiliser presque toute la bande passante réseau avec le cryptage IPsec sur un circuit virtuel OCI FastConnect.

Tâche 9.3 : tester la bande passante à l'aide d'un tunnel IPSec

Dans certains cas, ECMP ne peut pas être utilisé (non pris en charge à une autre extrémité), nous avons donc mesuré la bande passante que nous pouvons sortir d'un seul tunnel IPSec. Une machine virtuelle sur Microsoft Azure vers une machine virtuelle sur OCI.

Le tableau récapitulatif ci-dessous présente une bande passante réseau assez bonne pour un tunnel crypté IPSec.

Résultat de bande passante 1 tunnel

Nous avons maintenant montré que le client qui souhaite crypter le trafic réseau sur une liaison OCI FastConnect à l'aide du cryptage IPSec peut utiliser plusieurs tunnels VPN et augmenter la bande passante totale pour le trafic IPSec au-delà d'un seul tunnel VPN, obtenant presque la même bande passante totale que le circuit virtuel sous-jacent.

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.