web-dev-qa-db-fra.com

Configuration de l'invité vmware Ubuntu NAT

J'ai un hôte Windows qui exécute l'invité Ubuntu VM via vmplayer. Cette machine virtuelle sera clonée, distribuée entre plusieurs personnes (sous Windows) et utilisée pour organiser un atelier de programmation. J'essaie - et jusqu'à présent j'échoue - de configurer le réseau pour répondre aux exigences suivantes:

  1. Le client doit avoir accès à Internet
  2. Tous les clones doivent avoir le même nom d’hôte (disons que Workshop est concret)
  3. Le système hôte doit pouvoir accéder à son invité respectif via ce nom (par exemple . Ping Workshop enverrait une requête ping à l'invité qui s'exécute sur cet hôte et non à un autre. cloner)

Ce que j'ai essayé jusqu'à présent:

  • "Installé" une carte réseau NAT pour l'invité
  • J'ai essayé de connecter l'invité via DHCP, dans /etc/network/interfaces :

    auto eth0
    iface eth0 inet dhcp
       hostname Workshop
    

Cela fonctionne dans la mesure où la connexion à Internet est concernée. Cependant, je ne parviens pas du tout à me connecter à l'invité de l'hôte. (Par exemple atelier de ping ne fonctionne pas; si j'utilise l'adresse renvoyée par ifconfig cela ne fonctionne pas non plus de l'hôte).

  • J'ai ensuite essayé d'attribuer une adresse statique à l'invité:

    auto eth0
    iface eth0 inet static
         address 172.241.0.101
         netmask 255.255.0.0
         gateway 172.241.0.100
    

(172.241.0.100 correspond à l'adresse attribuée de manière statique à l'hôte par l'adaptateur VMNet8 du réseau VMWare - il s'agit de l'adaptateur NAT ci-dessus). Maintenant, je peux envoyer une requête ping à 172.241.0.101 et lui envoyer un telnet depuis l'hôte. Je peux aussi envoyer une requête ping et un telnet depuis l'invité au 172.241.0.100 (l'hôte), mais c'est à peu près tout: il n'y a pas de connexion au réseau plus large. (Je ne peux pas non plus accéder à l'invité via son nom d'hôte, mais ce n'est pas crucial ici car si Push vient à bout, je peux utiliser son adresse directement - à condition que ce soit la même chose pour tout le monde - et pas le nom).

Maintenant, je pense que je peux utiliser l'option de connexion réseau pontée avec DHCP et cela me donnera ce dont j'ai besoin dans le cas d'un VM (je ne l'ai pas essayé dans ce cas, mais je me souviens de l'avoir fait auparavant) . Cependant, dans le cas où plusieurs ordinateurs virtuels ayant le même nom d'hôte et leurs hôtes connectés au même réseau poseraient problème, n'est-ce pas?

Vos solutions et autres conseils seront très appréciés.

9
malenkiy_scot

Tout d'abord, vous ne pourrez pas utiliser une connexion réseau pontée, car tous les invités auront le même nom d'hôte. Vous devrez donc utiliser NAT.

Une partie de la configuration est correcte, cependant, votre problème devrait provenir de la passerelle par défaut que vous avez attribuée à l'invité. La passerelle par défaut, lorsque vous utilisez NAT, n'est pas l'adresse IP de l'hôte, c'est l'adresse IP d'un "commutateur virtuel" connecté au réseau NAT. (L'adaptateur VMnet8 de l'hôte est simplement un autre périphérique connecté au réseau, pour permettre à l'hôte de communiquer avec la machine virtuelle.) Ce commutateur virtuel dont nous parlons obtient l'adresse IP .2 dans le sous-réseau. Donc, dans votre cas, votre /etc/network/interfaces devrait se lire comme suit:

auto eth0
iface eth0 inet static
     address 172.241.0.101
     netmask 255.255.0.0
     gateway 172.241.0.2

Cela devrait permettre à votre invité VM d'accéder à Internet (via 172.241.0.2) et de communiquer avec votre hôte (172.241.0.100). Alors essayez-le et laissez-moi savoir si cela fonctionne.

Si cela ne fonctionne pas (très peu probable), alors vous devez savoir quelle est l'adresse IP du commutateur virtuel. Ce que vous pouvez faire est de laisser le VM obtenir une adresse IP via DHCP (c.-à-d. Le changer en iface eth0 inet dhcp comme vous l’aviez auparavant), puis faire route -n. Cela devrait vous montrer la passerelle par défaut qu'il utilise. Utilisez cette adresse IP dans votre configuration statique.


Pour pouvoir envoyer une requête ping à l'invité VM à l'aide de son nom d'hôte Workshop , voici ce que vous pouvez faire. Vous devez ajouter une entrée dans le fichier hosts de Windows, situé dans C:\Windows\System32\drivers\etc\hosts. Éditez ce fichier pour inclure la ligne suivante à la fin:

Cependant, pour éditer ce fichier sous Windows, vous devez l’ouvrir en tant qu’administrateur dans Notepad ou Wordpad ... et parfois, il ne vous permet même pas de le sauvegarder. Vous devrez donc en prendre une copie quelque part, éditez-le. supprimez l’extension .txt si vous en avez une, et remplacez l’originale par la suivante, et confirmez-la ... oh, comme j’aime Linux. Quoi qu'il en soit, voici la ligne que vous devez ajouter:

172.241.0.101    Workshop

Une fois que cela est fait, vous devriez être capable de ping Workshop à partir de votre hôte Windows.

Bien entendu, pour pouvoir déployer cela dans votre atelier, vous devez éditer le fichier hosts dans chaque hôte Windows, à moins que vous ne cloniez également les machines Windows.

Astuce : puisque vous allez attribuer une adresse IP statique à votre invité, assurez-vous que le "réseau NAT" dans VMplayer sur tous vos hôtes Windows utilise le sous-réseau 172.241.0.0/16, car je pense que VMware attribue de manière aléatoire un sous-réseau à ses réseaux virtuels (VMnet1, 2, etc.). Il est donc possible que VMnet8 ne l'utilise pas. le même sous-réseau sur un autre hôte Windows. Si ce n'est pas le cas, vous devrez attribuer manuellement un sous-réseau à VMnet8 à l'aide de l'éditeur de réseau virtuel de VMware.


MODIFIER

D'accord. Après les commentaires, voici ce que vous devez faire:

  1. Configurez votre ordinateur hôte (Windows) pour "obtenir automatiquement l'adresse IP" sur l'adaptateur VMnet8. Il devrait obtenir l'IP 192.168.186.1.
  2. Configurez votre ordinateur invité (Ubuntu) sur une adresse IP statique dans la plage 192.168.186.3 - 192.168.186.127. Utilisons 192.168.186.3. En outre, configurez la passerelle par défaut et le serveur DNS sur 192.168.186.2. Ainsi, votre /etc/network/interfaces devrait être:

    auto eth0
    iface eth0 inet static
         address 192.168.186.3
         netmask 255.255.255.0
         gateway 192.168.186.2
         dns-nameservers 192.168.186.2
    
  3. Testez la connectivité locale en envoyant une requête à 192.168.186.1 et 192.168.186.2 à partir de l'ordinateur invité. Vous devriez également pouvoir envoyer une requête ping de l'hôte à l'invité.

  4. Testez la connectivité Internet sur l'ordinateur invité en effectuant une requête ping google.com ou en naviguant sur Internet.
  5. Ajoutez la ligne 192.168.186.3 Workshop à votre fichier hosts sur la machine hôte Windows.
  6. Testez ping Workshop à partir de la machine hôte Windows.

Si vous souhaitez utiliser des adresses IP appartenant à un réseau/pool totalement différent de 192.168.186.0/24, vous devez accéder à Edit > Virtual Network Editor dans VMware, rechercher VMnet8 et modifier les paramètres DHCP situés tout en bas en sélectionnant le réseau souhaité. IPs en conséquence (la passerelle par défaut sera toujours la deuxième adresse IP utilisable, x.x.x.2).

enter image description here

8
Alaa Ali

J'avais un problème similaire, en utilisant VMWare Player sous Windows 7 avec des invités Ubuntu. Mais j’ai pu me connecter d’hôte à invité et d’hôte à hôte, mais le problème était que je n’étais pas capable de me connecter à Internet à partir de l’invité. Après avoir lu @Alaa answer, je devais créer un Tweak supplémentaire pour ajouter le nom du serveur DNS au fichier d'interface (dns-nameservers 192.168.150.2), puis tout était en ordre.

Voici ma configuration qui a fonctionné.

Configuration de l'interface VMWare sur l'hôte:

Adaptateur Ethernet VMware Network Adapter VMnet8: (Client)

Connection-specific DNS Suffix  . : 
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::9c13:cbf2:1dc:259f%42(Preferred) 

IPv4 Address. . . . . . . . . . . : 192.168.150.1(Preferred) 
Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 
DHCPv6 IAID . . . . . . . . . . . : 704663638
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-06-50-32-88-53-2E-7A-D3-8E
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                    fec0:0:0:ffff::2%1
                                    fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled 

L'interface de l'invité Ubuntu change:

auto eth0
iface eth0 inet static
address 192.168.150.10
netmask 255.255.255.0
gateway 192.168.150.2
dns-nameservers 192.168.150.2

192.168.150.2 est le proxy de VMWare qui transférerait le trafic des invités vers l'hôte.

3
Kingsly