CentOS 7 ens33 / eth0 not starting

Make sure ONBOOT=”yes” is in /etc/sysconfig/network-scripts/ifcfg-eth0. If you’re using NetworkManager, make sure that service starts on boot (chkconfig NetworkManager on), otherwise, if you’re using the old network service, make sure it starts on boot (chkconfig network on).


Why the default eth0 interface is down by default on CentOS?

Edit /etc/sysconfig/network-scripts/ifcfg-$IFNAME. Change the ONBOOT line’s value to yes.

$IFNAME will be eth0 on many EL6 boxes, but on EL7 and EL6 boxes using the Consistent Network Device Naming scheme, it might be something else, like en3p1. Use the command ip link to get a list of network interfaces, including the ones that are currently down.

In your future installs, pay more attention. You blew past an option in the network configuration section that let you tell it to bring the interface up on boot. This on-boot option is off by default in EL6 and EL7, whereas in previous versions, it was on by default.

To make the network interface come up on first boot at install time in EL7, go to the Configure → General tab in the network configuration screen, then check the box labeled Automatically connect to the network when available.

As to why they changed this, I’d guess security reasons. It gives you a chance to tighten things down a bit from the default setup before bringing up the network interface for the first time.