Note :

Maximiser la bande passante IPSec à l'aide d'Oracle Interconnect pour Microsoft Azure

Présentation

Le cryptage est important et ce tutoriel vous montrera comment activer le cryptage 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 à faible latence de 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 pour Azure), l'ajout du chiffrement à partir des tunnels IPSec et montrera également comment optimiser la bande passante sur les tunnels IPSec, car cela peut être un facteur limitatif pour certains cas d'utilisation.

Note : IPSec en plus d'OCI FastConnect n'est pas limité à cette interconnexion Oracle pour Azure, elle peut être utilisée sur n'importe quel OCI FastConnect. Je viens de l'utiliser pour ce tutoriel.

Objectifs

Créez des tunnels chiffrés sur l'interconnexion Microsoft Azure/OCI pour valider la bande passante de réseau possible sur les tunnels IPSec combinés. Pour trouver l'emplacement où cela est possible, voir 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 cryptage sur les liens réseau, et ce tutoriel est pour ceux-ci.

Nous allons créer 8 tunnels IPSec sur un circuit virtuel pour utiliser toute la bande passante sur la connexion chiffré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 trafic chiffré sur un circuit virtuel privé dédié peut également être appliquée à notre interconnexion à Google Cloud et aux connexions FastConnect entre les connexions sur place et OCI, mais la configuration variera.

Conception de réseau logique

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

Dans les mises en oeuvre du monde réel, 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 concernant l'autorisation uniquement du trafic chiffré.

Conception de réseau logique

Bande passante avec IPSec

Les tunnels IPSec chiffrent et déchiffrent le trafic aussi rapidement qu'ils le peuvent, mais sont liés aux protocoles d'algorithmes de chiffrement pris en charge par les deux points d'extrémité qui construisent les tunnels. Des cycles d'UC sont nécessaires pour chiffrer/décrypter, ce qui limitera la quantité de trafic pouvant passer le tunnel par seconde. Pour surmonter cette limite par tunnel, il est possible de créer plusieurs tunnels et d'utiliser l'ECMP (Equal Cost Multi-Pathing), qui peut acheminer des paquets sur plusieurs tunnels si les deux extrémités prennent en charge l'ECMP.

Note : Un seul flux de réseau n'utilisera qu'un seul tunnel. Pour utiliser ECMP, vous devez répartir la charge sur différents terminaux/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 détaillée du réseau

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

Configuration détaillée du réseau

Flux de trafic

Pour autoriser uniquement le trafic chiffré entre Microsoft Azure vNET et VCN1 et autoriser le trafic non chiffré vers VCN2, nous avons des 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éalables

Tâche 1 : Préparation

Voici quelques informations à connaître lors de la configuration de la préparation.

Passerelle ExpressRoute Microsoft Azure

Nous avons utilisé une UDS ultra-performante 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 UDS des passerelles ExpressRoute, voir https://learn.microsoft.com/en-us/azure/expressroute/expressroute-about-virtual-network-gateways.

Passerelle RPV Microsoft Azure

Nous avons choisi une UGS de passerelle VPN 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 déploierons est également 5Gbps. Pour plus d'informations, voir À propos des UDS de passerelle RPV. En ce qui concerne la passerelle VPN, une chose importante est d'activer l'IP privée. Il n'était pas possible d'activer l'adresse IP privée lors du déploiement à partir du portail Microsoft Azure. Il était donc nécessaire de créer d'abord une passerelle RPV avec une adresse IP publique, puis d'activer les adresses IP privées après le déploiement.

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

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

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

Point de départ

Tâche 2 : Créer des tables de routage et importer les répartitions de routage

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

  1. Allez à la console OCI, naviguez jusqu'à Réseau, Connectivité client, Passerelle de routage dynamique, Passerelle DRG et cliquez sur votre passerelle DRG.

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

    • Table de routage VCN1.
    • Table de routage VCN2.
    • Table de routage de circuit virtuel.
    • Table de routage IPSec.
    • VCN1 routes d'importation.
    • VCN2 routes d'importation.
    • Routes d'importation du circuit virtuel.
    • IPSec routes d'importation.

    Laissez toutes les tables de routage et les répartitions de routage d'importation vides.

Tâche 3 : Affecter une répartition correcte des routes d'importation à chaque table de routage

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

Mappage

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

Affectation

Tâche 4 : Créer Oracle Interconnect pour Azure

Suivez cette documentation : Configuration d'une connexion.

Une exception est que la documentation n'explique pas les nouvelles fonctionnalités pour autoriser le trafic IPSec uniquement ou autoriser tout le trafic.

Interconnexion

Comme 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 est le même.

Tâche 5 : Spécifier les tables de routage pour OCI FastConnect et les réseaux en nuage virtuels

Comme la valeur par défaut est d'utiliser les tables de routage générées automatiquement pour chaque attachement, nous devons les remplacer par celles que nous avons créées.

Nom de l'attachement Table de routage DRG
FastConnect Fichier joint VC Table de routage de circuit virtuel
Fichier joint VCN1 Table de routage VCN1
Fichier joint VCN2 Table de routage VCN2

Pour ce faire, nous devons modifier les fichiers joints. Cliquez sur chacun des fichiers joints, sur Modifier et sur Afficher les options avancées, puis sélectionnez la table de routage DRG pour chacun.

Table de routage DRG pour l'attachement de VCN

Le VCN doit se présenter comme suit :

Attachements de VCN - tables de routage

Le circuit virtuel doit se présenter comme suit :

Attachements de VCN - tables de routage

Tâche 6 : Créer des tunnels RPV IPSec

La connexion RPV site-à-site OCI utilise une adresse IP à une extrémité distante (équipement local d'abonné (CPE) du point de vue OCI) et une adresse IP par tunnel à l'extrémité principale OCI. Pour la session BGP (Border Gateway Protocol), nous devons ajuster un peu la configuration pour utiliser les deux tunnels pour chacune des quatre connexions RPV que nous allons configurer.

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

    Pour voir l'adresse IP privée de la passerelle RPV côté Microsoft Azure, vous devez cliquer sur Voir plus. Ceci sera utilisé pour mettre fin au VPN côté Microsoft Azure.

    adresse IP privée 1

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

    adresse IP privée 2

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

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

    APIPA BGP

  3. Créer un appareil CPE dans OCI. Maintenant que nous connaissons l'adresse IP privée du CPE sur le site Microsoft Azure, qui sera utilisée pour tous les tunnels RPV, nous allons créer une représentation virtuelle du dispositif CPE dans Microsoft Azure, dans OCI, avec l'adresse IP privée et nous devons activer Autoriser IPSec sur FastConnect. Pour l'activer, allez à Réseau, Connectivité client, puis cliquez sur Équipement local d'abonné.

    Créer un CPE

  4. Créer un RPV site à site dans OCI.

    Allez à Réseau, Connectivité client, RPV site à site et cliquez sur Créer une connexion IPSec.

    Comme nous avons activé IPSec sur OCI FastConnect sur le CPE, de nouvelles options s'affichent et nous devons les spécifier.

    • Adresse IP principale d'Oracle (adresse IP distincte pour chaque tunnel, voir le tableau suivant pour cette configuration).
    • Circuit virtuel associé (identique pour tous les tunnels).
    • Table de routage pour le tunnel IPSec (identique pour tous les tunnels dans cet exemple).

    IPSec sur les paramètres FC

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

    Azure CPE IP Nom de la connexion RPV Nom du tunnel OCI Adresse IP privée de l'en-tête 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

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

    Nom de la connexion RPV Nom du tunnel Azure APIPA BGP IP 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 RPV à Microsoft Azure, utilisez la documentation standard, à partir de Créer une connexion IPSec et souvenez-vous de la configuration spéciale ci-dessus pour IPSec sur OCI FastConnect. Pour plus d'informations, voir Connexion RPV à Azure.

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

Tâche 7 : Créer une passerelle de réseau local (LNG) dans Microsoft Azure

Le GNL est la représentation virtuelle du point d'extrémité RPV dans OCI. Créez 8 GNL avec les paramètres indiqués dans le tableau suivant.

GNL

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

Nom Adresse IP du point d'extrémité Numéro ASN Adresse IP du pair 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 RPV.

Représentation de la connexion RPV

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

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

    Connexion RPV 2

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

    Connexion RPV 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 appropriés. Les adresses IP BGP que nous avons utilisées dans la tâche 6.

    Connexion RPV 4

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

    Connexion RPV 5

    Vérifiez dans OCI :

    Connexion RPV 6

Tâche 9 : Tester la connexion

Il est maintenant temps de voir comment cela fonctionne. Nous testons 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 autorise uniquement le trafic IPSec et une machine virtuelle dans un autre VCN qui autorise le trafic non chiffré au moyen de Microsoft Azure ExpressRoute/OCI FastConnect.

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

Nous comprenons que la latence du réseau aura une incidence sur la bande passante, mais comme nous voulions capturer la différence entre avec et sans IPSec, elle ne sera pas perceptible. Le but ici n'est pas de montrer la bande passante maximale, c'est de comprendre l'impact d'avoir le 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 RPV ne peut pas saturer le circuit virtuel 5Gbps que nous avons pour l'interconnexion. Nous utiliserons donc ECMP pour répartir le trafic au moyen de différents tunnels RPV vers des points d'extrémité, chacun ayant des adresses IP et des ports différents auxquels il répond. C'est normalement le cas également dans le monde réel, de nombreux points d'extrémité sources communiquent avec de nombreux points d'extrémité de destination.

Tester la configuration 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 : Tester la bande passante sur le circuit virtuel

Exécutez la commande suivante pour tester la bande passante maximale sur le 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 pouvons voir que nous avons utilisé la bande passante 5Gbps pour le circuit virtuel, obtenant 5.24Gbps.

Test 9.2 : Tester 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 fait.

[ 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 sommaire de ces exécutions de test est 5.05Gbps (1,55 + 1,06 + 0,92 + 1,52). Si nous prenons une moyenne sur les exécutions de test, nous avons obtenu 4.51Gbps.

Résultat de bande passante 1

Nous pouvons donc utiliser la quasi-totalité de la bande passante de réseau avec le chiffrement IPsec sur un circuit virtuel OCI FastConnect.

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

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

Voici le tableau récapitulatif montrant une bande passante de réseau relativement bonne pour un tunnel chiffré IPSec.

Résultat de bande passante 1 tunnel

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

Remerciements

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

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