• 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 13/11/2023

Faites communiquer vos machines entre elles

Par défaut, lorsque vous créez une VM, une carte réseau virtuelle lui est affectée, lui permettant d’accéder à Internet dans la plupart des cas. Cependant, il se peut que tout cela ne fonctionne pas automatiquement. Vous devrez alors le configurer. :)

Je vous propose ici un tableau qui récapitule les usages les plus adaptés pour chaque mode réseau.

Mode réseau

Exemple d’utilisation

NAT

Vous souhaitez utiliser une seule VM et télécharger sur cette VM des applications, faire des mises à jour, surfer sur Internet.

Accès par pont

Vous souhaitez que votre VM devienne un serveur web et donc qu’elle soit vue sur le réseau comme une machine physique avec sa propre adresse IP, accessible depuis l’extérieur.

Réseau interne

Vous utilisez plusieurs VM pour simuler des réseaux privés qui n’ont pas d’accès vers l’extérieur ni vers la machine hôte.

Réseau NAT

Même type d’utilisation que pour le NAT, avec plusieurs VM qui souhaitent pouvoir communiquer entre elles (impossible avec le mode NAT classique).

Réseau privé d’hôte

Similaire au réseau interne, mais permettant aussi une communication avec l’hôte.

Maintenant que vous avez bien compris tous les modes réseaux, nous allons revenir à notre cas pratique du premier chapitre. Le contexte était le suivant : vous êtes développeur dans une petite entreprise et vous travaillez sur une application multiplateforme qui sera utilisée en interne uniquement. L’entreprise dispose de machines Android, Windows et Linux et vous souhaitez tester si votre application fonctionne correctement dans cet environnement complexe, sachant que pour fonctionner elle doit pouvoir :

  • envoyer régulièrement des requêtes aux autres machines ;

  • récupérer les mises à jour de sa base de données depuis un serveur distant accessible via une URL.

Étape 1 : Création des VM

Nous allons créer ici 3 VM :

  • 1 VM Ubuntu ;

  • 1 VM Windows 10 ;

  • 1 VM Android.

Pas besoin de créer une nouvelle VM Ubuntu ni Android : vous pouvez utiliser celles que vous avez créées dans le chapitre précédent.

Vous pouvez trouver le disque VM Windows 10 ici et lancer la VM comme nous l’avons fait dans le chapitre précédent.

Étape 2 : Configuration réseau

Mode “NAT”

Par défaut, comme nous l’avons déjà évoqué, le mode réseau choisi est NAT. Cela permet aux VM d’aller sur Internet (si leur hôte est connecté à Internet), mais pas de communiquer entre elles.

                                                   

Nous pouvons déjà vérifier cela en regardant l’adresse IP affectée à chaque VM.

Vous remarquez que nos 3 VM ont pour adresse IP : 10.0.2.15, et qu’elles sont capables d’aller sur Internet. Cela signifie aussi qu’elles sont bien sur 3 réseaux distincts, car il est impossible d’affecter la même adresse IP à 3 machines sur le même réseau.

Mode “Réseau interne”

Pour que la communication se fasse entre les VM, le plus simple est de les mettre toutes sur un réseau interne en utilisant le mode “Réseau interne”.

                                            

Pour cela, éteignez votre VM et rendez-vous dans la partie Configuration réseau.

Dans “Mode d’accès réseau”, sélectionnez “Réseau interne” et laissez le nom par défaut ou choisissez-en un autre.

Dans la partie “Avancé”, vous remarquez que vous pouvez aussi modifier certains paramètres :

  • Type de carte. Le modèle de carte réseau virtuelle que verra votre VM ;

  • Mode Promiscuité. Permet à la carte de voir tous les paquets qui transitent sur le réseau, et pas seulement ceux qui lui sont destinés. Option à activer uniquement dans des cas très spécifiques de tests réseau.

  • Adresse MAC. L’adresse MAC de votre carte réseau virtuelle.

Pas besoin de modifier ces paramètres dans notre cas.

Si vous démarrez vos VM maintenant, vous verrez qu’aucune IP ne leur a été attribuée. En effet, elles sont bien sur le même réseau, mais aucun serveur DHCP n’est sur ce réseau, il faut donc leur affecter une IP manuellement.

Faisons la configuration pour la VM Windows (192.168.100.1) et la VM Ubuntu (192.168.100.2) et voyons le résultat avec un ping :

Les 2 machines communiquent
Les 2 machines communiquent

Cependant en mode “Réseau interne”, elles ne peuvent pas accéder à Internet, et elles sont invisibles depuis un autre réseau.

Mode “Accès par pont”

Si vous voulez autoriser vos VM à accéder à Internet, communiquer entre elles et être vues depuis l’extérieur, le mode d’accès par pont est la solution.

                       

Retournez donc dans la configuration réseau de chaque VM lorsque celles-ci sont éteintes, et choisissez le mode “Accès par Pont”.

Vous remarquez qu’il vous est demandé de choisir l'une des cartes réseau de la machine hôte. Choisissez celle qui permet à votre machine hôte d’accéder à Internet.

Démarrez ensuite vos VM, et une fois lancées, vérifiez bien dans chaque OS que vos machines sont configurées en DHCP pour récupérer automatiquement une adresse IP.

Vos VM vont ainsi toutes récupérer automatiquement une adresse IP sur le même réseau que votre machine hôte.

La preuve ici : toutes mes machines sont sur le réseau 192.168.42.0/24, y compris ma machine hôte (en haut à gauche).

Elles peuvent donc toutes communiquer entre elles, mais aussi aller sur Internet :

Ici l’hôte communique avec la VM Ubuntu, la VM Ubuntu avec la VM Android et la VM Windows avec Google.
Ici, l’hôte communique avec la VM Ubuntu, la VM Ubuntu avec la VM Android et la VM Windows avec Google.

Ce mode est parfait dans le cadre de notre cas pratique, car il répond à nos 2 contraintes :

  • l’application en beta test doit pouvoir régulièrement émettre des requêtes à destination de toutes les autres machines du parc ;

  • l’application doit pouvoir mettre à jour sa base de données automatiquement grâce à un serveur distant accessible via une URL.

Nous venons de voir les principaux modes réseaux. Avec cela, vous devriez pouvoir couvrir la plupart des cas de figure.

Résumé : Pour les tests, choisissez l’hyperviseur de type 2

Vous venez de voir qu’on peut faire pas mal de choses avec les hyperviseurs comme VirtualBox, installer tous types d’OS, même Android ou MacOS. Les options de mises en réseau laissent aussi beaucoup de liberté pour créer des réseaux simples.

Alors, la prochaine fois que vous devez tester un OS, une application ou une architecture réseau simple, n’hésitez pas utiliser un hyperviseur de type 2.

Exemple de certificat de réussite
Exemple de certificat de réussite