Comment permettre à un invité VirtualBox (exécutant Windows) d'accéder à Internet?

30

J'ai une machine virtuelle VirtualBox. La machine hôte exécute Ubuntu. La machine invitée (virtuelle) exécute Windows XP.

J'ai recherché ce problème sur Google, et les gens affirment qu'ils l'ont résolu en changeant le type d'adaptateur en NAT, mais il n'y a pas une telle option pour moi:

entrez la description de l'image ici

Une idée?

Mise à jour:

Cela n'a pas fonctionné non plus, après l'avoir simplement changé en NAT. Voici les paramètres actuels (avec tous les détails affichés):

entrez la description de l'image ici

Voici une capture d'écran de l'invité montrant des informations de mise en réseau:

(Veuillez noter que cette question concerne la façon de donner un accès Internet à une VM dans VirtualBox, donc la présence d'une image de Windows ne fait pas automatiquement cela hors sujet!)

entrez la description de l'image ici

Image plus grande ici.

umpirsky
la source

Réponses:

34

Configuration de NAT

NAT n'est pas une option pour le type d'adaptateur . Il s'agit plutôt d'une option pour Attaché à .

Cliquez à l'endroit où il est actuellement indiqué Bridged Adapter et vous devriez pouvoir sélectionner NAT .

Soit dit en passant, la raison pour laquelle le changer en NAT aide parfois n'est pas spécifique aux invités Windows. Au contraire, si votre PC physique (hôte) est sur un réseau local, l' adaptateur ponté (ainsi que NAT ) fonctionne généralement bien. Si votre PC physique a une connexion réseau pour un seul ordinateur - comme c'est souvent le cas s'il est branché directement sur un modem câble / DSL / RNIS qui ne possède qu'un seul port Ethernet - alors il n'y a pas de réseau local vers lequel se connecter , vous devez donc utiliser NAT .

Si vous utilisez l' adaptateur ponté et que votre ordinateur hôte se trouve sur un réseau local physique, votre ordinateur invité pourra automatiquement voir et être vu par les ordinateurs du réseau local. Si vous utilisez NAT sur un LAN, la machine invitée pourra voir les autres ordinateurs sur le LAN mais les autres ordinateurs sur le LAN (en plus de l'hôte de virtualisation) ne pourront pas le voir.

Si vous êtes intéressé par plus de détails, consultez ces articles sur le pontage réseau et la traduction d'adresses réseau .

Si cela fonctionne, tant mieux. Autrement...

Vérifiez la configuration réseau de l'invité

Dans la machine virtuelle, ouvrez la configuration des connexions réseau (à partir du panneau de configuration ou dans le menu Démarrer> Paramètres). À moins que vous n'ayez configuré manuellement plusieurs interfaces pour les machines invitées dans VirtualBox (ou que des adaptateurs réseau réels y soient connectés avec le transfert USB), vous n'en verrez qu'une, et à moins que vous n'ayez changé de nom, elle s'appellera Local Area Connexion (peut-être avec un numéro après).

Faites un clic droit dessus et cliquez sur Propriétés .

machine invitée, Connexions réseau Windows XP: c'est le premier endroit pour cliquer sur "Propriétés"

Sous La connexion utilise les éléments suivants , cliquez sur Protocole Internet (TCP / IP), puis sur Propriétés .

ordinateur invité, Windows XP "Connexion au réseau local" affichant la liste des protocoles et des services

Assurez-vous que la configuration est correcte.

Pour les connexions pontées

Si vous avez gardé la carte réseau de la machine virtuelle pontée dans VirtualBox, plutôt que de la passer en NAT, c'est comme s'il y avait un commutateur réseau de couche 2 connectant trois périphériques:

  • La machine virtuelle.
  • La machine hôte physique.
  • Quel que soit l'ordinateur hôte physique auquel il est connecté (sur la carte réseau hôte particulière qui a été pontée). Par exemple, si votre ordinateur est branché sur un routeur, c'est comme si le commutateur était branché sur le routeur. S'il est connecté sans fil à un point d'accès, c'est comme si le commutateur était un pont sans fil .

Ainsi, votre machine virtuelle est "networkologiquement" équivalente à votre machine hôte . Quels que soient les paramètres dont il dispose (sauf son adresse IP bien sûr), votre machine virtuelle devrait avoir.

Pour les connexions NAT

Si vous avez sélectionné NAT pour Attaché à dans VirtualBox, c'est comme si votre véritable ordinateur se comportait comme un petit routeur domestique / professionnel . Votre machine hôte exécute un serveur DHCP accessible uniquement aux machines virtuelles VirtualBox, et l'invité en obtient toutes les informations de configuration réseau.

Le serveur DHCP VirtualBox fournit une adresse IP et les informations DNS à l'invité, donc à la fois de ces deux options devraient être sélectionnées:

  • Obtenez une adresse IP automatiquement
  • Obtenir automatiquement l'adresse du serveur DNS

ordinateur invité, paramètres Windows XP TCP / IP, onglet Général

Telle est la clé.

C'est le problème particulier, pour le système dans cette question. Si c'est le seul problème avec la configuration, résoudre ce problème devrait résoudre entièrement le problème.

Vous avez des paramètres manuels plutôt que DHCP.

Cela peut fonctionner, mais les paramètres manuels doivent être corrects, et vous devez également vous assurer que l'IP ne se trouve pas dans la plage d'adresses IP à partir de laquelle votre routeur attribue (ou il pourrait y avoir une collision avec un autre appareil sur le réseau).

Dans ce cas, les paramètres manuels ne sont pas corrects du tout, car:

  1. L'adresse IP de la machine hôte sur l'interface réseau via laquelle elle fournit une connexion Internet à l'invité n'est pas la même que son adresse IP sur le réseau physique. Même si l'adresse IP de votre ordinateur est 192.168.1.1 "dans la vraie vie", l'invité ne peut pas y accéder de cette façon.

    • Plus probablement, si vous le configurez de cette façon vous-même, vous pensiez peut-être que vous devriez mettre l'adresse IP de votre routeur domestique / bureau réel (qui est souvent 192.168.1.1) comme passerelle par défaut et serveur DNS principal.

    Mais l'invité ne peut pas accéder directement au routeur NAT physique sur votre bureau (ou ailleurs), car toutes les données transmises entre la machine virtuelle et le routeur réel doivent passer par le routeur de la machine virtuelle, et le routeur de la machine virtuelle est votre ordinateur (accessible via ce réseau virtuel spécial interface).

  2. Étant donné que la passerelle par défaut est incorrecte, aucun routage ne se produit et la machine virtuelle ne peut accéder à aucun périphérique réseau physique en dehors de votre ordinateur.

  3. Étant donné que l'adresse IP de la machine virtuelle est en dehors de la plage correcte (qui est généralement 10.2.2. *) Et que le masque de sous-réseau est 255.255.255.0, elle ne peut pas accéder à la plage correcte. (Le masque de sous-réseau est correct, mais avec l'IP, il identifie le mauvais sous-réseau.)

  4. Le serveur DNS doit également être fixe ou aucun hôte ne peut être consulté via leurs noms de domaine (comme askubuntu.com).

Si, pour une raison quelconque, vous devez utiliser une "IP statique", c'est-à-dire ne pas utiliser DHCP, vous devrez alors obtenir les informations correctes de VirtualBox et les saisir. Veuillez me faire savoir si vous avez besoin d'aide à ce sujet (je peux l'étendre pour inclure des instructions).

En supposant que DHCP vous convient, vous pouvez résoudre le problème en créant votre protocole Internet (propriétés TCP / IP) , les paramètres de l'onglet Général ressemblent à la capture d'écran ci-dessus.

Toujours pas de connexion Internet? Il est temps de dépanner

Il peut être utile de rassembler plus d'informations du côté des invités. Dans le système Windows XP virtualisé qui ne se connecte pas mystérieusement à Internet, installez les compléments invité VirtualBox (en cliquant sur Périphériques > Installer les compléments invité ; consultez le manuel pour plus d'informations). Redémarrez et voyez si vous pouvez vous connecter à Internet. Si vous ne le pouvez pas, vous avez quand même accompli quelque chose d'utile, car vous pouvez maintenant copier et coller entre les presse-papiers invité et hôte.

Ouvrez donc l'invite de commande dans Windows. Pour ce faire, vous pouvez exécuter:

Démarrer> Exécuter ...> cmd.exe

Exécutez maintenant cette commande pour obtenir des informations sur les interfaces réseau et les connexions du système invité Windows.

ipconfig /all

Copiez ensuite tout le texte de l'invite de commandes dans le presse-papiers. Cette fonctionnalité est accessible dans le menu contextuel affiché en cliquant avec le bouton droit n'importe où dans la fenêtre d'invite de commandes. Vous pouvez ensuite modifier votre question sur votre système hôte Ubuntu sur lequel vous disposez d'une connexion Internet fonctionnelle et la coller.

  • Plus généralement, pour les personnes autres que le demandeur de cette question:

    Vous pouvez ensuite le coller dans des applications de votre système hôte Ubuntu, ce qui vous permet de vous y référer lorsque votre machine virtuelle Windows est suspendue / désactivée. Vous pouvez le fournir à quiconque essaie de vous aider. Vous pouvez l'inclure dans votre propre question ici sur Ask Ubuntu

    (Cependant, si votre problème de réseau est dans l'installation virtuelle, plutôt que le matériel virtuel ou le logiciel VirtualBox - par exemple, si votre machine virtuelle a bien accédé à Internet jusqu'à ce que vous ayez installé un logiciel Windows autre que les ajouts d'invités - alors votre problème serait probablement considéré comme hors sujet pour Ask Ubuntu. Il serait probablement sur le sujet pour Super User cependant.)

Eliah Kagan
la source
2
J'ai changé d'obtention IP et DNS automatiquement et cela a fonctionné! Votre réponse était exacte et détaillée, merci beaucoup pour cela, je suis sûr que ce sera une ressource très utile pour d'autres personnes ayant des problèmes similaires. J'ai accepté votre réponse et commencé une prime, je vous ajouterai 100 de ma réputation actuelle après 24h. Merci!
umpirsky
A toujours besoin d'un TL; dr. BTW, vous dépannez Windows!
Braiam
Merci et que Dieu vous bénisse au nom de Jésus! La réponse a beaucoup aidé! La commutation (en utilisant NAT) vers DHCP des deux côtés a résolu le problème!
lexeme
@Eliah, Vous avez déclaré " si vous utilisez NAT sur un LAN, la machine invitée pourra voir les autres ordinateurs sur le LAN ". Comment est-ce possible? L'invité ne pourrait-il pas seulement voir l'hôte et chaque connexion doit passer par l'hôte?
Pacerier
@Pacerier No. Ceci est analogue à la situation où vous branchez un routeur NAT à un autre routeur NAT qui donne accès à Internet. Supposons que l'ordinateur A se trouve derrière le routeur NAT X, et que l'ordinateur B et le routeur NAT X se trouvent derrière un autre routeur NAT Y, qui donne accès à des périphériques sur Internet tels que l'ordinateur C. Cela permet à A (et B) d'adresser C tout en conservant C et même B d'adresser A. Mais cela permet également à A d'adresser B. Du point de vue de B, A est caché derrière X. Du point de vue de A, B n'est pas du tout caché - B, comme Y, est un hôte sur le réseau que A peut accéder via la passerelle X.
Eliah Kagan
10

Cette solution a parfaitement fonctionné pour moi (OS hôte: Ubuntu 14.04; OS invité: Windows XP SP3):

Sélectionnez « PCnet-PCI II (Am79C970A) » dans «NAT» -> «Avancé» -> «Type d'adaptateur».

timfrostmann
la source
1
A travaillé sur Windows 7 en tant qu'hôte et Windows XP en tant qu'invité
Musa Haidari
A travaillé sur Windows 8.1 en tant qu'hôte et Ubuntu 14.04 en tant qu'invité
user11153
@frostmann, pourquoi ça marche?
Pacerier
travaillé ... dans win8
chandil03
fonctionne également dans WinXP!
Trung Ta
4

NAT est dans la liste déroulante Attaché à .

Le type d'adaptateur est avancé et ne doit pas être changé dans la plupart des cas.

Bridged devrait également fonctionner correctement, mais vous devez ajuster l'interface réseau. Le nom doit être défini sur votre interface Internet sur votre machine hôte (très probablement wlan pour le sans fil, eth pour ethernet).

rosch
la source