Pourquoi mes deux machines virtuelles reçoivent-elles la même adresse IP?


31

J'ai deux machines virtuelles fonctionnant toutes les deux sur un hôte Linux (Fedora 16). J'ai placé les deux adaptateurs comme attachés au NAT. Lorsque je les démarre, leur passerelle par défaut est définie sur 10.0.2.2. Ils ont également tous les deux la même adresse IP (10.0.2.15). Ils sont tous les deux sur le même adaptateur (adaptateur 1). Je ne sais pas pourquoi ils obtiennent la même adresse IP, et la passerelle par défaut ne devrait pas l'être 10.0.2.1car l'adresse du sous-réseau est 10.0.2.0et le masque de réseau est 255.255.255.0. Y a-t-il quelque chose qui me manque, est-ce déjà arrivé à quelqu'un? Comment faire fonctionner correctement le VirtualBox DHCP?


2
Ce n'est pas nécessairement vrai, il est possible de créer un "vrai" réseau NAT virtuel dans lequel plusieurs VM doivent se voir attribuer une adresse IP différente en fonction de son adresse MAC virtualisée, et la VM peut se voir derrière le réseau NAT, essentiellement pratiquement un sous-réseau entier derrière l'interface NAT. Dépend de votre choix dans la configuration de l'adaptateur réseau, si "NAT" est choisi, le NAT est une relation hôte / vm, si "NAT network" est choisi, alors c'est une relation hôte / sous-réseau dans laquelle chaque VM sur le le réseau virtualisé devra avoir des adresses IP différentes.

J'ai répondu à une question similaire ici
Mian Asbat Ahmad

Réponses:


22

VirtualBox DHCP fonctionne correctement.

Il n'y a rien de mal à ce que toutes vos machines obtiennent la même adresse dans la configuration NAT. Toutes les machines virtuelles sont isolées les unes des autres, il n'y a donc aucun risque de conflit. Ils ne sont pas non plus sur le même adaptateur. Chaque machine virtuelle possède son propre matériel virtualisé, y compris les cartes réseau.

Il n'est pas nécessaire que la passerelle par défaut soit 10.0.2.1. Bien qu'il soit courant de l'avoir à l'adresse IP inférieure, il peut s'agir de n'importe quelle adresse IP de la plage de sous-réseau.

De plus, il n'y a pas de "vrai" service DHCP, tout est codé en dur dans le code VirtualBox, bien que si vous n'êtes pas satisfait des adresses IP par défaut, vous pouvez affiner le moteur NAT .


Salut @jlliagre, est-ce vraiment un comportement attendu? Si je comprends bien, si toutes les VM ont reçu la même adresse IP, elles ne pourront pas utiliser cette interface réseau pour communiquer, non? Si tel est le cas, vous déclarez que pour un groupe de machines virtuelles, si chacune d'entre elles n'a qu'un seul adaptateur NAT, par défaut, elles ne sont pas en mesure de communiquer.
Juste un apprenant le

1
@OgrishMan Oui, c'est le comportement attendu. C'est l'une des principales raisons de NAT. Il permet à de nombreuses machines d'utiliser la même adresse IP locale. Ils ne peuvent pas communiquer directement, tout comme mon ordinateur portable ayant 192.168.1.4 comme adresse IP ne peut pas communiquer avec votre appareil, qui pourrait utiliser la même adresse IP. La principale raison pour laquelle ils ne peuvent pas communiquer est qu'ils sont de toute façon sur des réseaux locaux différents. Les machines utilisant uniquement des interfaces NAT peuvent communiquer entre elles uniquement via une passerelle tierce externe ou en utilisant un mappage de port inversé au niveau de l'hôte.
jlliagre

Merci pour l'explication! Je pense que je suis clair maintenant.
Juste un apprenant le

7

Dans le panneau de configuration de VirtualBox, allez dans Fichier -> Préférences -> Réseau

Sélectionnez l'onglet Réseaux NAT, créez un nouveau "NatNetwork" en cliquant sur le bouton + à côté et appuyez sur OK.

Sélectionnez maintenant chaque VM, allez dans Paramètres -> Réseau

Dans l'option Attaché à: choisissez NAT Network et sélectionnez "NatNetwork" et appuyez sur OK.

Redémarrez toutes les machines virtuelles.

Désormais, les VM ont une adresse réseau différente.


1
Je trouve que j'obtiens toujours les mêmes adresses IP en utilisant cette approche!
Jersey Bean

6

Vos machines virtuelles obtiendront la même adresse IP de n'importe quel service DHCP tant qu'elles auront la même adresse MAC Ethernet (une adresse matérielle, unique comme une empreinte digitale, définie par le fabricant du matériel de votre périphérique réseau).

Puisque vous exécutez des machines virtuelles, elles ont du matériel virtuel et par conséquent, elles "truquent" l'adresse MAC. Vous devez vous assurer que deux machines n'ont pas la même adresse matérielle Ethernet.

Vous pouvez définir l'adresse MAC Ethernet de votre machine virtuelle dans VirtualBox dans la section réseau matériel (elle ressemble à ceci: 3c: 08: 51: 05: 24: 8a)

Vous pouvez le vérifier dans votre VM en cours d'exécution:

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive

2
Le serveur NAT dhcp intégré à VirtualBox n'est pas un vrai. En particulier, il ne se soucie pas des adresses MAC. Dans tous les cas, plusieurs VM peuvent avoir la même adresse MAC, cela n'a pas d'importance car les réseaux virtuels sont complètement isolés.
jlliagre du

2

Ils obtiendront leur passerelle par défaut à partir du serveur DHCP - ce sera donc tout ce qui y est configuré. Vous devrez regarder le serveur DHCP pour voir ce qu'il fournit (généralement, définissez-le simplement dans la configuration du serveur pour qu'il soit ce que vous voulez qu'il soit)

En ce qui concerne les deux adaptateurs ayant la même adresse, cela est probablement dû à la configuration que vous avez définie dans Virtualbox. S'ils sont des clones, vous devrez peut-être explicitement donner à l'un une nouvelle adresse MAC.

Vérifiez les configurations réseau pour chacune et voyez si elles pensent qu'elles sont identiques.

Si différent, vous pouvez temporairement définir une IP fixe pour chacun sur le serveur DHCP (attribué par l'adresse MAC)

Jetez un œil à cette section du manuel VirtualBox pour plus d'informations.


1
Le lien que vous avez publié ne s'applique pas au NAT.
jlliagre

1

J'ai eu le même problème. Assigné Adapter2 au 2ème OS invité. Adresse Mac et Ip unique attribuée aux invités.

entrez la description de l'image ici


0

Deux paramètres doivent être modifiés.

1) Côté VM - Le logiciel client de la console VMware modifie les paramètres réseau (c'est-à-dire) ajoute un nouveau paramètre nat sur le réseau. 2) Côté machine virtuelle - Actualisez l'adresse Mac pour chaque machine virtuelle.


-1

ouvrez le paramètre réseau pour chaque vm, cliquez sur avancé> cliquez sur le bouton d'actualisation à côté de l'adr mac. Obtenez un autre sur les deux et vous êtes prêt


réponse sous-estimée
elsadek
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.