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 | Configuration automatique des adresses IP (DHCP) | Exemple d’utilisation |
NAT | oui | 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 | oui (si un serveur DHCP est présent dans le réseau physique | 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 | non | 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 | oui | 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 | oui | Similaire au réseau interne, mais permettant aussi une communication avec l’hôte. |
Parmi tous ces modes réseau, seul le mode “Réseau Interne” ne fournit par une adresse IP à la carte réseau associée. Cela signifie que si vous choisissez ce mode réseau, vous allez devoir configurer vous-même une adresse IP si vous souhaitez communiquer avec d’autres machines. Si vous n’êtes pas tout à fait à l’aise avec les adresses IP et l’univers des réseaux, n’hésitez pas à consulter le cours “Concevez votre réseau TCP/IP” et notamment le chapitre sur comment indentifier votre machine au sein de plusieurs réseaux.
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 11 ;
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 ici le disque VM Windows 11 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 :
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. Dans mon cas, il s’agit de la carte “Intel(R) Wi-Fi 6 AX201 160Mhz”. Ce choix permet de lier la carte réseau virtuelle de la VM à la carte réseau physique de votre hôte.
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 :
Ce mode est parfait dans le cadre de notre cas pratique, car il répond à nos 3 contraintes de communication.
Mode “Réseau privé hôte”
Enfin un autre mode peut être beaucoup utilisé c’est le mode “Réseau Privé hôte”. Il fait la même chose que le mode accès par pont, mais avec la communication vers Internet en moins.
Ce mode, contrairement au mode Accès par Pont, n’utilise pas la carte réseau physique de votre machine hôte mais une carte virtuelle qui a été crée à l’installation de VirtualBox : la carte nommée “VirtualBox Host-Only Network”. C’est grâce à elle que vos VMs pourront communiquer avec votre hôte, dont le réseau par défaut sera souvent 192.168.56.0/24.
Nous venons de voir les principaux modes réseaux. Avec cela, vous devriez pouvoir couvrir la plupart des cas de figure.
À vous de jouer !
Imaginez que vous êtes en charge de développer une application d’authentification compatible Linux. Vous allez devoir tester votre application sur une VM car votre machine de travail est sous Windows 10. Or cette application a besoin de communiquer régulièrement avec :
Les autres machines du parc informatique
Internet pour mettre régulièrement à jour la base de données des utilisateurs
Pour des raisons de sécurité, le serveur DHCP de votre entreprise met toutes les machines virtuelles dans une liste noire et refuse donc de leur attribuer des adresses IP.
Déterminez la configuration réseau de votre VM pour réaliser ces tests.
Avez-vous fini ? Comparez votre travail avec la correction ici.
Conclusion : 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.
En résumé
Lorsque vous configurez le réseau de votre VM, utilisez le mode NAT pour permettre l'accès à Internet. Ce mode est idéal pour des tâches comme la navigation web et les mises à jour logicielles.
Le mode Pont permet à votre VM d'être vue sur le réseau comme une machine physique, facilitant ainsi l'hébergement de serveurs accessibles depuis l'extérieur.
Si vous avez besoin de communication privée entre plusieurs VMs, choisissez le mode Réseau interne. Dans ce mode, configurez manuellement les adresses IP car il ne fournit pas de DHCP.
Après avoir maîtrisé VirtualBox, voyons comment effectuer les mêmes manipulations sous macOS avec VMWare Fusion Pro : installation, création de VM et mise en réseau des VMs.