15

My host is a freshly installed Ubuntu 2013.04, wireless network access worked out-of-the-box so I don't have any strange network configuration.

In VirtualBox 4.2.10, with default (NAT) settings, I installed CentOS 6.4 minimal.
Immediately after install, the first thing I did was ping 173.194.38.98 (google) and I a told connect: Network is unreachable.

I tried running /etc/init.d/network start as root, no joy.
I downloaded a VM image and tried it: exact same problem.

When I installed Ubuntu and Windows VMs, they are able to access the Internet without any problem.
What's wrong with this one?

On the VM:

enter image description here

On the host (values never change, except byte counts):

eth0      Link encap:Ethernet  HWaddr f0:de:f1:c0:ad:b3  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:f3900000-f3920000 

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:65536  Metric:1
          RX packets:32272 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32272 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4263162 (4.2 MB)  TX bytes:4263162 (4.2 MB)

wlan0     Link encap:Ethernet  HWaddr 60:d8:19:c9:42:59  
          inet addr:192.168.0.67  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::62d8:19ff:fec9:4259/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1221151 errors:0 dropped:0 overruns:0 frame:0
          TX packets:845193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1438957835 (1.4 GB)  TX bytes:133904229 (133.9 MB)

Note: Similar to this question but switching from NAT to Bridge is not a solution I find acceptable.

3
  • Have you looked at your host network adapter, does it change when the VM comes online? Is it wireless by any chance (had troubles with that myself)?
    – Anthon
    Jun 13, 2013 at 10:29
  • @Anthon: I restart while watching, and the result of ifcongig -a never change except byte counts. Yes, I am on wireless. Jun 13, 2013 at 11:21
  • I thought it was the wireless that could be a problem (I never got that to work when I tried, but that is only with bridged mode).
    – Anthon
    Jun 13, 2013 at 12:53

2 Answers 2

43

To get Centos to run on Virtual Box, in /etc/sysconfig/network-scripts/ifcfg-eth0:

DEVICE=eth0  
BOOTPROTO=dhcp  
ONBOOT=yes

You might need to reboot.

3
  • 6
    my problem was ONBOOT=false and when I change it to true I get ride of this problem
    – ali
    Nov 9, 2015 at 17:23
  • 10
    "ONBOOT=yes" fixed it for me. For me though, the ethernet interface was called enp0s3 rather than eth01. So the file where I made this change was /etc/sysconfig/network-scripts/enp0s3. Mar 11, 2018 at 23:40
  • On CentOS 8, running sudo systemctl restart NetworkManager after the edit avoids having to reboot.
    – dim
    Jun 29, 2020 at 18:41
0

Issues with udev

See my answer to this question: Is VMWare causing my Linux host to lose network connectivity?. In general when your network shows up with eth1 instead of eth0 bells should be going off (at least in CentOS 6.x). It usually means that the ethernet NIC is under the control of NetworkMangaer or udev is messing up the detection of your NIC as eth0.

I usually start by looking at the rules.d directory of udev:

# /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

You want to make sure that only one entry exists in this file. If there are multiple, then you'll need to manually clean up this file, so that there is only a single entry and that it's pointing to eth0.

Issues with NetworkManager

The other thing you'll need to take a look at is how NetworkManager is set up. Again, check out this other Unix & Linux quesiton: CentOS no network interface after installation in VirtualBox. I provided an answer on that question as well which shows you the steps for manually setting up a wired network using NetworkManager.

Incidentally, NetworkManager is now the default setup for networking when doing installations of CentOS 6.x!

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