web-dev-qa-db-fra.com

Pas d'accès Internet sur les ordinateurs virtuels dans NAT Réseau dans VirtualBox

J'ai créé un réseau NAT dans VirtulBox 5 sous Ubuntu 14.04 LTS avec les paramètres suivants

Nom de Natework: NatNetwrok1
CIDR réseau: 10.0.2.0/24
Support DHCP: activé
Support IPv6: désactivé
sans aucune redirection de port

De plus, j'ai deux ordinateurs virtuels (les deux clones Xubuntu) et j'ai défini les paramètres réseau pour activer deux cartes réseau sur chaque VM avec les paramètres suivants dans les quatre adaptateurs:

Attaché à: “Réseau NAT”
Nom: “NatNetwrok1”

Lorsque j'exécute les deux ordinateurs virtuels, les paramètres suivants s'affichent lors de l'exécution de la commande ifconfig

résultats de ifconfig sur Xubuntu1

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

résultats ifconfig sur Xubutracentu2

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Ping entre ces 4 adresses IP fonctionne bien
Mais je ne peux pas accéder à Internet sur ces machines virtuelles.
Bien que si o change “Réseau NAT” en “NAT”, je peux accéder au réseau, mais il semble que cela devienne une partie d’un réseau virtuel différent et que je ne puisse pas les cingler entre eux.
Quelqu'un peut-il m'aider à identifier et à résoudre un problème?

Quelqu'un peut-il aussi expliquer quelle différence entre NAT et réseau NAT

11
ehsan

Pourquoi ne pas travailler?

Dans 16.04 (et probablement 14.04), la fonctionnalité NAT Network de la version principale de de VirtualBox (5.0.36) est bogué .

Vérifie ça!

Vous pouvez le vérifier vous-même: si l'exécutable ls /usr/lib/virtualbox/VBoxNetNAT est présent, vous pouvez avoir un autre type de problème.

Répare le!

Ce bogue est corrigé dans les versions les plus récentes. Donc, vous devriez installer une nouvelle version:

Supprimer l'ancienne version

Par exemple, si vous avez installé à l'aide de aptname__, vous pouvez exécuter:

Sudo apt remove virtualbox --auto-remove

Installer la nouvelle version

Le correctif est disponible pour les versions plus récentes (Ubuntu yakkety +). Pour les anciennes versions:

  • Visitez la virtualbox.org et téléchargez la dernière version manuellement
  • OU
  • Utilisez le script suivant:

    # add the official repository
    wget -q -O - https://www.virtualbox.org/download/Oracle_vbox_2016.asc | Sudo apt-key add -
    echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -cs` non-free contrib | Sudo tee /etc/apt/sources.list.d/virtualbox.org.list
    # install the newer version
    Sudo apt install virtualbox-5.1
    
7
MrMeszaros

Je me suis heurté à cela en utilisant VirtualBox 5.0.40 à partir du référentiel par défaut d'apt. Pour contourner ce problème, j’ai configuré chaque VM pour utiliser deux interfaces réseau.

  • Adaptateur 1: Bridge Addapter (à votre vrai nic)
  • Adaptateur 2: NAT Réseau (de votre choix)

Sous les guets OS (Ubuntu 16.04), vous aurez besoin de Tweak /etc/network/interfaces pour que la deuxième interface apparaisse. Dans mon cas, j'avais besoin que les ordinateurs virtuels utilisent des adresses IP statiques à l'intérieur du réseau NAT, c'est donc ce que j'ai.

## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp

## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
  address 10.10.11.100
  netmask 255.255.255.0

Bien entendu, cela suppose que mon réseau NAT utilise le sous-réseau 10.10.11.0/24. Adaptez les chiffres à votre scénario ou laissez-le simplement à DHCP, comme vous le souhaitez.

REMARQUE: Une chose importante à noter dans la configuration statique est que, pour ce scénario particulier, vous NE POUVEZ PAS lui attribuer une passerelle par défaut. Si vous attribuez à enp0s8 une valeur par défaut (telle que 10.10.11.1), le système d'exploitation crée une route vers cette passerelle et cette route peut également gâcher votre accès Internet. Vous ne devriez le faire que lorsque cette interface particulière a besoin d’acheminements vers d’autres réseaux, à l’exception de celui qui lui est configuré.

Pour connaître les noms d'interface attribués par Ubuntu pour votre environnement, vous pouvez dmesg | grep eth.

enter image description here

6
JulioHM

Selon le manuel de VirtualBox, voici les possibilités de réseau pour vos machines virtuelles:

  • NAT: Réseau interne entre VM et l'hôte. De plus, vous pouvez accéder à Internet. Deux ou plusieurs machines virtuelles en mode NAT ne disposent pas de connectivité entre elles, mais uniquement avec l'hôte et Internet.

  • Interne: Tous les ordinateurs virtuels dotés de cette configuration auront une connectivité entre eux, mais ni avec l'hôte ni avec Internet.

  • Hôte uniquement: Un réseau virtuel sera créé entre l'hôte et tous les ordinateurs virtuels dotés de cette configuration, mais vous ne disposerez d'aucun accès à Internet.

  • Réseau NAT: Vous pouvez atteindre tous les ordinateurs virtuels du même réseau NAT prédéfini et de l'hôte, mais vous ne le serez pas. capable de se connecter à Internet.

  • Ponté: Votre VM sera sur le même réseau que votre hôte, comme s'il s'agissait d'un autre ordinateur/serveur de ce réseau, et ainsi, il aura accès à Internet si votre hôte en a un.

  • Générique: Configuration avancée et plus spécifique rarement utilisée.

Donc, si vous voulez créer un réseau interne avec une connectivité à l'hôte, choisissez NAT Réseau, mais notez que vous n'aurez pas d'accès Internet. NAT est défini uniquement lorsque vous souhaitez simplement un accès Internet à partir de votre VM et rien d'autre.

Cependant, aucun de ces paramètres ne vous convient si vous souhaitez avoir une connectivité entre les deux ordinateurs virtuels et Internet. Autant que je sache, votre seul choix est de configurer les deux ordinateurs virtuels en mode ponté afin qu'il s'agisse d'ordinateurs "différents" sur votre réseau hôte et que vous pourrez les envoyer à un ping et à Internet à partir de n'importe lequel d'entre eux.

D'autre part, il semble que vous ayez cloné un VM de l'autre parce que les deux machines ont la même adresse MAC ( HWaddr dans les informations de commande ifconfig), be conscient que vous devez cocher la case " Réinitialisez l'adresse MAC de toutes les cartes réseau " lors du clonage. Deux appareils avec la même adresse MAC créent toujours des problèmes.

Je ne suis pas un expert de VirtualBox, alors peut-être que d'autres utilisateurs peuvent vous dire d'autres configurations possibles pour obtenir ce que vous voulez. Je espère que vous trouverez ces renseignements utiles.

Pour plus d'informations, vous pouvez lire this .

5
Pablo288

Cela pourrait être un bogue dans VirtualBox. J'ai connu la même chose (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930): Configurez un réseau NAT, configuré pour deux machines virtuelles Ubuntu. Chaque VM peut envoyer un ping/SSH à l'autre et, via les redirections de ports, je peux SSH depuis l'hôte vers chaque machine virtuelle. Mais pas d'accès Internet depuis les machines virtuelles. Un collègue a essayé la même chose avec un hôte Windows, VirtualBox (version inconnue) et les mêmes ordinateurs virtuels, et cela a fonctionné.

Pour contourner le problème, j'ai configuré une deuxième carte réseau pour chaque ordinateur virtuel: la première utilisant NAT pour accéder à Internet, la seconde à l'aide de "Réseau NAT" pour accéder aux autres invités. Je devais configurer la redirection de port SSH sur la première carte (NAT) et configurer un port SSH différent sur une VM (222 -> 22 sur VM1, 2223 -> 23 sur VM2).

D'après la documentation , le réseau NAT et NAT devrait pouvoir accéder à Internet. La différence est que le premier a séparé les connexions hôte, de sorte que les invités ne peuvent pas accéder les uns aux autres, mais uniquement à l'hôte. Ce dernier regroupe tous les invités sur un même réseau (et fournit des services tels que DHCP), afin qu'ils puissent accéder les uns aux autres.

2
Ingo Karkat