RPN-v2

Le RPNv2 est la nouvelle version de notre réseau RPN (Real Private Network).

Il permet de s'affranchir de certaines limitations, et vous propose, notamment :

  • Plan d'adressage personnalisé au sein d'un VLAN privé
  • Réseau Ethernet (niveau 2)
  • Pas de restriction d'adresse MAC
  • Multicast
  • Etc.

Il n'est actuellement actif que sur un nombre limité de serveurs :

  • Serveurs à DC3, Salle 3-5, rangées C, D, E & F
  • Serveurs à DC3, Salle S1-1
  • Serveurs à DC2, Salle S205, Salle S101 rangées A & B, Salle S203-B
  • La majorité des serveurs de Gamme 2016 disposant du RPN (à l'exception de la XC 2016 & de la ST 18)

Il ne peut hélas pas être disponible ailleurs pour l'instant, car son utilisation nécessite un modèle spécifique de switch afin de fonctionner.

Lorsque vous créez un groupe RPNv2, un VLAN ID est assigné automatiquement.
Au besoin, vous pouvez éditer ce VLAN directement depuis votre console.
Vous pouvez utiliser le VLAN ID de 1 à 3967 en mode NORMAL; jusqu'à 10 VLAN différents.

Un mode Q-in-Q est également disponible, afin de proposer plus de VLANs pour les infrastructures plus importantes.

Toutefois, afin de garder une compatibilité optimale avec tous les futurs services que nous comptons ajouter sur le RPNv2, nous vous conseillons fortement de garder le mode NORMAL dès que possible.

Voici des exemples de restrictions :

  • Un groupe RPNv2 ne peut utiliser qu'un seule VLAN (sauf pour le mode Q-in-Q)
  • Chaque serveur peut être ajouté dans un maximum de 10 groupes
  • Chaque groupe peut posséder jusqu'à 255 serveurs

Si vous avez besoin de plusieurs VLANs sur le même serveur, vous pouvez créer plusieurs groupes, en assignant une VLAN spécifique par groupe.

Exemples de configurations

Commençons avec un exemple simple.
Nous allons configurer ici deux serveurs sur un VLAN spécifique, avec un plan d'adressage personnalisé.

Sur Debian/Ubuntu, vous aurez besoin du package vlan pour les configurer.

Sur les deux serveurs, vous devez :

  • Configurer le VLAN : vconfig add $NIC $VLANID
  • Configurer l'adresse : ifconfig $NIC.$VLANID inet $CIP/$NETMASK

Assurez-vous de personnaliser $NIC qui correspond à votre RPN NIC, $VLANID qui est le VLAN number du groupe, disponible sur votre console, $CIP qui est l'adresse IP personnalisée que vous choisissez, et $NETMASK, le NetMask de votre réseau privé.

Vous devriez ensuite être en mesure de les faire communiquer entre eux.

Configurations permanentes sur Debian/Ubuntu

Installez d'abord le package vlan : sudo apt-get install vlan

Vous devrez ensuite éditer votre fichier /etc/network/interfaces comme suit (en supposant que votre RPN NIC est eth1 et votre ID VLAN 3900) :

auto eth1 eth1.3900
iface eth1.3900 inet static
    address my.pri.vate.address
    netmask my.custom.net.mask

Configuration sur CentOS 7

En supposant que votre RPN NIC est eth1.

Vous aurez besoin d'un fichier pour l'interface parent, /etc/sysconfig/network-scripts/ifcfg-eth1:

DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=non
ONBOOT=yes

Et d'un autre fichier pour l'interface VLAN (en supposant que l'ID VLAN est 3900), /etc/sysconfig/network-scripts/ifcfg-eth1.3900:

DEVICE=eth1.3900
BOOTPROTO=none
ONBOOT=yes
IPADDR=my.pri.vate.address
PREFIX=CIDR.Netmask
NETWORK=my.private.address.0
VLAN=YES

Configuration sur FreeBSD

Editez votre fichier /etc/rc.conf, en supposant que ix0 est votre RPN NIC, et 3900 votre ID VLAN :

ifconfig_ix0="up"
cloned_interfaces="vlan3900"
ifconfig_vlan3900="inet my.pri.vate.IP/CIDR.NETMASK vlan 3900 vlandev ix0"

Bien sûr, pensez à adapter l'ID VLAN, le nom de l'interface, et la configuration du réseau selon vos besoins.

Configuration sur ESXi

Sur ESXi, vous pouvez créer des switch virtuels qui pourront communiquer directement avec l'ID VLAN correspondant.

Vérifiez d'abord vos NICs afin de voir quel est votre interface RPN. Sur cet exemple, ce sera vmnic2.

Allez ensuite dans la gestion d'interface vSwitch, et ajoutez-en un nouveau :

Nommez-le, en ajoutant le vmnic correct :

Une fois fait, allez directement sur la gestion de ports de groupe, et ajoutez un nouveau groupe :

Nommez-le, et sélectionnez l' ID VLAN correct. Sélectionnez également le bon vSwitch.

Une fois terminé, créez sur votre Virtual Machine un NIC directement lié à votre nouveau groupe, dans l'exemple RPN VM Network.
Puis configurez votre VM sur votre plan d'adressage prédéfini.

Aucune configuration VLAN supplémentaire ne sera nécessaire sur votre VM, tout est géré au niveau du vSwitch.

Configuration sur Proxmox

Sur Proxmox, comme sur ESXi, vous pouvez créer un bridge (vSwitch) directement sur le bon VLAN. Ainsi, vous n'aurez pas à faire de configuration pour votre VLAN sur votre VM.

Dans la partie réseau, ajoutez un Linux Bridge.

Créez ce pont avec un bridge_port qui sera nommé d'après votre RPN NIC, et votre ID VLAN.
Par exemple, si votre RPN NIC est eth2 et que votre ID VLAN est 3900, il faudra le nommer eth2.3900.

Une fois créé, vous aurez éventuellement besoin de reboot votre hôte.
Lors de la création d'une nouvelle VM, sur votre nouveau vmbr, vous n'aurez plus qu'à configurer le réseau sur le plan d'adressage prédéfini que vous aurez choisi !


Ainsi, votre configuration restera la même après un reboot.

Une utilisation en situation réelle pourrait être dans le cas où deux Hyperviseurs avec des VM qui auraient besoin de communiquer entre elles.
Avec ce système, ils pourront tous être sur le même VLAN, directement sur le même plan d'adressage.

Jumbo Frame (MTU 9000)

Le réseau RPN supporte nativement les Jumbo Frames, permettant de configurer vos interfaces réseau avec une MTU 9000.

Cette technologie vous permet de minimiser significativement les interruptions et latences processeur nécessaires au transfert des données. Le gain de performances peut atteindre jusqu'à +20% sur les applications intensives en ressources tels que iSCSI, NFS et DRDB.

Pour connaître la valeur actuelle du MTU taper :

  ifconfig eth2

  ifconfig eth2 | grep MTU

Pour modifier la valeur MTU à 9000

Linux

Debian / Ubuntu

Dans /etc/network/interfaces il faut ajouter :

mtu 9000

En dessous de votre configuration d'interface, après iface ethX inet static.

Centos

Dans /etc/sysconfig/network-scripts/ifcfg-ethX, où X est le numéro de votre interface, il faut ajouter :

MTU="9000"

et relancer le service réseau :

service network restart

Windows

Pour modifier la valeur MTU de l'interface réseau nous vous conseillons l'utilisation d'un logiciel qui vous permettra d'un simple clic de faire cette modification. http://www.clubic.com/telecharger-fiche305576-tcp-optimizer.html

> Lancer le logiciel
> En bas à droite, cliquez sur ''Custom''
> Dans ''Network adaptater selection' choisir la carte réseau concernée
> Dans MTU mettre à ''9000''
> Cliquez enfin sur ''Apply change''

Compatibilité RPNv1

Si certains de vos services ne sont compatibles qu'avec le RPNv1 (RPN-SAN, serveur non compatible avec le RPNv2, etc.), vous pouvez ajouter une couche de compatibilité via votre console.

Cela ne fonctionne pas encore avec le RPN-VPN, et pourrait créer des problèmes sur l'ensemble de votre groupe RPN en cas d'ajout.

Dans la console de gestion du RPNv2, cliquez sur le bouton correspondant, et sélectionnez le groupe RPNv1 qui aura les droits d'accès.
Une fois fait, vous pouvez soit redémarrer votre DHCLIENT sur vos serveurs RPNv1 afin qu'ils récupèrent les nouvelles routes, ou ajouter manuellement une route vers 10.88.0.0/14 via votre RPN Gateway préexistant.

Vous pouvez le faire avec le snippet suivant :

ip route add 10.88.0.0/14 via $RPNGW

Assurez-vous bien sûr de remplacer $RPNGW avec votre RPN Gateway actuel.

Sur les serveurs RPNv2, vous obtiendrez un sous-réseau RPNv1 utilisable sur votre ID VLAN. Si par exemple vous obtenez le bloc suivant : 10.88.101.0 /28

  • 10.88.101.1 sera votre Gateway sur le réseau RPNv1 pour le serveur RPNv2
  • 10.88.101.2-14 pourra être utilisé sur vos serveurs RPNv2

Vous pouvez configurer vos interfaces de la manière suivante dans /etc/network/interfaces :

iface eth1.3900:0 inet static
    address 10.88.101.2
    netmask 255.255.255.240

Puis ajouter la route pour l'ensemble du réseau :

ip route add 10.88.0.0/14 via 10.88.101.1

Voici un schéma du fonctionnement de l'ensemble de vos services RPN (RPNv1 et RPNv2) :

Mode Q-in-Q

Le mode Q-in-Q vous permet d'utiliser plus de VLAN qu'en mode NORMAL.

Le fonctionnement du Q-in-Q est assez simple. Il prendra les paquets que vous envoyez, avec les tags, et ajoutera son propre tag spécial dans le header du packet.
Ainsi, nous encapsulons vos tags à l'intérieur de notre propre tag, en permettant l'utilisation de plusieurs VLAN de votre côté (jusqu'à 4096 par serveur !).
Toutefois, cela rend hélas impossible l'utilisation de services additionnels sur le RPNv2.

La configuration sur votre serveur est plutôt simple.

Vous pouvez utiliser plusieurs VLAN sur chaque serveur, de la même manière qu'un seul en mode NORMAL.
Il vous suffit de configurer chaque VLAN.

Vous pouvez utiliser le mode de compatibilité avec le RPNv1 de la même manière en mode Q-in-Q qu'en mode NORMAL. Il vous suffit de configurer les IPs RPNv1 sur une interface non tagguée.