it-swarm-eu.dev

VirtualBox: dvě síťová rozhraní (NAT a Host-only) u hosta Debianu na Ubuntu

Vytvořil jsem Debian VM na VirtualBoxu se dvěma rozhraními: a NAT jedno (pro přístup k internetu) a pouze pro hostitele), ale nevím jak zajistit, aby obě rozhraní fungovala současně. Pokud definuji hostitele pouze jako adaptér 1, mohu získat přístup k mému VM z hostitele, ale nikoli z internetu; pokud definuji NAT jeden jako adaptér 1, mám přístup na internet, ale nemůžu se dostat ke svému hostujícímu Debianu.

Jak tedy mohu zajistit, aby obě rozhraní fungovala společně?

Poznámka: Stále se snažím mapovat nějaký port z mého hostitele na port SSH z mého hosta, takže není třeba navrhovat, abych to udělal :)

EDITOVAT : Toto je výstup ifconfig, když je prvním adaptérem pouze host jeden:

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)

Toto je výstup netstat -nr když je prvním adaptérem pouze pro hosta jeden:

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

Toto je výstup ifconfig, když je prvním adaptérem NAT jeden:

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)

Toto je výstup netstat -nr když je prvním adaptérem NAT jeden:

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

Řešení bylo celkem jednoduché: Musel jsem přidat následující řádky do souboru /etc/network/interfaces virtuálního stroje Debianu :

allow-hotplug eth1
iface eth1 inet dhcp

Druhý řádek přikazuje rozhraní získat IP prostřednictvím DHCP. První řádek načte rozhraní v době spuštění.

Chcete-li použít změny na běžící systém, vyvolejte:

ifup eth1

Název rozhraní eth1 Se může lišit, použijte ifconfig -a Pro výpis všech dostupných rozhraní.

UPRAVIT : plný /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

S podobným problémem jsem se setkal s mým Ubuntu 14.04 VM a řešení navržené @ Brandizzi pro Debian fungovalo s malou změnou.

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

Pro UBUNTU 16.04

Spusťte příkaz

ifconfig -a

Hledejte nové rozhraní, jako v mém případě je to '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

Oba adaptéry by měly být konfigurovány v Debian

Zdá se, že v obou případech máte nakonfigurovaný pouze jeden adaptér, a proto je váš problém.

Vytvořte 2 adaptéry v konfiguraci VirtualBoxu vašeho VM a pak jej spusťte. Pokud vidíte pouze jeden nakonfigurovaný adaptér při použití ifconfig (jeden eth0, žádný eth1), měli byste použít síť konfigurační nástroj pro Debian (Network Manager, ifupdown atd.) pro konfiguraci obou rozhraní v DHCP, takže v DHCP byste měli mít eth0 a eth1.

3
Huygens

V hostiteli Ubuntu 18.04, VirtualBox 6.1, používající Ubuntu 19.04 jako host

V úpravě hosta /etc/netplan/50-cloud-init.yaml přidejte dva řádky, jak je ukázáno níže (před řádek verze). Vypadá to, že konfigurace sítě v hostu je nastavena tak, aby zpracovávala pouze jednu síť, a druhá musí být přidána ručně

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

Ujistěte se, že používáte samostatné podsítě soukromého adresního prostor pro každé rozhraní.

Například pro rozhraní, které je NAT, můžete použít adresu v prostoru 192.168.0.0/16.

Rozhraní, které je „pouze host“, může být v prostoru 10.0.0.0/24.

0
George M