web-dev-qa-db-fra.com

VirtualBox: deux interfaces réseau (NAT et Host-only) dans un invité Debian sur Ubuntu

J'ai créé une Debian VM sur VirtualBox avec deux interfaces: une NAT une (pour accéder à Internet) et une hôte uniquement. Cependant, je ne sais pas comment faire fonctionner les deux interfaces en même temps. Si je définis l'hôte uniquement comme l'adaptateur 1, je peux accéder à mon VM à partir de l'hôte mais pas d'Internet; si je définis le NAT un en tant qu'adaptateur 1, je peux accéder à Internet mais je ne peux pas atteindre mon invité Debian.

Alors, comment pourrais-je faire fonctionner les deux interfaces ensemble?

Remarque: J'essaie toujours de mapper un port de mon hôte sur le port SSH de mon SO invité, il n'est donc pas nécessaire de me suggérer de le faire :)

EDIT : Ceci est la sortie de ifconfig lorsque le premier adaptateur est le Hôte uniquement un:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:495 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48187 (47.0 KiB)  TX bytes:38222 (37.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

Ceci est la sortie de netstat -nr lorsque le premier adaptateur est hôte uniquement un:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

Il s'agit de la sortie de ifconfig lorsque le premier adaptateur est le NAT one:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6076 (5.9 KiB)  TX bytes:5526 (5.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1664 (1.6 KiB)  TX bytes:1664 (1.6 KiB)

Ceci est la sortie de netstat -nr lorsque le premier adaptateur est le NAT one:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0
50
brandizzi

La solution était assez simple: je devais juste ajouter les lignes suivantes dans la machine virtuelle Debian /etc/network/interfaces fichier:

allow-hotplug eth1
iface eth1 inet dhcp

La deuxième ligne demande à l'interface d'obtenir une IP via DHCP. La première ligne charge l'interface au démarrage.

Pour appliquer les modifications à un système en cours d'exécution, appelez:

ifup eth1

Le nom du eth1 l'interface peut varier, utilisez ifconfig -a pour répertorier toutes les interfaces disponibles.

MODIFIER : complet /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp
50
brandizzi

J'étais confronté à un problème similaire avec ma machine virtuelle Ubuntu 14.04, et la solution suggérée par @brandizzi pour Debian a fonctionné avec peu de changement.

EDIT: file /etc/network/interfaces:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

Pour UBUNTU 16.04

Exécuter la commande

ifconfig -a

Cherchez une nouvelle interface comme dans mon cas c'est 'enp0s8'

EDIT file /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet dhcp  
11
Pandurang Patil

Les deux adaptateurs doivent être configurés dans Debian

Il semble que dans les deux cas, vous n'avez qu'un seul adaptateur configuré, d'où votre problème.

Créez 2 adaptateurs dans la configuration VirtualBox de votre VM puis démarrez-le. Si vous ne voyez qu'un seul adaptateur configuré lors de l'utilisation d'ifconfig (un seul eth0, pas eth1 aussi), alors vous devez utiliser le réseau outil de configuration pour Debian (Network Manager, ifupdown, etc.) pour configurer les deux interfaces dans DHCP. Vous devriez donc avoir eth0 et eth1 dans DHCP.

3
Huygens

Dans l'hôte Ubuntu 18.04, VirtualBox 6.1, en utilisant Ubuntu 19.04 comme invité

Dans l'invité modifier /etc/netplan/50-cloud-init.yaml fichier, ajoutez deux lignes comme indiqué ci-dessous (avant la ligne de version). Il semble que la configuration réseau de l'invité ne soit configurée que pour gérer un réseau et que le second doit être ajouté manuellement

network:
    ethernets:
        enp0s3:
            dhcp4: true
        enp0s8:
           dhcp4: true
    version: 2
2
vkt

Assurez-vous que vous utilisez des sous-réseaux d'espace d'adressage privés séparés pour chaque interface.

Ainsi, par exemple, pour l'interface NAT, vous pouvez utiliser une adresse dans l'espace 192.168.0.0/16.

L'interface qui est "hôte uniquement" pourrait se trouver dans l'espace 10.0.0.0/24.

0
George M