Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I created a Debian VM on VirtualBox with two interfaces: a NAT one (for accessing internet) and a host-only one. However, I do not know how to make both interfaces work at the same time. If I the define the host-only as the adapter 1, I can access my VM from the host but not the internet; if I define the NAT one as adapter 1, I can access the internet but cannot reach my guest Debian.

So, how could I make both interfaces work together?

Note: I am still trying to map some port from my host to the SSH port from my guest SO, so there is no need to suggest me to do it :)

EDIT: This is the output of ifconfig when the first adapter is the host-only one:

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)

This is the output of netstat -nr when the first adapter is the host-only one:

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

This is the output of ifconfig when the first adapter is the 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)

This is the output of netstat -nr when the first adapter is the 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
share|improve this question

3 Answers 3

up vote 9 down vote accepted

The solution was pretty simple: just add the following lines in Debian virtual machine's /etc/network/interfaces file:

allow-hotplug eth1
iface eth1 inet dhcp

The second line instructs the interface to obtain an IP via DHCP. However, doing it would only work after I've called ifup eth1. So I added the first line, which would load the interface at boot time.

EDIT: full /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
share|improve this answer
1  
I can confirm. Debian doesn't setup the second interface in /etc/network/interfaces. Fixed my problem, thanks. For potential debugging, this is two virtio interfaces provided by Virtualbox. One is the NAT interface used for internet access (NATs are provided individually by vbox), the other is a host-only network with DHCP in a completely different private IP class. Debian version tested 6.0.6 x64. –  davolfman Nov 17 '12 at 0:42
    
can you please post your whole /etc/network/interfaces please. Have been struggling with this for 2 days now. –  John Nicholas Apr 1 at 9:19
    
@JohnNicholas done. Note that you should edit the guest /etc/network/interfaces file. –  brandizzi Apr 1 at 18:54
    
cheers, mine was the same. My problem was that when i had the NAT adapter first in vbox the other (host) adapter would try to use the dhcp server on that adapter and all would go wrong. When I ordered the adapters in vbox as host only then NAT all started to work (irrespective of their ordering in linux interestingly enough). Netctl didn't have this problem in another vm. –  John Nicholas Apr 16 at 9:56

Both adapter should be configured in Debian

It seems that in both case you only have one adapter configured, hence your problem.

Create 2 adapters in the VirtualBox configuration of your VM and then start it. If you see only one configured adapter when using ifconfig (a single eth0, no eth1 too), then you should use the network configuration tool for Debian (Network Manager, ifupdown, etc.) to configure both interface in DHCP. So you should have eth0 and eth1 in DHCP.

share|improve this answer

Ensure you are using separate Private Address space subnets for each interface.

So for example, for the interface that is NAT, you could use an address in 192.168.0.0/16 space.

The interface that is 'host only' could be in the 10.0.0.0/24 space.

share|improve this answer
    
Well, they are separated (my NAT space is 10.0.2.0/24 and my NAT is 192.168.56.0/24). –  brandizzi Apr 23 '12 at 18:58
    
Can you edit your question to include the output of ifconfig and netstat -nr so we can see how the interfaces and routing are configured? –  uther Apr 23 '12 at 19:45
    
Ok, I added the output of the commands to the question. –  brandizzi Apr 24 '12 at 13:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.