Scenario:
- You are running your CentOS virtual machine on XenServer with a Static IPv4 IP-Address.
- All of sudden your CentOS system loses network connectivity. Upon checking you notice that none of the Network adapters are detected. The IP-address assigned gets allocated to other systems on the network.
- Upon attempting to run command ‘service network restart’, you encounter error message: Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization. [FAILED]
- You notice that
- Same error persists even when you add more NICs to the system
- Same error persists even when you remove or manually update MAC address of eth0
- There doesn’t exists file: /etc/udev/rules.d/70-persistent-net.rules
- You completely recreates the /etc/sysconfig/network-scripts/ifcfg-eth0 file with MAC address that matches the new NIC MAC Address, IP address that is not in use
- You are running a minimal version of the CentOS that doesn’t even have the tools like lspci, system-config-network, system-config-network-tui installed
- Running ifconfig command only lists the Local Loop Back (lo) interface and no other NICs are reported
- The VM is missing the Citrix XenServer tools, you go ahead have it installed on the VM
Solution:
Despite attempting to delete, update, restore the /etc/sysconfig/network-scripts/ifcfg-eth0 file, the error persists. In my case, when I checked the system network config using below command I noticed that network 0, 1 are set to off.
[root@VM001 ~]# chkconfig –list | grep -i net
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@VM001 ~]#
Then, I attempted to add the third NIC, then the system started to locate the eth0 and then reported it back in ifconfig command. Then I updated the eth0 config file with new IPv4 address that is not in-use and then system started to communicate on the network.
References: