Network unreachable on Ubuntu guest after trying to set up a host only network on Virtualbox

1

1

I have a Mac OS X host and a bunch of guests including Ubuntu and Arch Linux. I was trying to set up a host-only network at eth1 to let me ssh into the system. But now eth0 isn't working properly either. Ubuntu can no longer connect to remote hosts or browse the internet. It tells me that the network is unreachable. What's gone wrong here? I've included some diagnostics below.

$ifconfig
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:10968 errors:0 dropped:0 overruns:0 frame:0
        TX packets:10968 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0 
        RX bytes:897264 (897.2 KB)  TX bytes:897264 (897.2 KB)

Other diagnostic commands and the output:

$sudo lspci -n
00:00.0 0600: 8086:1237 (rev 02)
00:01.0 0601: 8086:7000
00:01.1 0101: 8086:7111 (rev 01)
00:02.0 0300: 80ee:beef
00:03.0 0200: 8086:100e (rev 02)
00:04.0 0880: 80ee:cafe
00:05.0 0401: 8086:2415 (rev 01)
00:06.0 0C03: 106B:003F
00:07.0 0680: 8086:7113 (REV 08)
00:0D.0 0106: 8086:2829 (REV 02)


$sudo lshw -c network                                                                                                      
*-network DISABLED      
description: Ethernet interface
product: 82540EM Gigabit Ethernet Controller
vendor: Intel Corporation
physical id: 3
bus info: pci@0000:00:03.0
logical name: eth0
version: 02
serial: 08:00:27:7d:22:df
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 66MHz
capabilities: pm pcix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.21-k8-NAPI duplex=full firmware=N/A latency=64 link=no mingnt=255 multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:19 memory:f0000000-f001ffff ioport:d010(size=8)



$lsmod 
Module                  Size  Used by
nls_utf8               12557  1 
isofs                  40257  1 
vboxsf                 43743  2 
vesafb                 13844  1 
snd_intel8x0           38570  2 
snd_ac97_codec        134869  1 snd_intel8x0
ac97_bus               12730  1 snd_ac97_codec
snd_pcm                97275  2 snd_intel8x0,snd_ac97_codec
snd_seq_midi           13324  0 
snd_rawmidi            30748  1 snd_seq_midi
snd_seq_midi_event     14899  1 snd_seq_midi
rfcomm                 47604  0 
snd_seq                61929  2 snd_seq_midi,snd_seq_midi_event
bnep                   18281  2 
bluetooth             180113  10 rfcomm,bnep
ppdev                  17113  0 
psmouse                97519  0 
snd_timer              29990  2 snd_pcm,snd_seq
joydev                 17693  0 
snd_seq_device         14540  3 snd_seq_midi,snd_rawmidi,snd_seq
vboxvideo              12622  1 
serio_raw              13211  0 
snd                    79041  11 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore              15091  1 snd
vboxguest             235498  7 vboxsf
parport_pc             32866  0 
drm                   241971  2 vboxvideo
i2c_piix4              13301  0 
snd_page_alloc         18529  2 snd_intel8x0,snd_pcm
mac_hid                13253  0 
lp                     17799  0 
parport                46562  3 ppdev,parport_pc,lp
usbhid                 47238  0 
hid                    99636  1 usbhid
e1000                 108589  0

gkb0986

Posted 2013-10-23T19:29:19.987

Reputation: 191

Answers

0

This might just be a bug in VirtualBox, but it did take me a lot of time to figure out what was going wrong. The fact that the same network interface eth0 wasn't working in two different guest operating systems was the clue. The easiest way to get the interface to work again is to do the following sequence of steps:

  1. Remove the persistent rules for naming the network interfaces when the networking service starts (/etc/udev/rules.d/*net-rules for Ubuntu)
  2. Restore default settings for the network interface configuration file (/etc/network/interfaces for Ubuntu)
  3. Restart the networking service (/etc/init.d/networking restart)

This article pointed me in the right direction.

What’s happening here is that when you clone your VM, VirtualBox apply a new MAC Address to your network interfaces but they don’t update the linux configuration files to mirror these changes and so the kernel doesn’t firstly can’t find or start the interface that matches it’s configuration (with the old MAC Address) and it finds a new interface (the new MAC Address) that it has no configuration information for. The result is that only your networking service can only start the loopback networking interface and eth0 is dead.

gkb0986

Posted 2013-10-23T19:29:19.987

Reputation: 191

What do you mean by "Restore default settings for the network interface configuration file (/etc/network/interfaces for Ubuntu)" ? – lord_t – 2014-09-05T09:13:16.243

I presume you'd backup the network interface configuration somewhere safe before you try to add a host-only network. Or you could use a vanilla network interface configuration that's shared online. Here's an example.

– gkb0986 – 2014-09-05T14:57:30.967