Ubuntu virtualbox guest does not get ipv4 in bridged mode

The first answer to this seems a little over-complex to me. The following should work. Open the guest machine and do the following:

You might want to disable it right from the boot. For this purpose, open:

/etc/default/grub

with your favorite text editor with root access:

i.e.

gksu gedit /etc/default/grub

or if you prefer to work with command line only:

sudo nano /etc/default/grub

In this file, find this line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

and change it to:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

Save the file and update GRUB by running:

sudo update-grub

If you tried the sysctl method:

See the following question/highest voted answer, because you can set ip6 values to 0 and if you do not init sysctl as part of boot it would ignore it anyway (read the default ip6 value after you set everything to 1 to disable if the system reports 0 you need to get sysctl running):

How to disable IPv6 in Ubuntu 14.04?

I like my method because it disables ip6 at boot, so nothing tries to go the ip6 route during boot (some may even get errors with it enabled at boot and disabled inside the OS itself). It's also only a small adjustment to one line in one file making things really easy, and you are not forced to sacrifice line speed as you would be doing if using less than the 100 MHz Full Duplex or 1000 MHz Full Duplex (if you have Gig it is the latter if 100 Meg router or switch it will be the former).


In the Settings for the VirtualBox VM, go to Network and then drop down the Advanced settings in the right-hand pane and check the "Adapter Type." The default appears to be "Intel PRO/1000 MT Desktop (82540EM)." With that adapter type, I had the exact same problem, so I tried changing the Adapter Type to "Intel PRO/1000 MT Server (82545EM)" and then updating the /etc/network/interfaces file (if you change the adapter type before you install Ubuntu Server it should create the interfaces file with the correct info) and it now works fine. The version of VBox I'm using is 5.1.28 r117968 (Qt5.6.2) on a Windows 10 host and using Bridged networking.


The problem is different, but the solution is the same.

Start with 10Mbps, half duplex and work upwards to 10Mbps FD, 100Mbps HD, ... until the problem starts. Then go down one notch and leave it at that speed.

First, install ethtool (if already installed you will just get a warning that the latest version is already installed)

sudo apt-get install ethtool

Now:

  1. Type the following command (and test them one by one)

    sudo ethtool --change eth0 speed xxx duplex yyy autoneg off

    where xxx = 10, 100 or 1000 and yyy = half or full.

    So start with 10 half, 10 full, 100 half, ...

  2. Do an ifconfig to check whether you got an IP address.

  3. Go back to 1 until it stops working and use the previous values that still worked to:

  4. To make the change permanent, execute the following command:

    sudo nano /etc/network/interfaces

    and type at the pre-up section:

    pre-up /usr/sbin/ethtool --change eth0 speed xxx duplex yyy autoneg off

Note the full entry posted by OP:

auto eth0
iface eth0 inet dhcp
    pre-up ifconfig $IFACE up
    pre-up ethtool -s $IFACE speed 100 duplex full autoneg off