Pas d'accès Internet sur les VM dans le réseau NAT dans VirtualBox

10

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

Nom Natework: NatNetwrok1
Réseau CIDR: 10.0.2.0/24
Support DHCP: activé
Support IPv6: désactivé
sans aucun transfert de port

En outre, j'ai deux machines virtuelles (les deux clones Xubuntu), j'ai défini les paramètres réseau pour activer deux cartes réseau sur chacune des machines virtuelles avec les paramètres suivants dans les quatre cartes:

Attaché à: "Réseau NAT"
Nom: "NatNetwrok1"

Lorsque je lance les deux machines virtuelles, je peux voir les paramètres suivants lors de l'exécution de la commande ifconfig

ifconfig résultats 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)

ifconfig résultats 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)

Le ping entre ces 4 IP fonctionne bien
Mais je ne peux accéder à Internet sur aucune de ces machines virtuelles. Alors que si o changer "Réseau NAT" en "NAT", je peux accéder au réseau mais il semble que ce soit devenu partie d'un réseau virtuel différent et je ne peux pas les cingler les uns des autres
Quelqu'un peut-il m'aider à identifier et à résoudre les problèmes?

Quelqu'un peut-il également expliquer quelle est la différence entre NAT et Réseau NAT

    
posée ehsan 11.08.2015 - 19:16
la source

4 réponses

5

Pourquoi ne pas travailler?

En 16.04 (et probablement 14.04), la fonctionnalité Réseau NAT de la version empaquetée principale de VirtualBox (5.0.36) correspond à bugged .

Vérifiez-le!

Vous pouvez le vérifier vous-même: si le fichier exécutable ls /usr/lib/virtualbox/VBoxNetNAT est présent, vous rencontrez peut-être un autre problème.

Corrigez-le!

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

Supprimer l’ancienne version

Par exemple, si vous avez installé apt , vous pouvez exécuter:

sudo apt remove virtualbox --auto-remove

Installer la nouvelle version

Le correctif est disponible pour les nouvelles versions (Ubuntu yakkety +). Pour les anciennes versions:

  • Visitez le site 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
    
réponse donnée MrMeszaros 20.04.2017 - 14:57
la source
5

J'ai rencontré ceci en utilisant VirtualBox 5.0.40 à partir du référentiel apt par défaut. Pour le contourner, j'ai configuré chaque VM pour utiliser deux interfaces réseau.

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

Sous le système d'exploitation guets (Ubuntu 16.04), vous devrez modifier /etc/network/interfaces pour que la seconde interface apparaisse. Dans mon cas, j'avais besoin de machines virtuelles pour utiliser des adresses IP statiques à l'intérieur du réseau NAT, c'est donc ce que j'ai eu.

## 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

Cela suppose bien sûr 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 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. Donner enp0s8 par défaut (comme 10.10.11.1) amènera le système d'exploitation à créer une route vers cette passerelle et cette route peut également vider votre accès à Internet. Vous ne devriez le faire que lorsque cette interface particulière a besoin d’itinéraires vers d’autres réseaux, mis à part celui qui lui est configuré.

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

    
réponse donnée JulioHM 13.06.2017 - 20:01
la source
2

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

  • NAT: réseau interne entre la machine virtuelle et l’hôte. En outre, vous pouvez accéder à Internet. Deux ou plusieurs machines virtuelles en mode NAT n’ont pas de connectivité entre elles, uniquement avec l’hôte et Internet.

  • Interne: toutes les machines virtuelles dotées de cette configuration seront connectées entre elles, mais pas avec l’hôte ni avec Internet.

  • Hôte uniquement: Un réseau virtuel sera créé entre l’hôte et toutes les machines virtuelles avec cette configuration, mais vous n’aurez pas accès à Internet.

  • Réseau NAT: vous pouvez accéder à toutes les machines virtuelles du même réseau NAT prédéfini et de l’hôte, mais vous ne pourrez pas vous connecter à Internet.

  • Bridged: 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 aura donc un accès Internet si votre hôte a .

  • 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 Network, mais notez que vous n'aurez pas d'accès à Internet. Le NAT est défini uniquement lorsque vous souhaitez simplement accéder à Internet depuis votre VM et rien d'autre.

Cependant, aucun de ces paramètres ne vous convient si vous souhaitez disposer d’une connectivité entre les ordinateurs virtuels et Internet. Pour autant que je sache, votre seul choix est de configurer les deux machines virtuelles en mode ponté, elles seront donc des ordinateurs «différents» sur votre réseau hôte et vous pourrez les envoyer une commande ping à tous et à Internet depuis n'importe lequel d'entre eux.

D'un autre côté, il semble que vous ayez connecté une machine virtuelle à une autre, car les deux machines ont la même adresse MAC ( HWaddr dans les informations de la commande ifconfig), sachez que vous devez cocher la case lit " Réinitialiser l'adresse MAC de toutes les cartes réseau " lors de la connexion. 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 indiquer 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 ceci .

    
réponse donnée Pablo288 12.09.2016 - 13:21
la source
2

Cela pourrait être un bogue dans VirtualBox. J'ai vécu 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 machine virtuelle peut faire un ping / SSH dans l'autre, et via des transferts de ports, je peux SSH depuis l'hôte vers chaque machine virtuelle. Mais pas d'accès à Internet depuis l'intérieur des VM. Un collègue a essayé la même chose avec un hôte Windows, VirtualBox (version inconnue) et les mêmes machines virtuelles, et cela a fonctionné.

Pour contourner ce problème, j'ai configuré une deuxième carte réseau pour chaque VM: la première utilisant NAT pour accéder à Internet, la seconde utilisant "NAT Network" pour accéder aux autres invités. J'ai dû configurer le transfert de port SSH sur la première carte (NAT) et configurer un port SSH différent sur une VM (à savoir 2222 -> 22 sur VM1, 2223 -> 23 sur VM2).

Selon la documentation , les réseaux NAT et NAT doivent pouvoir accéder à Internet. La différence est que le premier a séparé les connexions hôte host invité, de sorte que les invités ne peuvent pas accéder les uns aux autres, seulement à l'hôte. Ce dernier regroupe tous les invités dans un seul réseau (et fournit des services tels que DHCP), afin qu’ils puissent s’accéder les uns aux autres.

    
réponse donnée Ingo Karkat 22.03.2017 - 20:52
la source

Lire d'autres questions sur les étiquettes