Comprendre la mise en réseau / internet dans un hyperviseur

Les serveurs dédiés ont le vent en poupe, notamment puisque les prix ne cessent de diminuer, en plus d’avoir de plus en plus d’offres un peu partout dans le monde.

Il existe une multitude de réponses /d’arguments sur les bienfaits d’avoir un dédié – ce n’est pas le but de cette documentation. Ici, vous comprendrez et apprendrez la théorie quant à l’obtention de l’internet dans un serveur dédié via une seule carte réseau physique et une IP « failover ». L’objectif de l’article est simple : obtenir internet sur des machines virtuelles à l’intérieur d’un hyperviseur.


0. Prérequis

Avant de vous lancer dans la configuration de votre serveur dédié, vous devez au préalable connaître et utiliser convenablement certains principes et protocoles :

  • Les masques de sous-réseau ;
  • Le routage statique ;
  • Le NAT.

Naturellement, vous devrez avoir tous les accès sur votre serveur dédié. De plus, ayez à proximité votre compte client chez votre hébergeur – quelques configurations devront être effectuées via l’interface client.Les manipulations à effectuer sont volontairement décrites aux maximum, pour que vous puissiez percevoir et comprendre toutes les facettes de la situation – Ayez donc une petite heure devant vous pour bien tout comprendre et effectuer les recherches complémentaires si besoin est.

J’ai délibérément choisis Proxmox pour sa facilité et sa souplesse d’utilisation. Sachez que cet article convient aussi aux hyperviseurs ESX(i) et Hyper-V – la logique reste la même, les interfaces sont justes différentes.


I. Le serveur dédié et ses IP

Lors de la location de votre serveur dédié, vous disposerez d’un accès à votre console virtuelle (pour administrer le serveur comme si vous étiez devant), l’adresse IP publique de votre serveur et rien d’autre pour le moment.Pour cette documentation, l’IP publique de mon serveur dédié de test sera « 205.205.205.205 ». Vous ne pourrez pas changer cette adresse – en effet, elle vous est attribuée automatiquement par l’hébergeur. Cette IP (provenant d’un bloc d’IP) a été préalablement louée par votre hébergeur et vous en donne donc un tout petit bout. Elle (l’IP publique) servira uniquement d’accès via le web à votre serveur dédié. Veillez donc à la garder précieusement et ne pas la divulguer à n’importe qui.

Selon votre hébergeur, vous aurez plus ou moins des accès complémentaires sur votre serveur. Ainsi, certains hébergeurs vous permettront d’accéder au système interne du serveur dédié (HP iLO, Dell IDRAC…). Les configurations de ces systèmes peuvent être modifiés mais attention /! ils sont déjà pré-configurés et prêts à l’emploi pour / dans tous les cas. Les modifications seront donc à vos risques et périls – de plus, selon les conditions d’utilisations énoncées sur les sites des hébergeurs, fréquemment, les erreurs de configuration seront à vôtre charge…


Les serveurs dédiés ont plusieurs cartes réseaux, toutefois vous ne pourrez pas avoir accès à toutes ces cartes. C’est une volonté de la part des hébergeurs que de fournir une seule carte réseau – je n’ai pas d’explication à ce sujet. Il n’y a qu’une seule carte réseau qui est connectée, dont l’adresse IP est l’adresse IP publique. C’est cette carte réseau qui va nous servir plus tard à être le point d’entrée/sortie de notre routeur dans l’hyperviseur.

La notion d’IP Failover est souvent évoquée chez les hébergeurs. Il s’agit d’une adresse routable que vous pouvez devez louer. C’est grâce à cette IP Failover que vous aurez accès à l’internet dans votre réseau local dans votre serveur dédié… Étrange n’est-ce pas ?En fait, l’adresse IP publique de votre serveur ne peut pas être utilisée pour obtenir l’internet dans vos VM. Il faut utiliser une autre adresse IP appelée « failover » (à tord d’ailleurs…) ; Cette adresse deviendra l’IP de votre routeur. De plus, cette IP Failover doit être accompagnée d’une adresse MAC virtuelle – cette adresse est obligatoire à avoir, sans elle vous ne pourrez pas obtenir l’accès à l’internet « via » cette IP Failover. Ici, l’IP Failover de démonstration sera « 10.10.10.10 ». Des explications complémentaires seront apportées plus bas dans la documentation.

Il n’y a pas d’autres point spécifiques sur l’hyperviseur à ce niveau – la dernière étape consiste en l’installation d’un système d’exploitation. Je ne vais pas expliquer l’installation d’un hyperviseur dans cet article.


II. Configuration réseau théorique de Proxmox

Une fois votre hyperviseur installé et mis à jour, il faut commencer avant-tout la partie réseau. Il n’est pas conseillé de créer des machines virtuelles tant que l’architecture réseau interne de votre Proxmox n’est pas mise en place.

Bien que j’utilise l’hyperviseur « Proxmox », la logique sera la même pour un VMware ESX, un Hyper-V ou encore un CoreOS…

L’objectif à accomplir est simple sur le papier : avoir l’accès à l’internet depuis un réseau LAN à l’intérieur du serveur Proxmox.En pratique, il y a quelques manipulations à effectuer pour avoir cet accès.

Proxmox utilise les « Linux Bridge« , c’est-à-dire un « pont réseau« . Il va falloir au minimum deux ponts réseaux :

  • Un pont depuis la carte physique du serveur dédié (vmbr0) ;
  • Un pont vers aucune carte réseau, permettant la création d’un LAN (vmbr1).

Pour ce faire, voici le type d’architecture qu’il faut mettre en place :

Explications

  • « vmbr0 » correspond au pont qui a l’accès à l’internet. « vmbr1 » correspond au LAN à l’intérieur de notre serveur Proxmox. Ce vmbr ne sera relié à aucune carte réseau physique.
  • Le routeur (j’utiliserai pfSense) aura deux cartes réseaux, l’une sur vmbr0, l’autre sur vmbr1.
  • Les machines virtuelles auront une carte réseau « connectée » sur vmbr1 uniquement.

PS : Sachez qu’il est possible de créer plusieurs autres réseaux – cette facette sera vu dans un autre article.

Le routeur va « nater » la connexion internet de votre serveur dédié à l’intérieur de votre serveur dédié et inversement (c’est son rôle après tout…). Les machines virtuelles ne sont pas visibles depuis l’extérieur (l’internet) et bénéficieront de l’internet grâce au routeur « central ». En somme, l’internet va transiter via votre routeur pour aller vers vos machines virtuelles.

De base, votre Proxmox aura déjà un premier pont de créé nommé « vmbr0 » : il s’agit d’un pont fait entre votre carte réseau physique actuellement connectée (et ayant l’accès à l’internet) et un premier réseau LAN « fictif ». Si vous mettez une VM en direct sur cette carte vmbr0, vous n’aurez pas l’accès à l’internet, à moins de lui mettre l’IP Failover…


III. Configuration réseau pratique de Proxmox

La théorie est vue, passons à la première étape assez « lourde » : la pratique.Ayez bien vos adresses IP à disposition, prenez votre temps et notez le plus possible ce que vous faites.

Il faut donc créer un Linux Bridge, la procédure se fait assez simplement.Dans la « Vue serveurs« , cliquez sur le nom de votre serveur (dans mon cas, « pve ») – au milieu de la fenêtre, cliquez sur « Réseau« . Un bouton « Créer » doit apparaître, cliquez dessus – dans la liste déroulante, sélectionnez l’option « Linux Bridge« .

Une fenêtre va alors s’afficher – ce sont les paramètres à saisir pour ce nouveau réseau.Il y a plusieurs choses à remplir et d’autres pas :

  • Name : Il s’agit du nom du bridge – par défaut, c’est un
  • IP address + Subnet mask : Le pont doit avoir une IP et son masque correspondant, sans quoi la création ne peut s’initier.
  • Il n’est pas nécessaire de remplir les autres cases du formulaire, puisque cette « carte réseau » n’aura pas d’accès internet à proprement parlé. De plus, il ne faut absolument pas saisir le nom d’une carte réseau physique dans le « bridge ports ».

Une fois les modifications effectuées, vous pouvez cliquer sur le bouton « Create » – l’interface va alors se mettre à jour, et vous trouverez ci-dessous ce genre d’informations :

Comme l’annonce Proxmox, il faut redémarrer intégralement le serveur pour pouvoir prendre en compte les modifications et donc activer la/les nouvelle(s) interface(s). Une fois le redémarrage effectué, vous pourrez passer à la création et la configuration de la machine virtuelle qui fera office de routeur !


IV. Exemple de configuration de la VM « routeur » dans le serveur dédié

Pour rappel, nous souhaitons obtenir internet dans un réseau LAN « privé », qui est « caché » derrière une VM faisant office de routeur & pare-feu.

Pour ce faire, vous devez impérativement utiliser une machine virtuelle de type KVM. En effet, il est beaucoup plus simple d’utiliser et de supporter une distribution faite pour le routing plutôt que de s’embêter à faire de l’iptables (ou ufw) à foison…J’utilise le système d’exploitation « pfSense », que je trouve fiable, robuste en plus d’être précis et pointu. Grâce à son interface web, il est possible de faire une multitude de solutions réseaux via de simples clics ! Libre à vous par la suite d’utiliser un autre système.

Lors de la création de la VM, il convient de respecter certains points :

  • Créer deux cartes réseaux pour cette machine virtuelle
    • La première carte réseau doit être en « bridge » sur « vmbr0 » et disposer de la MAC address virtuelle.
    • La seconde carte réseau doit être en « bridge » sur « vmbr1 » – il s’agit du « LAN »
  • Mettez au moins 15 Go d’espace disque sur votre VM, vous aurez ainsi un minimum de place pour stocker vos logs – utile si vous mettez des protections comme « Snort » ou « pfBlockerng »
  • Pour des performances optimales (dans le cas de pfSense), il faut utiliser au minimum 1 Go de RAM – 2 Go est idéal.

L’installation de pfSense et de sa configuration ne sera pas vu dans cet article.Il convient de faire du NAT et même du PAT dans ce routeur. La VM faisant office de routeur est la VM « critique » : c’est elle qui sera visible sur le net.

Le NAT est nécessaire à mettre en place, puisque la connexion internet doit passer d’une interface à l’autre et de deux réseaux IP différents.Le PAT quant à lui sera à mettre en place si vous souhaitez accéder à des services / ports spécifiques d’une de vos VM de votre réseau LAN – Exemple : Si vous avez un serveur web dans une de vos VM, il conviendra de faire une redirection (dans le routeur) du port 80 côté WAN vers le port 80 côté LAN, vers l’IP de la VM ayant le serveur web. Ainsi, en accédant à votre IP Failover, si un de vos service est « naté » ou « paté », le flux transitera vers le service concerné de la VM.


Internet VERS réseau LAN

LAN VERS internet


V. Configurations IP des réseaux

Comme dit précédemment, votre machine routeur aura d’un côté l’IP Failover (et son adresse MAC) sur sa partie WAN, tandis que l’IP du réseau local sera celle que vous souhaiterez. L’IP de votre serveur dédié n’a aucune importance, il n’impactera pas les réseaux.

Exemple de configuration

  • IP serveur dédié = 205.205.205.205
  • IP vmbr0 = 10.10.10.11
  • IP vmbr1 = 172.16.255.254/16 (pas d’importance, vous n’êtes pas obligé de mettre une IP)
  • IP WAN du routeur (pfSense dans l’exemple) = 10.10.10.10 (ne pas oublier la MAC virtuelle attribuée par l’hébergeur)
  • IP LAN du routeur (pfSense dans l’exemple) = 172.16.0.1/16
  • IP LAN d’une VM = 172.16.10.205/16

Il est conseillé d’utiliser une IP dans le réseau de votre IP Failover sur votre vmbr0, celui qui est en pont sur l’interface « eth0 » de votre serveur.


VI. Avantages, inconvénients et limites

Avantages

  • Location d’une seule IP Failover pour un réseau « privé » entier, donc internet pour toutes les VM dans le réseau privé
  • Possibilité de mettre un nom de domaine « sur l’IP »

Inconvénients

  • Complexité de gestion si vous mettez de nombreux services accessibles sur le net (par exemple, 3 serveurs web distincts, sur une seule et même IP)
  • Complexité de mise en place de l’IPv6 (pour peu que vous ayez un bloc à votre disposition)

Limites

  • L’adresse IP Failover ne peut être mise en place que sur un seul routeur, donc que pour un seul réseau LAN
  • L’IP Failover ne peut pas être utilisée pour plusieurs machines.

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment vos données de commentaires sont traitées.

Close
Close