« Virtualbox : Créer un Réseau Local Virtuel » : différence entre les versions
mAucun résumé des modifications |
mAucun résumé des modifications |
||
Ligne 46 : | Ligne 46 : | ||
''suivre le lien pour voir l'image'' | ''suivre le lien pour voir l'image'' | ||
''Schéma : Réseau local virtuel (virtualbox) composé de l'hôte (10.0.0.1) utilisant l'interface vboxnet0 connecté à 2 machines virtuelles VM1 (10.0.0.2) et VM2 (10.0.0.3) connectées via leurs interface enp0s8'' | |||
Version du 11 décembre 2019 à 11:51
2019-12-11 Cette page est en cours d'édition
voir : la version initiale sur le forum
But
Créer un réseau local virtuel
entre l'Hôte (notre PC qui fait tourner Virtualbox)
et les VM (machines virtuelles)
Cela p.ex pour utiliser des VM "serveur"
afin de simuler un hébergement distant
pour développer des sites web
dans des conditions assez similaires à la réalité
— sur un vrai serveur (distant) connecté à Internet.
Principe de la mise en place du réseau
ATTENTION : Cette notion est capitale !
Virtualbox (plateforme de virtualisation)
permet de créer sur le PC (hôte) physique des cartes réseau virtuelles.
C'est à dire que l'on rajoute une interface réseau (virtuelle) à notre PC.
Cette nouvelle interface va être utilisée pour se connecter le PC aux machines virtuelles
qui auront été configurées pour ce réseau local virtuel.
Le réseau virtuel est donc composé du PC et d'au moins une VM
Voilà pour le principe de base.
Cela reste à tester, mais il doit être possible de créer plusieurs réseaux virtuels distincts,
car Virtualbox supporte la création de plusieurs de ces interface virtuelles.
Mise en pratique
Tout ce qui suit, sera réalisé dans l'interface graphique de Virtualbox
mais cela doit être également réalisable en ligne de commande.
Voici le réseau qui va être mis en place :
http://pix.toile-libre.org/upload/img/1576011133.png suivre le lien pour voir l'image
Schéma : Réseau local virtuel (virtualbox) composé de l'hôte (10.0.0.1) utilisant l'interface vboxnet0 connecté à 2 machines virtuelles VM1 (10.0.0.2) et VM2 (10.0.0.3) connectées via leurs interface enp0s8
Créer un réseau local virtuel
Il s'agit d'un réseau local interne entre l'Hôte (notre PC qui fait tourner Virtualbox)
et les VM (machines virtuelles)
Principe mise en place
du réseau
Ce que j'ai eu du mal à
comprendre
Virtualbox (plateforme de virtualisation)
permet de créer sur le PC (hôte) physique des cartes réseau
virtuelles.
C'est à dire que l'on rajoute une interface réseau (virtuelle) à
notre PC,
qui va être utilisée par l'utilisateur du PC (moi)
pour se connecter aux machines virtuelles
qui auront été configurées pour ce réseau local virtuel.
Le réseau virtuel est donc composé du PC et d'au moins une VM
Voilà pour le principe de base.
À ce stade, je ne me suis pas penché sur
la possibilité (ou non) de créer plusieurs réseaux virtuels
distincts.
Passons maintenant à la pratique
comme je ne suis pas rompu à l'utilisation de vbox en ligne de commande,
tout ce qui suit, est réalisé dans
l'interface graphique de Virtualbox (gui vbox).
Voici le réseau que je vais mettre en
place
<a href="http://pix.toile-libre.org/?img=1576011133.png" class=
"postlink"><img src=
"http://pix.toile-libre.org/upload/img/1576011133.png" class=
"postimage" alt="Image"></a>
Création de l'interface virtuelle sur le PC (hôte)
Dans l'interface graphique de Virtualbox (gui vbox)
Ouvrir le Gestionnaire de réseau hôte => bouton : "Créer"
Si c'est la 1ère interface créée elle est nommée : vboxnet0
Cocher Configurer manuellement
et configurer comme suit :
Interface
- IPv4 : 10.0.0.1
- Masque IPv4 : 255.255.255.0
- IPv6 : laisser la valeur pré-assignée
- longueur préfixe : 64
Server DHCP
- Cocher Activer
- Adresse serveur : 10.0.0.100
- Masque serveur : 255.255.255.0
- Limite inférieure : 10.0.0.101
- Limite supérieure : 10.0.0.254
puis Appliquer
ce qui donne les captures suivantes :
<a href="http://pix.toile-libre.org/?img=1576012302.png" class=
"postlink"><img src=
"http://pix.toile-libre.org/upload/img/1576012302.png" class=
"postimage" alt="Image"></a>
<a href="http://pix.toile-libre.org/?img=1576012412.png" class=
"postlink"><img src=
"http://pix.toile-libre.org/upload/img/1576012412.png" class=
"postimage" alt="Image"></a>
à ce stade l'interface est créée,
les commandes :
$ sudo ifconfig -a
et
ls /proc/net/dev_snmp6/
montre bien : vboxnet0
Il faut maintenant
ajouter les VM au réseau.
J'ai donc déjà créé mes 2 serveurs virtuels (debian)
- debwebserv1
- debwebserv2
VM
arrêtée
La configuration se fait par l'interface de configuration de la VM
sélectionnée dans la liste :
Configuration ( ou [Ctrl+S] ) > Réseau
Par défaut Interface 1 est
déjà configurée en Réseau NAT ; elle permet l'accès à Internet
<a href="http://pix.toile-libre.org/?img=1576000449.png" class=
"postlink"><img src=
"http://pix.toile-libre.org/upload/img/1576000449.png" class=
"postimage" alt="Image"></a>
Normalement cela fonctionne dès la création de la VM,
donc on n'y touche pas.
On va activer l'Interface 2 pour donner accès au
réseau virtuel basé sur vboxnet0
pour cela :
- Cocher Activer
- Sélectionner le mode : Réseau privé hôte
- dans ce mode on choisit (Nom) : vboxnet0
- Le type d'interface PCnet-FAST III est recommandée pour Linux mais les autres types doivent aussi fonctionner
- Promiscuité : indifférente (à vérifier)
- MAC par défaut ou nouvelle aléatoire si nécessaire
- Câble branché (coché)
ça donne :
<a href="http://pix.toile-libre.org/?img=1576000873.png" class=
"postlink"><img src=
"http://pix.toile-libre.org/upload/img/1576000873.png" class=
"postimage" alt="Image"></a>
les 2 VM sont configurées à l'identique avec des MAC différentes
Il faut ensuite Lancer les VM et
configurer leurs interfaces avec p.ex :
$ sudo nano /etc/network/interfaces
pour obtenir quelque-chose dans ce genre :
Code : <a href="#" onclick= "selectCode(this); return false;">Tout sélectionner</a>
<code class="" data-lang= ""># This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enp0s3 iface enp0s3 inet dhcp # Carte réseau N°2 activée par toto auto enp0s8 iface enp0s8 inet static address 10.0.0.2 netmask 255.255.255.0 </code>
la commande :
ls /proc/net/dev_snmp6/
permet de vérifier le nom des interfaces existantes.
Dans le schéma du réseau joint au début de cet exemple les IP du
réseau sont :
- 10.0.0.1 pour le PC → vboxnet0
- 10.0.0.2 pour la VM 1 → debwebserv1
- 10.0.0.3 pour la VM 2 → debwebserv2
Ici j'ai opté pour des IP static car c'est ce que je sais faire
et qui me semble le plus simple d'utilisation.
Une fois le fichier /etc/network/interfaces
enregistré,
il faudra redémarrer le service réseau pour que la config soit
prise en compte,
avec :
$ sudo systemctl restart
networking.service
On refait la même opération sur la VM
2 en lui assignant : 10.0.0.3
Maintenant, si tout s'est bien passé,
les VM devraient être accessibles depuis le PC avec respectivement
- 10.0.0.2 pour la VM 1 → debwebserv1
- 10.0.0.3 pour la VM 2 → debwebserv2
p.ex : $ ssh toto@10.0.0.2
ou
avec : $ lynx 10.0.0.3
à condition que le serveur SSH
soit fonctionnel sur VM 1
et qu'un serveur HTTP soit
opérationnel sur VM 2
Pour finir et si on veut pouvoir accéder aux sites web servis par
les VM
depuis un navigateur tournant sur le PC,
alors sur le PC on pourra éditer : /etc/hosts
en ajoutant des lignes correspondant aux domaines des sites p.ex
Code : <a href="#" onclick= "selectCode(this); return false;">Tout sélectionner</a>
<code class="" data-lang=""># VM de VirtualBox # Utiliser 10.0.0.2 pour tous les domaines sur debwebserv1 10.0.0.2 debwebserv1.virt debwebserv1 10.0.0.2 forum1.virt forum1 10.0.0.2 forum2.virt forum2 # Utiliser 10.0.0.3 pour tous les domaines sur debwebserv2 10.0.0.3 debwebserv2.virt debwebserv2 10.0.0.3 site-perso.virt site-perso </code>
Ce qui permet de passer ces adresses directement dans le navigateur
p.ex:
$ lynx <a href="http://site-perso.virt" class=
"postlink">http://site-perso.virt</a>
pour avoir un aperçu du résultat.
<img class="smilies" src=
"https://www.debian-fr.xyz/images/smilies/006.gif" alt=":006:"
title="Salut!" width="25" height="29">